Skip to content

K4ZUM4KIRYU/PenTestToolBox

Repository files navigation

🖋️ Auteur

AL ESTWANI Abdulrahman - Master 1 2023-2025 - Groupe : B

❓ Pour QUI ?

"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."

🫀 EvilCyberBunckerToolBox

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.

🫵 Vue d'ensemble

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.

📚 Table des Matières

🚀 Caractéristiques

  • 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.

🔐 Fonctions Clés

  • 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.

⚙ Installation

Prérequis

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

Guide d'installation

Suivez ces étapes pour configurer la boîte à outils de tests de pénétration sur votre machine :

1. Clonez le dépôt :

git clone https://github.com/K4ZUM4KIRYU/PenTestToolBox.git

2. Naviguez vers le répertoire du projet :

cd your-penetration-testing-toolbox-directory

3. Installez les dépendances :

pip install -r requirements.txt

📜 Modules

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é.

📜 Documentation des Modules

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".

  1. 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.

  1. 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.

  1. 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.

  1. É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.

  1. É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.

  1. É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.

  1. 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.

  1. 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.

📖 Application

É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.

image

É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 :

  • Commande ls pour lister les fichiers et répertoires 5-13-2024 (23-17-34)

  • Exécution et lancement de la commande suivante :

    pyinstaller --onefile --icon=Icon.ico --name evilcyberbunckertool main.py
    

    5-13-2024 (23-19-51)

  • Lancement de l'application construite : 5-13-2024 (23-22-28)

  • PRÊTE À L'EMPLOI :
    L'application est maintenant prête à l'emploi, profitez du piratage éthique et des tests de pénétration 😄 5-13-2024 (23-36-10)

🐳 Docker Integration

1. Introduction

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.

2. Installation

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.

3. Configuration

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

4. Utilisation

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

5. Instructions Docker

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.

6. Docker sous Windows

image image image image image

7. Les Images Docker

2024-05-09 01 27 17 Images - Docker Desktop

8. Docker sous Kali Linux

image image image

9. GIF qui montre le fonctionnement de l'application de la toolbox sous Docker-Windows

5-09-2024 (01-26-13)

10. GIF qui montre le fonctionnement de l'application de la toolbox sous Docker-Linux

5-09-2024 (01-28-28)

🤝 Contribution

Intéressé à améliorer PenTest Toolbox ? Voici comment vous pouvez aider :

  1. Forkez le dépôt sur GitHub.
  2. Clonez le projet sur votre propre machine.
  3. Commitez des modifications sur votre propre branche.
  4. Poussez votre travail vers votre fork.
  5. Soumettez une Pull Request afin que nous puissions examiner vos améliorations.

📄 Licence

Ce projet est sous licence MIT - voir le fichier LICENSE.md pour les détails.

👏 Crédits

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.

📬 Contact

N'hésitez pas à contacter pour plus d'informations :

About

PenTest Tool Box School Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published