Nmap Scripting Engine
hackingDéfinition
Le Nmap Scripting Engine (NSE) est un composant puissant de Nmap qui permet d'étendre ses capacités avec des scripts Lua automatisant des tâches de découverte réseau, d'énumération de services, de détection de vulnérabilités et parfois d'exploitation légère. NSE transforme Nmap d'un simple scanner de ports en une plateforme d'audit réseau polyvalente.
La bibliothèque NSE inclut des centaines de scripts organisés en catégories : auth (tentatives d'authentification par défaut), brute (force brute sur les services), default (scripts exécutés avec -sC), discovery (énumération de services), dos (tests de déni de service - à utiliser avec précaution), exploit (exploitation de vulnérabilités connues), fuzzer (test de robustesse), intrusive (scripts agressifs modifiant l'état du système), malware (détection de backdoors et malwares), safe (sans risque), version (détection de versions), et vuln (détection de vulnérabilités).
Des scripts particulièrement utiles en pentest incluent : http-enum (énumération de répertoires web), smb-enum-shares et smb-enum-users (énumération SMB), ssl-heartbleed (détection de Heartbleed), vulners (corrélation des versions avec la base CVE Vulners.com), ftp-anon (test de l'accès anonyme FTP), dns-zone-transfer (tentative AXFR), http-shellshock (test Shellshock), ms17-010 (détection EternalBlue/WannaCry).
La commande nmap -sV --script vuln cible exécute tous les scripts de détection de vulnérabilités sur les services découverts, souvent suffisant pour identifier des vecteurs d'exploitation évidents. Les scripts NSE sont écrits en Lua et peuvent être personnalisés ou créés pour des besoins spécifiques, ce qui en fait une plateforme extensible pour les pentesters avancés.
Fonctionnement
NSE s'exécute après la découverte des services. Chaque script déclare les types de ports et services sur lesquels il s'exécute, les actions qu'il effectue (connexion, envoi de requêtes, analyse de réponses), et retourne des données structurées intégrées dans la sortie Nmap. Le moteur gère l'exécution parallèle des scripts et la gestion des ressources (connexions simultanées). La commande nmap --script-help nom_script affiche la documentation de chaque script.
Exploitation offensive
Le script vulners corrèle automatiquement les versions détectées avec la base de données Vulners pour lister les CVE applicables avec leurs scores CVSS. Les scripts de la catégorie exploit peuvent directement exploiter certaines vulnérabilités (ex: ms17-010 pour EternalBlue). Les scripts brute effectuent de la force brute sur les services (HTTP, FTP, SSH, SMB) avec des dictionnaires configurables.
Détection et mitigation
Les scripts NSE sont souvent plus verbeux que les scans standards et génèrent des patterns de trafic reconnaissables par les IDS. Les règles Snort/Suricata incluent des signatures pour les scripts NSE les plus courants. La désactivation des services inutiles, l'authentification forte sur tous les services exposés, et le patching régulier réduisent l'impact des vulnérabilités que NSE peut détecter.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h