BOOK THIS SPACE FOR AD
ARTICLE ADNuclei est un outil puissant conçu pour l’automatisation des tests de sécurité. Il s’appuie sur des templates personnalisables pour détecter une large gamme de vulnérabilités, que ce soit dans les systèmes web, les API, ou même les fichiers APK. Ce cheat sheet vous guidera à travers les principales options de Nuclei, son intégration avec des outils comme Burp Suite, ainsi que des exemples pratiques pour différents scénarios d’analyse de sécurité.
L’option -as permet à Nuclei d’identifier la pile technologique utilisée par la cible, puis de sélectionner les modèles appropriés étiquetés avec ces mots-clés spécifiques.
Exemple d’utilisation :
nuclei -u https://my.target.site -asNuclei peut être utilisé pour scanner des fichiers APK Android. En décompilant l’APK avec apktool, vous pouvez ensuite scanner les fichiers décompilés à la recherche de vulnérabilités spécifiques.
Commandes
apktool d exemple.apkecho exemple/ | nuclei -t /home/kali/.local/nuclei-templates/mobile-nuclei-templates/
Vous pouvez cibler des vulnérabilités spécifiques selon leur gravité, allant de critiques à faibles.
Exemple :
nuclei -u https://example.com -s critical,high,medium,lowL’option -tags dans Nuclei permet de filtrer les tests en fonction de catégories spécifiques de vulnérabilités. Chaque modèle de test dans Nuclei est associé à des “tags” qui décrivent quel type de vulnérabilité il cherche à identifier, comme auth (authentification), xss (Cross-Site Scripting), sqli (injections SQL), etc.
Exemple :
Si vous voulez uniquement tester les failles d’authentification (comme des erreurs dans les systèmes de connexion ou la gestion des sessions), vous pouvez utiliser le tag auth :
nuclei -u https://example.com -tags auth -silentCela signifie que Nuclei exécutera seulement les tests liés aux failles d’authentification, en ignorant les autres types de vulnérabilités.
Autres balises possibles :
xss : Pour cibler les vulnérabilités Cross-Site Scripting.sqli : Pour tester les injections SQL.lfi : Pour vérifier les inclusions de fichiers locaux.En résumé, -tags vous permet de focaliser vos scans uniquement sur les types de vulnérabilités que vous voulez tester, comme l’authentification, pour rendre les tests plus rapides et plus précis.
Vous pouvez automatiser l’enchaînement de plusieurs outils de sécurité comme Subfinder, Httpx et Nuclei pour créer un workflow complet d’analyse.
Exemple pour les vulnérabilités d’exposition de données :
subfinder -d targetdomain.site -silent | httpx | nuclei -t http/exposures/Exemple avec vérification des statuts HTTP et des gravités spécifiques :
subfinder -d example.com | httpx --status-code -mc 200 | nuclei -severity critical,high,medium,lowL’intégration de Nuclei avec Burp Suite permet de lancer des scans directement depuis l’interface Burp et d’analyser les requêtes interceptées avec les templates de Nuclei.
Étape 1 : Installer l’extension Nuclei dans Burp
Téléchargez l’extension Nuclei via le BApp Store de Burp Suite.Une fois l’extension installée, un nouvel onglet Nuclei apparaîtra dans Burp.Étape 2 : Configurer Burp pour utiliser Nuclei
Vous devez spécifier l’emplacement du binaire Nuclei ainsi que les templates.Trouvez le chemin du binaire Nuclei avec la commande suivante :which nuclei
Ajoutez des arguments personnalisés pour que Nuclei route les requêtes via le proxy Burp.Étpe 3 : Exécuter Nuclei depuis Burp
Sélectionnez une URL dans l’historique des requêtes du proxy Burp.Faites un clic droit sur cette requête et sélectionnez Extensions > Intégration Nuclei Burp > Envoyer l’URL au scanner Nuclei.Allez dans l’onglet Nuclei, l’URL sélectionnée sera automatiquement renseignée. Cliquez sur Exécuter l’analyse pour lancer le scan.L’option — threads permet de configurer le nombre de threads utilisés par Nuclei pour exécuter les requêtes en parallèle. Cela améliore la vitesse de scan, surtout lorsque vous traitez de nombreuses URLs.
Exemple :
nuclei -u https://example.com -t templates/ -threads 20Limitation des requêtes et des threads
Vous pouvez contrôler la vitesse de vos scans en limitant le nombre de requêtes par seconde et le nombre de threads simultanés utilisés par Nuclei :
nuclei -l cibles.txt -rl 20 -c 5Cette commande limite Nuclei à 20 requêtes par seconde et permet d’exécuter jusqu’à 5 threads en parallèle, équilibrant ainsi la vitesse d’analyse et la charge sur le serveur cible.
Optimisations
Nuclei propose plusieurs options pour optimiser la performance des scans et gérer les erreurs efficacement.
Définir les délais d’attente
Pour accélérer les scans, vous pouvez ajuster le délai d’expiration des requêtes. Par défaut, ce délai est de 10 secondes, mais vous pouvez le réduire pour des réponses plus rapides :
nuclei -l cibles.txt -timeout 3Cette commande fixe le délai d’expiration à 3 secondes.
Gestion des erreurs et des tentatives
Configurez la gestion des erreurs et les tentatives de nouvelles requêtes. Vous pouvez ignorer les hôtes après un certain nombre d’erreurs ou spécifier le nombre de tentatives pour les requêtes échouées :
nuclei -l cibles.txt -max-host-errors 5nuclei -l cibles.txt -retries 3
Ces commandes indiquent à Nuclei d’ignorer les hôtes après 5 erreurs et de réessayer 3 fois les requêtes qui échouent.
Stratégie de scan
Vous pouvez choisir une stratégie de scan pour gérer la répartition des tests et optimiser l’efficacité :
host-spray : exécute tous les modèles sur une seule cible avant de passer à la suivante.template-spray : exécute un modèle sur plusieurs cibles avant de passer au suivant.nuclei -l cibles.txt -strategy host-sprayCette commande applique la stratégie host-spray, où tous les tests sont exécutés sur chaque cible avant de passer à la suivante.
Pour cibler les API avec Nuclei, on utilise l’option -tags afin de filtrer les modèles adaptés aux tests d’API. Cela permet de détecter des vulnérabilités spécifiques aux interfaces de programmation, comme des problèmes d’authentification, d’exposition de données sensibles, ou des failles de sécurité dans les endpoints.
Si vous découvrez des clés API ou des tokens durant vos scans, Nuclei vous permet également de tester leur validité à l’aide des templates token-spray. Cela permet de vérifier si les tokens trouvés sont encore actifs et peuvent être exploités. Voici un exemple de commande :
nuclei -t http/token-spray/ -var token=SOMETOKENCette commande teste la validité des tokens trouvés, particulièrement utile lors de l’analyse d’API exposées. Pour approfondir vos connaissances sur la validation et l’exploitation des tokens API, vous pouvez consulter la ressource Keyhacks, qui répertorie différentes techniques de validation et d’attaque de tokens.
Merci.