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

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://example.com

Nuclei Cheatsheet

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

Commande Description
`nuclei -u https://example.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://example.com -severity critical,high`
Filtrer pour ne lancer que les templates de sévérité critique et haute.
`nuclei -u https://example.com -tags cve,rce`
Filtrer par tags pour ne chercher que les CVEs et les RCEs.
`nuclei -u https://example.com -t cves/2021/CVE-2021-44228.yaml`
Utiliser un template spécifique (ex: pour Log4j).
`nuclei -u https://example.com -exclude-tags misc,info`
Exclure les templates avec les tags 'misc' et 'info'.
`nuclei -u https://example.com -json -o resultats.json`
Sauvegarder les résultats au format JSON.
`nuclei -u https://example.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 :