AL ESTWANI Abdulrahman - Master 1 2023-2025 - Groupe : B
"Découvrez le potentiel des tests de sécurité avec une boîte à outils conçue pour les testeurs d'intrusion par des testeurs d'intrusion."
Une collection complète de scripts Python conçue pour mener des tests de pénétration et des évaluations de sécurité. Chaque module est élaboré pour exécuter des tâches spécifiques telles que l'analyse de réseau, l'énumération de répertoires, les évaluations de vulnérabilités et diverses attaques par force brute.
La boîte à outils de tests de pénétration est un ensemble sophistiqué et robuste conçu pour aider les professionnels et les passionnés de cybersécurité à mener des tests de piratage éthique et de pénétration. Développée avec les dernières bibliothèques de cybersécurité en Python, cette boîte à outils est disponible gratuitement sous une licence open source, encourageant la collaboration et l'amélioration communautaires.
L'objectif principal de cette boîte à outils est d'automatiser et d'améliorer le processus de tests de sécurité, garantissant des performances élevées et une précision dans la détection des vulnérabilités à travers les systèmes et les réseaux. De plus, la boîte à outils effectue non seulement des tâches de balayage rapide, mais organise également et présente les résultats dans des formats textuels détaillés pour aider à une compréhension et un rapport faciles.
- 🚀 Caractéristiques
- 🔐 Fonctions Clés
- ⚙ Installation
- 📜 Modules
- 📖 Application
- 🤝 Contribution
- 📄 Licence
- 👏 Crédits
- 📬 Contact
- Support Multiplateforme : Compatible avec les environnements Docker, Linux et Windows, assurant un déploiement flexible sur divers systèmes.
- Techniques de Balayage Avancées : Utilise des méthodologies de cybersécurité de pointe pour une analyse de sécurité profonde et efficace.
- Automatisation des Tâches Routinières : Rationalise les processus de test communs pour économiser du temps et se concentrer sur les vulnérabilités critiques.
- Gestion Détaillée des Résultats et Génération de Rapports : Enregistre automatiquement et catégorise les résultats pour une documentation et une revue approfondies.
- Balayage Complet - De l'empreinte à des balayages de réseau détaillés.
- Analyse de Vulnérabilités - Scripts automatisés pour identifier les vulnérabilités connues.
- Attaques par Force Brute - Outils pour tester la résilience des services FTP et SSH contre les attaques par force brute.
- Conception Modulaire - Utilisez des scripts autonomes ou intégrez-les dans des cadres de test plus grands.
- Facile à Utiliser - Interface en ligne de commande simple, adaptée à l'automatisation et à l'utilisation manuelle.
Avant d'installer la boîte à outils, assurez-vous d'avoir ce qui suit :
- Un système d'exploitation compatible (Docker, Linux, Windows)
- Python version 3.6 ou supérieure
Suivez ces étapes pour configurer la boîte à outils de tests de pénétration sur votre machine :
git clone https://github.com/K4ZUM4KIRYU/PenTestToolBox.git
cd your-penetration-testing-toolbox-directory
pip install -r requirements.txt
La boîte à outils est structurée en plusieurs modules clés :
- footprinting.py : Collecte des données préliminaires sur la cible pour adapter les tests ultérieurs.
- nmap_scan.py : Utilise Nmap pour effectuer des scans de réseau approfondis.
- nmap_cve.py : Utilise des scripts Nmap pour vérifier les vulnérabilités liées aux CVE connus.
- enumerating_system.py : Extrait des configurations de système détaillées et des services actifs.
- dir_subdir_enum.py & web_app_dir_subdir_enum.py : Réalise un balayage exhaustif des répertoires sur les serveurs web.
- ftp_bruteforce.py & ssh_bruteforce.py : Implémente des techniques agressives de craquage de mots de passe.
- main.py : Intègre tous les modules pour un flux de travail de test unifié.
Ici, vous pouvez trouver plus de détails sur chaque module du code avec un exemple d'utilisation si vous souhaitez tester les codes un par un, mais dans ce cas une fonction principale dans chaque code doit être ajoutée, sinon le test ne fonctionnera pas.
Je recommande d'exécuter main.py pour tester le code via par exemple VScode, ou en créant un fichier .exe qui peut être trouvé ci-dessous dans la section "UTILISATION DE L'APPLICATION" "ÉTAPE3".
- Empreinte (
footprinting.py
)
Fonction :
Ce module est conçu pour collecter des informations préliminaires sur un système ou un réseau cible, qui comprend des données accessibles au public pouvant être utiles dans d'autres tests de pénétration.
Paramètres :
--target
: Spécifiez le domaine cible ou l'adresse IP.
Résultat Attendu :
Un rapport contenant diverses informations sur la cible, telles que les détails d'enregistrement de domaine, les adresses IP associées et les listes de répertoires visibles publiquement.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 footprinting.py --target example.com or target IP address
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Scan Nmap (
nmap_scan.py
)
Fonction :
Utilise Nmap pour effectuer des scans complets sur le réseau, identifiant les dispositifs actifs, les ports ouverts et les services en cours sur les hôtes.
Paramètres :
--target
: Réseau cible ou plage IP.--ports
: (Facultatif) Plage de ports à scanner.
Résultat Attendu :
Un résumé détaillé des résultats du scan, incluant les statuts des hôtes, les ports ouverts et les services détectés.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 nmap_scan.py --target 192.168.1.1/24 --ports 1-65535
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Scan CVE Nmap (
nmap_cve.py
)
Fonction :
Intègre le moteur de script de Nmap pour vérifier les cibles pour les vulnérabilités connues associées aux CVE courants.
Paramètres :
--target
: Adresse IP ou nom d'hôte de la cible.
Résultat Attendu :
Une liste de vulnérabilités potentielles, incluant les identifiants CVE et les évaluations des risques.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 nmap_cve.py --target 192.168.1.100
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Énumération du Système (
enumerating_system.py
)
Fonction :
Extrait des informations détaillées sur le système d'exploitation cible, les services en cours et d'autres caractéristiques du système.
Paramètres :
--target
: Adresse IP ou nom d'hôte.
Résultat Attendu :
Un rapport d'énumération complet détaillant la configuration du système, les services actifs et les ports ouverts.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 enumerating_system.py --target 192.168.1.100
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Énumération des Répertoires et Sous-répertoires (
dir_subdir_enum.py
)
Fonction :
Balaye les serveurs web pour découvrir des répertoires et sous-répertoires accessibles qui pourraient contenir des informations sensibles.
Paramètres :
--url
: URL de base de l'application web cible.
Résultat Attendu :
Une liste des répertoires et fichiers découverts, indiquant potentiellement des configurations erronées ou des fuites d'informations.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 dir_subdir_enum.py --url http://example.com
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Énumération des Répertoires d'Application Web (
web_app_dir_subdir_enum.py
)
Fonction :
Cible spécifiquement les applications web pour énumérer des répertoires et des fichiers souvent négligés dans les configurations de sécurité.
Paramètres :
--url
: URL de l'application web.
Résultat Attendu :
Détails des répertoires, sous-répertoires et fichiers trouvés sur le serveur d'application web.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 web_app_dir_subdir_enum.py --url http://example.com
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Brute Force FTP (
ftp_bruteforce.py
)
Fonction :
Tente de percer les services FTP en effectuant des attaques par force brute utilisant une liste de credentials courants.
Paramètres :
--host
: Adresse du serveur FTP.--username
: Nom d'utilisateur pour tenter l'attaque par force brute.
Résultat Attendu :
Confirmation si l'accès a été obtenu en utilisant l'un des credentials fournis en utilisant un ensemble de listes de mots pour les noms d'utilisateur et les mots de passe.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 ftp_bruteforce.py --host 192.168.1.100 --username admin
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
- Brute Force SSH (
ssh_bruteforce.py
)
Fonction :
Engage des attaques par force brute contre des serveurs SSH pour tester la robustesse de la sécurité des mots de passe.
Paramètres :
--host
: Adresse du serveur SSH.--username
: Nom d'utilisateur ciblé dans l'attaque par force brute.
Résultat Attendu :
Résultat indiquant le succès ou l'échec de l'accès au serveur SSH avec les credentials testés.
Exemple d'utilisation :
Pour tester individuellement chaque code, veuillez ajouter la boucle principale à la fin de chaque code module.py
.
python3 ssh_bruteforce.py --host 192.168.1.100 --username root
Sinon, vous pouvez les exécuter en lançant uniquement le main.py qui inclut toutes les fonctions et modules combinés en un seul code Python exécutable.
Étape 1 : Clonez le dépôt
Pour cloner le dépôt, exécutez la commande suivante :
git clone https://github.com/K4ZUM4KIRYU/PenTestToolBox.git
Étape 2 : Naviguez vers le Répertoire d'Installation
Après avoir cloné le dépôt, naviguez vers le répertoire installé et continuez vers le répertoire "Codes". Ici, vous trouverez tous les fichiers de programme et de code Python.
Étape 3 : Construisez l'Application
Ouvrez CMD ou PowerShell sur un système Windows, ou Terminal sur un système Linux. Utilisez la commande suivante pour construire l'application :
pyinstaller --onefile --icon=Icon.ico --name evilcyberbunckertool main.py
Explication de la Commande :
pyinstaller:
Cet outil compile les applications Python en exécutables autonomes.--onefile:
Crée un fichier exécutable unique à partir de tous les fichiers de code.--icon:
Définit une icône personnalisée pour l'application, spécifiée par un fichier .ico.--name:
Nomme l'application compilée. Dans cet exemple, elle est nommée evilcyberbunckertool.main.py:
C'est le script principal contenant le point d'entrée de l'application. La modification de ce nom de fichier dans la commande peut entraîner des erreurs de construction.
Exemple de comment exécuter :
-
Exécution et lancement de la commande suivante :
pyinstaller --onefile --icon=Icon.ico --name evilcyberbunckertool main.py
-
PRÊTE À L'EMPLOI :
L'application est maintenant prête à l'emploi, profitez du piratage éthique et des tests de pénétration 😄
Cette application offre une suite d'outils de sécurité conçue pour le balayage de réseaux, l'énumération de systèmes et l'évaluation des vulnérabilités. Elle est idéale pour les professionnels et les passionnés de cybersécurité qui ont besoin de réaliser des analyses de sécurité détaillées et des évaluations.
Pour exécuter cette application, vous aurez besoin de Python et Docker installés sur votre machine :
- Installer Python : Téléchargez et installez Python depuis python.org.
- Installer Docker : Téléchargez et installez Docker depuis docker.com.
Clonez le dépôt et installez les dépendances Python nécessaires :
git clone https://github.com/K4ZUM4KIRYU/PenTestToolBox.git
cd nomdevotrerepertoire
pip install -r requirements.txt
Voici comment utiliser les différents scripts inclus dans l'application :
- python main.py # Point d'entrée principal de l'application
- python nmap_scan.py # Effectuer un scan nmap
- python ftp_bruteforce.py # Bruteforce un serveur FTP
- python dir_subdir_enum.py # Bruteforcing de répertoire
- python enumerating_system.py # Énumération de système
- python footprinting.py # Empreinte de système/collecte de données
- python nmap_cve.py # Réaliser un scan nmap pour la détection de CVE
- python ssh_bruteforce.py # Bruteforce du serveur SSH
- python web_app_dir_subdir_enum.py # Bruteforce des répertoires/sous-répertoires WebApp
Construisez l'image Docker et exécutez-la en utilisant les commandes suivantes :
docker run -it votrenomimage
Si l'image Docker est hébergée sur un registre :
docker run -it votrenomutilisateur/votrenomimage:latest
La commande pour télécharger une image Docker sur votre machine à partir d'un registre Docker implique de spécifier le nom de l'image et éventuellement la tag (version) que vous souhaitez télécharger. Si vous avez poussé votre image Docker sur Docker Hub ou un autre registre Docker, vous utiliseriez généralement le format de commande suivant :
docker pull [nomutilisateur]/[nomimage]:[tag]
Voici comment vous pouvez l'utiliser, en supposant :
Votre nom d'utilisateur Docker Hub est k4zum4kiryu98.
Votre image Docker est nommée evilcyberbunckertool.
Vous utilisez la balise la plus récente ou v1.0 pour la version la plus récente de l'image.
docker pull k4zum4kiryu98/evilcyberbunckertool:v1.0
N'hésitez pas à voir en bas les images pour plus de clarifications.
Intéressé à améliorer PenTest Toolbox ? Voici comment vous pouvez aider :
- Forkez le dépôt sur GitHub.
- Clonez le projet sur votre propre machine.
- Commitez des modifications sur votre propre branche.
- Poussez votre travail vers votre fork.
- Soumettez une Pull Request afin que nous puissions examiner vos améliorations.
Ce projet est sous licence MIT - voir le fichier LICENSE.md pour les détails.
Un merci spécial à tous les contributeurs qui ont investi leur temps et leur expertise pour améliorer la boîte à outils de tests de pénétration.
N'hésitez pas à contacter pour plus d'informations :
- GitHub : @K4ZUM4KIRYU
- Email : abdulrahman.al-estwani@supdevinci.edu.fr