Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
blackhat-python3 — Code source du livre « Black Hat Python » de Justin Seitz. Le code a été entièrement converti en Python 3, reformaté pour respecter les normes PEP8 et refactorisé pour éliminer les problèmes de dépendance liés à l'implémentation de bibliothèques obsolètes. | Kitploit
Outils/GitHubGitHub/eonraider/blackhat-python3
OSINT (Renseignement de Sources Ouvertes)Analyse de CodeExploitationAnalyse ForensiquePost-ExploitationSécurité WebSécurité RéseauAnalyse de MalwareCryptographieTests d'IntrusionApprentissage et Éducation
2.4k45568il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
eonraider/blackhat-python3

blackhat-python3

Code source du livre « Black Hat Python » de Justin Seitz. Le code a été entièrement converti en Python 3, reformaté pour respecter les normes PEP8 et refactorisé pour éliminer les problèmes de dépendance liés à l'implémentation de bibliothèques obsolètes.

Voir le dépôt

Code source de 'Black Hat Python' en Python 3

Code source du livre "Black Hat Python" de Justin Seitz. Le code a été entièrement converti en Python 3, reformaté pour se conformer aux normes PEP8 et refactorisé pour éliminer les problèmes de dépendance liés à l'implémentation de bibliothèques obsolètes.

Bien que de nombreuses optimisations aient pu être implémentées dans le code source présenté tout au long du livre, le code a été laissé aussi inchangé que possible afin que le lecteur puisse appliquer ces modifications à sa guise. Le code tel quel nécessite des efforts de refactorisation sérieux allant des docstrings au typage et à la gestion des exceptions, sans oublier des améliorations comme les gestionnaires de contexte, mais ces problèmes en eux-mêmes peuvent profiter au lecteur s'il a l'intention de les implémenter. Il présente également de nombreux bogues provenant de l'indentation qui ont été corrigés pour éviter des erreurs fatales lors de l'exécution.

Une conversion similaire à celle-ci a été mise à disposition par moi-même sur le code source du livre "Violent Python", de TJ O'Connor. Jetez-y un coup d'œil ici si vous ne l'avez pas encore fait.

Utilisation

Choisissez simplement un répertoire (DIR) dans lequel cloner le projet avec git clone, créez un nouvel environnement virtuel ou venv pour celui-ci (recommandé) et installez les dépendances avec 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

Remarques

  • Certains listings présentés dans le livre manquaient dans le dépôt de code de l'auteur disponible sur le site de "No Starch Press" et ont été ajoutés à leurs chapitres respectifs. Une convention de nommage plus précise a été appliquée aux fichiers lorsque nécessaire afin de les relier au code présenté dans le livre.
  • Des bogues mineurs qui généraient des avertissements de la part de l'interpréteur ont été corrigés dans tout le code sans en altérer les caractéristiques.
  • Les fichiers auxiliaires nécessaires au fonctionnement du code ont été ajoutés à leurs chapitres respectifs.
  • En note personnelle, il aurait été possible pour l'auteur d'écrire un code plus propre sans compromettre la rapidité d'implémentation requise pour les engagements de hacking éthique. Pourquoi il a choisi de ne pas le faire reste une raison inconnue.

Refactorisation

Corrections critiques de bogues qui ont dû être apportées pour implémenter correctement le code source et éviter des erreurs fatales :

  • chapter02/bh_sshserver.py nécessitait la clé RSA contenue dans le fichier test_rsa.key, désormais incluse dans le répertoire correspondant.
  • chapter03/sniffer_ip_header_decode.py, sniffer_with_icmp.py et scanner.py avaient tous de sérieux problèmes dans la définition des tailles de paquets IP et de portabilité entre architectures 32/64 bits en raison de problèmes dans l'implémentation de struct. Plus d'informations sur ces problèmes dans ce fil sur Stack Overflow.
  • chapter03/scanner.py utilisait la bibliothèque netaddr, qui n'est plus maintenue et présente de nombreuses incompatibilités avec Python 3. Pour cette raison, le code a été refactorisé et utilise désormais le module ipaddress de la stdlib de Python.
  • chapter04/arper.py et mail_sniffer.py utilisaient la bibliothèque scapy, qui n'est pas compatible avec Python 3. Pour cette raison, le code a été refactorisé et utilise désormais la bibliothèque kamene.
  • chapter04/pic_carver.py utilise désormais la bibliothèque opencv-python au lieu de cv2. Le module "cv2.cv" était obsolète et a été remplacé. Le paramètre "cv2.cv.CV_HAAR_SCALE_IMAGE" du code original a été remplacé par "cv2.CASCADE_SCALE_IMAGE" à cause de ce commit.
  • chapter05/content_bruter.py nécessitait une liste de mots pour fonctionner. Elle a été ajoutée au chapitre sous all.txt.
  • chapter05/joomla_killer.py nécessitait une liste de mots pour fonctionner. Elle a été ajoutée au chapitre sous cain.txt.
  • chapter06/bhp_bing.py, bhp_fuzzer.py et bhp_wordlist.py ont été reformatés pour se conformer à PEP8, bien que certains avertissements continueront d'être déclenchés en raison de la nécessité de conformer les noms de classes à la casse camel dans cette application spécifique sur Burp Suite.
  • chapter06/jython-standalone-2.7.2.jar est disponible en tant que version plus récente du fichier par rapport à celle présentée dans le livre.
  • chapter07/git_trojan.py a été refactorisé pour remplacer la bibliothèque imp (maintenant obsolète) par types. Une structure de sous-répertoires avec les fichiers de configuration nécessaires a été implémentée comme indiqué dans le livre. La variable "trojan_config" manquait du chemin relatif vers le sous-répertoire config. Un appel à la méthode "to_tree" a été ajouté à la ligne 60 pour éviter une exception AttributeError générée par le code original. Des instructions sur la façon de générer un jeton d'accès au lieu d'utiliser son mot de passe en cas d'utilisation de 2FA ont été incluses en commentaires.
  • chapter08/keylogger.py nécessite la bibliothèque PyHook pour fonctionner. Un fichier wheel a été inclus avec la version 1.6.2. Si nécessaire, d'autres versions peuvent être téléchargées depuis ici.
  • chapter09/ie_exfil.py générait des erreurs en raison de la gestion de la variable plaintext (qui peut apparaître comme une chaîne de caractères ou une chaîne binaire) lorsqu'elle était transmise à la fonction "encrypt_string". De plus, l'utilisation de la bibliothèque base64 a été corrigée. Contribution de Enraged dans ce commit.

Traductions

Les contributions dans d'autres langues peuvent être consultées ici :

  • Traduit en turc par Bedirhan Budak

Contribution

Par bon sens, essayez d'abord de discuter du changement que vous souhaitez apporter à ce dépôt via une issue.

  1. Assurez-vous que les modifications que vous souhaitez introduire mènent effectivement à une demande de tirage (pull request). La modification d'une ou deux lignes devrait plutôt être demandée via une issue.
  2. Si nécessaire, mettez à jour le fichier README.md avec les détails relatifs aux modifications de la structure du projet.
  3. Assurez-vous que les messages de commit qui incluent les modifications suivent une norme. Si vous ne savez pas comment procéder, voici une excellente référence sur la façon de le faire.
  4. Votre demande sera examinée dès que possible (généralement sous 48 heures).
Télécharger l’outil