Nuclei : Le Scanner de Vulnérabilités à base de Templates

Introduction

Nuclei est un scanner de vulnérabilités rapide, configurable et extrêmement puissant, conçu pour envoyer des requêtes à travers de multiples protocoles en se basant sur des “templates”, et ce, avec une approche centrée sur la flexibilité et la vitesse. Développé par Project Discovery, il est devenu un outil incontournable pour les professionnels de la sécurité.

Nuclei Cover

Repobeats analytics image

🚨 Known Exploited Vulnerabilities (KEV) Coverage

Les templates Nuclei offrent une couverture pour les vulnérabilités activement exploitées dans la nature :

KEV SourceTemplatesDescription
🔴 CISA KEV454CISA Known Exploited Vulnerabilities Catalog
🟠 VulnCheck KEV1449VulnCheck KEV - Enhanced vulnerability intelligence
🟢 Both Sources407Templates covering vulnerabilities in both catalogs

💡 Total unique KEV templates: 1496 - Utilisez la commande nuclei -tags kev,vkev pour scanner les vulnérabilités activement exploitées.

Nuclei Templates Top 10 statistics

TAGCOUNTAUTHORCOUNTDIRECTORYCOUNTSEVERITYCOUNTTYPECOUNT
vuln6468dhiyaneshdk1894http9281info4353file436
cve3587daffainfo905cloud659high2552dns26
discovery3265princechaddha854file436medium2457
vkev1394dwisiswant0805network259critical1555
panel1365ritikchaddha678code251low330
xss1269pussycat0x675dast240unknown54
wordpress1261pikpikcu353workflows205
exposure1141pdteam314javascript92
wp-plugin1103pdresearch275ssl38
osint848iamnoooob263dns23

873 directories, 11997 files.

Documentation Officielle ProjectDiscovery

Pour maîtriser pleinement Nuclei et ses interactions avec l’écosystème cloud, référez-vous systématiquement à la documentation officielle de ProjectDiscovery (https://docs.projectdiscovery.io/home). C’est la mine d’or contenant toutes les spécificités des templates, l’intégration continue, et les cas d’usages avancés.

Qu’est-ce que Nuclei ?

La force de Nuclei réside dans sa simplicité et sa puissance : tout est basé sur des fichiers de templates en format YAML. Ces templates, créés et maintenus par une large communauté, décrivent des séquences de requêtes et des logiques de détection pour des milliers de vulnérabilités, allant de configurations erronées à des exécutions de code à distance (RCE).

Installation de Nuclei

Pour installer Nuclei, la méthode recommandée est d’utiliser Go. Assurez-vous que Go est installé sur votre système, puis exécutez :

go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

N’oubliez pas de mettre à jour les templates régulièrement avec la commande nuclei -update-templates.

Utilisation de base de Nuclei

L’utilisation la plus simple consiste à lancer Nuclei sur une seule cible. Nuclei utilisera automatiquement la collection de templates installée par défaut.

nuclei -u https://ravindra-job.com

Nuclei Usage

Nuclei Cheatsheet

Voici une cheatsheet pour une référence rapide des commandes courantes :

CommandeDescription
`nuclei -u https://ravindra-job.com`
Scanner une URL unique avec tous les templates par défaut.
`nuclei -list liste_urls.txt`
Scanner une liste d'URLs contenues dans un fichier.
`nuclei -u https://ravindra-job.com -severity critical,high`
Filtrer pour ne lancer que les templates de sévériter critique et haute.
`nuclei -u https://ravindra-job.com -tags cve,rce`
Filtrer par tags pour ne chercher que les CVEs et les RCEs.
`nuclei -u https://ravindra-job.com -t cves/2021/CVE-2021-44228.yaml`
Utiliser un template spécifique (ex: pour Log4j).
`nuclei -u https://ravindra-job.com -exclude-tags misc,info`
Exclure les templates avec les tags 'misc' et 'info'.
`nuclei -u https://ravindra-job.com -json -o resultats.json`
Sauvegarder les résultats au format JSON.
`nuclei -u https://ravindra-job.com -rate-limit 50`
Limiter la vitesse à 50 requêtes par seconde.

Où trouver les templates Nuclei ?

La puissance de Nuclei vient de sa communauté. Les templates sont la clé.

  1. Dépôt Officiel Nuclei Templates : La source principale et officielle. C’est la collection de templates que vous téléchargez avec la commande nuclei -update-templates.

  2. Templates Personnalisés : Vous pouvez (et devriez !) écrire vos propres templates pour des vérifications spécifiques à votre entreprise ou pour des vulnérabilités très récentes.

  3. Communauté : De nombreux chercheurs en sécurité partagent leurs templates personnalisés sur GitHub, Twitter et leurs blogs. Une recherche pour “nuclei templates github” révèle de nombreuses pépites.

Se Protéger

Nuclei est un outil de détection. Pour se protéger des failles qu’il découvre, les principes de base de la sécurité s’appliquent :