Toolkit de sécurité offensive à visée pédagogique : une CLI Python modulaire pour la reconnaissance réseau, structurée pour être étendue (moteur d'exploitation, génération de rapports).
⚠️ Projet d'apprentissage. Voir État actuel pour ce qui est réellement implémenté vs. ce qui reste à construire.
pentesting-suite expose une interface en ligne de commande (basée sur Click) regroupant plusieurs modules de test de sécurité. L'architecture est volontairement modulaire pour servir de base d'apprentissage et d'extension.
| Module | Statut | Détail |
|---|---|---|
| Port scanner | ✅ Fonctionnel | Scan TCP connect (socket), parsing de plages (1-1000) et de listes (80,443,8080) |
| Network scanner | ✅ Fonctionnel | Énumération des hôtes d'un réseau en notation CIDR (192.168.1.0/24) |
| CLI | ✅ Fonctionnel | Commandes scan, exploit, full-scan, report, help avec sortie colorée |
| Report generator | 🟡 Basique | Export JSON / texte des données collectées |
| Exploit engine | 🟡 Squelette | Registre extensible (register_exploit) — aucun exploit fourni par défaut |
- Modules d'exploitation concrets (SQLi, XSS, brute force) branchés sur l'
ExploitEngine - Détection de liveness réelle (ping/ARP) dans le
NetworkScanner - Identification de services sur les ports ouverts (banner grabbing)
- Rapports HTML/PDF mis en forme (ReportLab est déjà en dépendance)
- Couverture de tests étendue
- Langage : Python 3.9+
- CLI : Click + Colorama (sortie colorée)
- Réseau :
socket,ipaddress(stdlib), Scapy & Requests en dépendances - Qualité : pytest, black, flake8, isort, mypy
- CI : GitHub Actions
- Packaging :
pyproject.toml/setup.py, image Docker fournie
git clone https://github.com/sfrayan/PENTESTING-SUITE.git
cd PENTESTING-SUITE
pip install -e ".[dev]"docker build -t pentesting-suite:latest .
docker run -it pentesting-suite:latestVoir docs/installation.md et docs/docker-deployment.md pour le détail.
# Scan de ports sur une cible (fonctionnel)
pentest-suite scan --target 192.168.1.10 --ports 1-1000
# Aide
pentest-suite help
pentest-suite scan --helpLes commandes
exploitetfull-scansont présentes mais s'appuient sur des modules encore au stade squelette (voir État actuel).
Plus d'exemples : docs/quickstart.md.
PENTESTING-SUITE/
├── src/pentesting_suite/
│ ├── cli/
│ │ └── cli_main.py # Point d'entrée CLI (Click)
│ ├── scanner/
│ │ ├── port_scanner.py # Scan TCP connect
│ │ └── network_scanner.py # Énumération CIDR
│ ├── exploit/
│ │ └── exploit_engine.py # Registre d'exploits (extensible)
│ ├── reporting/
│ │ └── report_generator.py # Export JSON / texte
│ ├── config/
│ │ └── settings.py
│ └── utils/
│ └── logger.py
├── tests/ # Tests pytest
├── docs/ # installation, quickstart, docker
├── .github/workflows/ # CI (tests.yml)
└── Dockerfile / docker-compose.yml
pip install -e ".[dev]"
pytest- ✅ Autorisé uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite.
- ❌ Illégal : tout accès ou test non autorisé sur des systèmes tiers.
- ✅ Divulgation responsable : signalez les failles découvertes de manière responsable.
- ✅ Conformité : respectez les lois en vigueur dans votre juridiction.
Ce projet est destiné exclusivement à des fins éducatives et à des tests sur systèmes autorisés. L'auteur décline toute responsabilité en cas d'usage abusif.
Les contributions sont les bienvenues — voir CONTRIBUTING.md.
Sous licence MIT — voir LICENSE.
Rayan Said Farah
| @rayan-said-farah | |
| 🐙 GitHub | @sfrayan |