Documentation des commandes
Référence des options, profils et recettes d'SauronSec. Syntaxe générée depuis --help — aucune option inventée. Pour la liste des modules par faille, voir la couverture.
Syntaxe de base
Toute commande suit ce modèle. -y confirme que vous êtes autorisé à tester la cible (obligatoire), -o nomme les fichiers de rapport.
$ python main.py -t <URL> [options] -y -o <rapport>Options générales
| Option | Rôle | Exemple |
|---|---|---|
-t, --target URL | Cible unique | -t https://cible.fr/ |
--targets FICHIER|liste | Plusieurs cibles (1 rapport/cible + récap) | --targets cibles.txt |
-p, --profile NOM | Profil de scan (voir profils) | -p ultra |
-m, --modules k1,k2 | Modules précis (remplace le profil) | -m sqli,xss |
--threads N | Threads workers | --threads 40 |
--rps N | Débit max (requêtes/seconde) | --rps 40 |
--risk 0-100 | Agressivité (wordlists + sondes) | --risk 100 |
--max-time MIN | Budget de temps (0 = illimité) | --max-time 0 |
--depth quick|normal|deep|max | Profondeur de crawl | --depth max |
--no-crawl | Teste uniquement l’URL cible | --no-crawl |
--param-fuzz | Force le fuzzing de paramètres cachés | --param-fuzz |
--waf-check | Détecte seulement un WAF puis quitte | --waf-check |
--resume [FICHIER] | Reprise de scan après coupure | --resume scan.ckpt |
--stealth | Mode discret (débit bas + jitter) | --stealth |
--proxy URL | Proxy (requests + navigateur) | --proxy http://127.0.0.1:8080 |
--browser | Analyse runtime navigateur (DOM-XSS réel, SPA) | --browser |
-y, --yes | Confirme l’autorisation (obligatoire) | -y |
Profils -p
Un profil = un jeu de modules + des réglages par défaut. Du plus discret au plus agressif.
| Profil | Usage |
|---|---|
passive | Le plus discret : recon + en-têtes, pas d’injection agressive. |
default | Équilibré (détection standard). |
deep | Approfondi : crawl profond + fuzz de paramètres. |
recon | Reconnaissance/cartographie (sous-domaines, DNS, ports, WAF, tech…). |
deface | Ciblé défacement (WebDAV, upload, fichiers exposés, webshell…). |
api | Orienté API (specs, GraphQL, JSON, endpoints). |
max | Presque tout, crawl 150 pages. |
ultra | Tout à fond : risk 100, débit max, toutes les sondes. |
Authentification (scan connecté)
Indispensable pour la zone privée (IDOR, contrôle d'accès). Le plus simple : coller un « Copier comme cURL » d'une requête connectée depuis vos DevTools. La session est surveillée et reconnectée automatiquement.
$ python main.py -t https://cible.fr/ -p ultra \
--auth-curl "curl 'https://cible.fr/app' -H 'Cookie: sid=ABC'" -y -o rapportPour confirmer les IDOR inter-comptes, fournissez un second compte via --idor-cookie / --idor-bearer.
Vérification & exploitation
La vérification anti-faux-positif est activée par défaut : chaque faille est rejouée de façon sûre et bornée. --sqlmap confirme une SQLi via un outil indépendant (sans extraction). --exploit extrait une preuve bornée et masquée — autorisation écrite obligatoire.
--verify--no-verify--sqlmap--nuclei--exploit
Rapports & sortie
Formats disponibles : HTML (lisible), PDF (à remettre), JSON (outils/diff), SARIF (CI, GitHub, DefectDojo).
$ python main.py -t https://cible.fr/ -p ultra --format all -y -o rapport_clientRecettes prêtes à l'emploi
Vérifier d’abord s’il y a un WAF (sans scanner)
$ python main.py -t https://cible.fr/ --waf-check -yScan rapide (surface seule)
$ python main.py -t https://cible.fr/ --depth quick -y -o rapportScan standard équilibré
$ python main.py -t https://cible.fr/ -p default -y -o rapportScan authentifié par cookie
$ python main.py -t https://cible.fr/ -p ultra --cookie "sid=ABC; csrf=XYZ" -y -o rapportLe plus puissant (cible autorisée)
$ python main.py -t https://cible.fr/ -p ultra --browser --param-fuzz --max-time 0 --verify --nuclei --format all -y -o rapportMode discret (low-and-slow)
$ python main.py -t https://cible.fr/ --stealth -y -o rapportVia un proxy (Burp)
$ python main.py -t https://cible.fr/ -p deep --proxy http://127.0.0.1:8080 -y -o rapportRappels légaux
-y déclare que vous êtes autorisé à tester la cible. Ne scannez que ce que vous avez le droit de tester. --exploit = exploitation réelle → autorisation écrite obligatoire. Le scanner est en détection seule par défaut : il prouve la faille sans rien extraire.