scrollNmap Scripting Engine

Le Nmap Scripting Engine (NSE) est une puissante fonctionnalité qui permet d'automatiser des tâches complexes lors d'un scan, telles que :

  • L'énumération de services,

  • La détection de vulnérabilités,

  • L'exploitation de failles connues,

  • Ou même des attaques par force brute.

Les scripts sont écrits en Lua arrow-up-rightet sont classés par catégories selon leur usage.


📁 Catégories de Scripts NSE

Catégorie
Description

auth

Recherche d’identifiants valides (authentification).

broadcast

Découverte de services via broadcast.

brute

Attaque par force brute sur les services.

default

Scripts exécutés par défaut avec -sC.

discovery

Collecte d'informations sur les services disponibles.

dos

Tests de vulnérabilités DoS (rarement utilisés car destructifs).

exploit

Exploitation de vulnérabilités connues.

external

Utilisation de services externes.

fuzzer

Envoi de paquets aléatoires pour tester la robustesse des services.

intrusive

Scripts intrusifs pouvant impacter la cible.

malware

Vérifie si le système est infecté.

safe

Scripts sûrs, non destructifs.

version

Complément à la détection de version (-sV).

vuln

Recherche de vulnérabilités connues.


⚙️ Utilisation des scripts

▶ Scripts par défaut

▶ Par catégorie

▶ Scripts définis manuellement


📬 Exemple sur le port SMTP (25)

📊 Résultat :

✅ Ici, le script banner révèle que la cible utilise Postfix sur Ubuntu. ✅ Le script smtp-commands affiche les commandes SMTP activées — utile pour énumérer les utilisateurs par exemple.


🚀 Scan agressif -A

🔍 Ce que fait l'option -A :

  • Détection de services (-sV)

  • Détection du système d’exploitation (-O)

  • Traceroute (--traceroute)

  • NSE par défaut (-sC)

📊 Résultat :

✅ On identifie ici :

  • Le serveur web : Apache 2.4.29

  • L'application utilisée : WordPress 5.3.4

  • L'OS supposé : Linux (96%)


🛡️ Évaluation de vulnérabilités (catégorie vuln)

📊 Exemple de sortie :

✅ Le script vulners fournit les CVE connues pour les services détectés. ✅ http-enum et http-wordpress-users permettent d’énumérer les fichiers et utilisateurs WordPress.


💡 Astuces & Recommandations

  • Combine --script avec -sV pour améliorer la détection.

  • Utilise --script-help <nom> pour avoir la doc d’un script.

  • Tu peux créer tes propres scripts en Lua dans /usr/share/nmap/scripts/.


circle-info

L’utilisation des scripts NSE transforme Nmap en véritable couteau suisse du pentester : détection, exploitation, analyse, tout est possible à condition de bien connaître les bons scripts à utiliser. 🛠️


Use NSE and its scripts to find the flag that one of the services contain and submit it as the answer.

Nous exécutons un scan via un script NSE dont voici le résultat :

Les résultats sont alors enregistrés dans les fichier NSE.*, cela est une bonne pratique vu plus tôt dans le module.

Nous récupérons donc le contenu du fichier /robots.txt :

Nous obtenons alors le flag souhaité :


Last updated