Cheat Sheet : Utilisation de Nuclei pour les Tests de Sécurité et b

4 weeks ago 23
BOOK THIS SPACE FOR AD
ARTICLE AD

Itachix0f

Nuclei 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 -as

Nuclei 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.apk
echo exemple/ | nuclei -t /home/kali/.local/nuclei-templates/mobile-nuclei-templates/

Templates pour Android

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,low

L’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 -silent

Cela 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,low

L’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 20

Limitation 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 5

Cette 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 3

Cette 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 5
nuclei -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-spray

Cette 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=SOMETOKEN

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

Read Entire Article