Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
blackhat-python3 — Quellcode für das Buch "Black Hat Python" von Justin Seitz. Der Code wurde vollständig auf Python 3 konvertiert, gemäß den PEP8-Standards neu formatiert und umgestaltet, um Abhängigkeitsprobleme zu beseitigen, die durch die Verwendung veralteter Bibliotheken entstehen. | Kitploit
Tools/GitHubGitHub/eonraider/blackhat-python3
OSINT (Open-Source-Intelligence)Code-AnalyseExploitationForensikPost-ExploitationWebsicherheitNetzwerksicherheitMalware-AnalyseKryptographie

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Penetrationstests
Lernen & Bildung
GitHubeonraider/blackhat-python3

blackhat-python3

Quellcode für das Buch "Black Hat Python" von Justin Seitz. Der Code wurde vollständig auf Python 3 konvertiert, gemäß den PEP8-Standards neu formatiert und umgestaltet, um Abhängigkeitsprobleme zu beseitigen, die durch die Verwendung veralteter Bibliotheken entstehen.

Repository anzeigen
2.4k45568vor 3 JahrenVon Kitploit geprüft

Python 3 "Black Hat Python" Quellcode

Quellcode für das Buch "Black Hat Python" von Justin Seitz. Der Code wurde vollständig auf Python 3 konvertiert, nach PEP8-Standards neu formatiert und umgestaltet, um Abhängigkeitsprobleme aufgrund der Implementierung veralteter Bibliotheken zu beseitigen.

Obwohl im gesamten Buch viele Optimierungen im Quellcode hätten vorgenommen werden können, wurde der Code so weit wie möglich unverändert gelassen, damit der Leser solche Änderungen nach eigenem Ermessen anwenden kann. Der vorliegende Code benötigt ernsthafte Umgestaltungsbemühungen, die von Docstrings über Type Hints und Fehlerbehandlung bis hin zu Verbesserungen wie Kontextmanager reichen, aber diese Probleme allein können dem Leser zugutekommen, wenn er beabsichtigt, sie umzusetzen. Er enthält auch viele Fehler, die auf Einrückungsprobleme zurückzuführen sind und korrigiert wurden, wenn schwerwiegende Laufzeitfehler vermieden werden sollten.

Eine ähnliche Konvertierung wurde von mir auch für den Quellcode des Buches "Violent Python" von TJ O'Connor bereitgestellt. Schauen Sie es sich hier an, falls Sie es noch nicht getan haben.

Verwendung

Wählen Sie einfach ein Verzeichnis (DIR), in das Sie das Projekt mit git clone klonen, erstellen Sie eine neue virtuelle Umgebung oder venv dafür (empfohlen) und installieren Sie die Abhängigkeiten mit pip install.

user@host:~/DIR$ git clone https://github.com/EONRaider/blackhat-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

Hinweise

  • Einige im Buch vorgestellte Code-Auflistungen fehlten im Code-Repository des Autors auf der "no starch press"-Website und wurden den entsprechenden Kapiteln hinzugefügt. Eine genauere Benennungskonvention wurde bei den Dateien nach Bedarf angewendet, um sie auf den im Buch präsentierten Code zu beziehen.
  • Kleinere Fehler, die Warnungen durch den Interpreter erzeugten, wurden im gesamten Code behoben, ohne seine Eigenschaften zu verändern.
  • Hilfsdateien, die erforderlich waren, um den Code zum Laufen zu bringen, wurden den entsprechenden Kapiteln hinzugefügt.
  • Als persönliche Randbemerkung: Es wäre dem Autor möglich gewesen, saubereren Code zu schreiben, ohne die für ethische Hacking-Einsätze erforderliche Geschwindigkeit der Implementierung zu gefährden. Warum er sich dagegen entschieden hat, bleibt unbekannter Grund.

Umgestaltung

Kritische Fehlerbehebungen, die vorgenommen werden mussten, um den Quellcode ordnungsgemäß zu implementieren und schwerwiegende Fehler zu vermeiden:

  • chapter02/bh_sshserver.py erforderte den in der Datei test_rsa.key enthaltenen RSA-Schlüssel, der jetzt im entsprechenden Verzeichnis enthalten ist.
  • chapter03/sniffer_ip_header_decode.py & sniffer_with_icmp.py & scanner.py hatten alle schwerwiegende Probleme bei der Definition von IP-Paketgrößen und der Portabilität zwischen 32/64-Bit-Architekturen aufgrund von Problemen bei der Implementierung von struct. Mehr zu diesen Problemen in diesem Thread auf Stack Overflow.
  • chapter03/scanner.py verwendete die Bibliothek netaddr, die nicht mehr gewartet wird und viele Inkompatibilitäten mit Python 3 aufweist. Aus diesem Grund wurde der Code umgestaltet und verwendet nun das Modul ipaddress aus der stdlib von Python.
  • chapter04/arper.py & mail_sniffer.py verwendeten die Bibliothek scapy, die nicht mit Python 3 kompatibel ist. Aus diesem Grund wurde der Code umgestaltet und verwendet nun die Bibliothek kamene.
  • chapter04/pic_carver.py verwendet jetzt die Bibliothek opencv-python anstelle von cv2. Das Modul "cv2.cv" war veraltet und wurde ersetzt. Der Parameter "cv2.cv.CV_HAAR_SCALE_IMAGE" aus dem Originalcode wurde durch "cv2.CASCADE_SCALE_IMAGE" ersetzt aufgrund von diesem Commit.
  • chapter05/content_bruter.py benötigte eine Wortliste zum Funktionieren. Sie wurde dem Kapitel unter all.txt hinzugefügt.
  • chapter05/joomla_killer.py benötigte eine Wortliste zum Funktionieren. Sie wurde dem Kapitel unter cain.txt hinzugefügt.
  • chapter06/bhp_bing.py & bhp_fuzzer.py & bhp_wordlist.py wurden nach PEP8 neu formatiert, obwohl aufgrund der Notwendigkeit, Klassennamen in dieser speziellen Anwendung in Burp Suite an CamelCase anzupassen, weiterhin einige Warnungen ausgelöst werden.
  • chapter06/jython-standalone-2.7.2.jar ist als eine aktuellere Version der im Buch präsentierten Datei verfügbar.
  • chapter07/git_trojan.py wurde umgestaltet, um die (jetzt veraltete) Bibliothek imp durch types zu ersetzen. Eine Unterverzeichnisstruktur mit den erforderlichen Konfigurationsdateien wurde wie im Buch beschrieben implementiert. Die Variable "trojan_config" enthielt nicht den relativen Pfad zum config-Unterverzeichnis. Ein Aufruf der "to_tree"-Methode wurde in Zeile 60 hinzugefügt, um eine durch den Originalcode verursachte AttributeError-Ausnahme zu vermeiden. Anleitungen zum Generieren eines Zugriffstokens anstelle der Verwendung des Passworts, falls 2FA verwendet wird, wurden als Kommentare eingefügt.
  • chapter08/keylogger.py benötigt die Bibliothek PyHook zum Funktionieren. Eine Wheel-Datei der Version 1.6.2 wurde beigefügt. Bei Bedarf können andere Versionen von hier heruntergeladen werden.
  • chapter09/ie_exfil.py warf Fehler aufgrund der Behandlung der Variablen plaintext (die als Zeichenkette oder als binäre Zeichenkette auftreten kann), wenn sie an die Funktion "encrypt_string" übergeben wurde. Zusätzlich wurde die Verwendung der Bibliothek base64 korrigiert. Beitrag von Enraged in diesem Commit.

Übersetzungen

Beiträge in anderen Sprachen können hier eingesehen werden:

  • Übersetzt ins Türkische von Bedirhan Budak

Mitwirken

Aus Gründen des gesunden Menschenverstandes versuchen Sie zunächst, die gewünschte Änderung an diesem Repository über ein Issue zu diskutieren.

  1. Stellen Sie sicher, dass die von Ihnen gewünschten Änderungen tatsächlich zu einem Pull Request führen. Die Änderung von einer oder zwei Zeilen sollte stattdessen über ein Issue beantragt werden.
  2. Aktualisieren Sie bei Bedarf die README.md-Datei mit Details zu Änderungen an der Projektstruktur.
  3. Achten Sie darauf, dass die Commit-Nachrichten, die die Änderungen enthalten, einem Standard folgen. Wenn Sie nicht wissen, wie es geht, finden Sie hier eine gute Referenz.
  4. Ihre Anfrage wird so schnell wie möglich überprüft (normalerweise innerhalb von 48 Stunden).
Tool herunterladen