Guide complet de Nmap pour le pentest : commandes essentielles et détection de vulnérabilités

Guide complet de Nmap pour le pentest : commandes essentielles et détection de vulnérabilités

Nmap (Network Mapper) est l'outil de référence pour la découverte et l'audit de réseaux. Que vous soyez analyste red‑team, étudiant en cybersécurité ou administrateur réseau, maîtriser ses options vous permet d’identifier rapidement des hôtes, des ports ouverts, des services vulnérables et même le système d’exploitation cible. Ce guide présente, de façon pédagogique et pratique, les commandes indispensables, les techniques d’évasion, les formats de sortie et les bonnes pratiques de défense, toujours dans le respect du cadre légal (lab autorisé, CTF, engagement signé).

Installation et notions de base

Installation

  • Debian/Ubuntu :
    sudo apt-get update && sudo apt-get install nmap
  • Fedora/CentOS :
    sudo dnf install nmap
  • macOS (Homebrew) :
    brew install nmap
  • Windows : télécharger le programme d'installation officiel.

Notions de base

La syntaxe générale est nmap [options] cible. La cible peut être une adresse IP, un réseau (192.168.1.0/24) ou un nom d’hôte. Nmap possède trois niveaux de privilèges : utilisateur, root (ou administrateur) et privileged (pour les scans SYN). Certaines options (ex. -sS) requièrent les droits administrateur.

Découverte d’hôtes

Avant de scanner les ports, il faut identifier les machines actives. Le ping scan (-sn) envoie des requêtes ICMP, ARP et TCP SYN sur le port 443.

nmap -sn 10.0.0.0/24

Résultat typique :

Host: 10.0.0.12 (srv-web) Status: Up

Scan des ports

TCP connect (-sT)

Utilise l’appel système connect(). C’est le mode le plus simple mais le plus bruyant.

nmap -sT -p 1-1000 10.0.0.12

SYN stealth (-sS)

Envoie un SYN et attend le SYN‑ACK sans établir la connexion complète. Moins détectable, nécessite les droits root.

sudo nmap -sS -p 1-65535 10.0.0.12

UDP (-sU)

Les services UDP sont souvent négligés. Le scan est plus lent car il repose sur les réponses ICMP « port unreachable ».

sudo nmap -sU -p 53,161,500 10.0.0.12

Détection d’OS et de versions

Fingerprinting d’OS (-O)

Nmap compare les TTL, les tailles de fenêtre et les options TCP pour deviner le système d’exploitation.

sudo nmap -O 10.0.0.12

Détection de version (-sV)

Interroge les bannières des services et utilise une base de signatures pour identifier versions et modules.

nmap -sV -p 22,80,443 10.0.0.12

Scripts NSE (Nmap Scripting Engine)

Les scripts permettent d’automatiser des tests de vulnérabilité. Ils sont classés par catégories : vuln, auth, discovery, etc.

Vulnérabilités générales

nmap --script vuln 10.0.0.12

Base de données vulners

Le script vulners interroge la base vulners.com et associe les versions détectées aux CVE.

nmap -sV --script vulners 10.0.0.12

Enumération HTTP

nmap --script http-enum -p 80,8080 10.0.0.12

Vulnérabilités SMB

nmap --script smb-vuln* -p 445 10.0.0.12

Techniques d’évasion de pare‑feu

  • Fragmentation (-f) : divise les paquets en fragments afin de contourner certains IDS.
  • Longueur de données (--data-length) : ajoute du remplissage aléatoire.
  • Port source (--source-port) : utilise un port « autorisé » (ex. 53) pour masquer le trafic.
  • Décoys (--decoys) : envoie des scans depuis plusieurs adresses IP factices.

Exemple combiné :

sudo nmap -sS -f --data-length 50 \
    --source-port 53 --decoys 192.168.1.100,192.168.1.101 \
    -p 22,80 10.0.0.12

Formats de sortie

  • -oN : texte brut lisible.
  • -oX : XML, exploitable par des outils d’analyse.
  • -oG : greppable, idéal pour les pipelines.

Exemple :

nmap -sV -oX scan.xml 10.0.0.12

Tableau récapitulatif des options

CatégorieOptionDescription
Découverte-snPing scan, aucune analyse de ports.
Ports TCP-sTTCP connect (full handshake).
Ports TCP-sSSYN stealth, nécessite root.
Ports UDP-sUScan UDP, plus lent.
OS-OFingerprinting du système d’exploitation.
Version-sVDétection des versions de services.
Scripting--script vulnExécution de tous les scripts de la catégorie vuln.
Evasion-fFragmentation des paquets.
Evasion--decoysAjoute des adresses IP factices.
Sortie-oXExport XML.
Sortie-oGExport greppable.

Détection et défense

Un administrateur doit pouvoir repérer un scan Nmap afin de déclencher les mesures de défense.

  • Signaux dans les logs : multiples SYN sans ACK, paquets ICMP « port unreachable », flux provenant de ports inhabituels.
  • IDS/IPS : Snort, Suricata et Zeek possèdent des règles ET SCAN NMAP qui déclenchent des alertes dès la première série de paquets SYN.
  • Honeypots : les systèmes leurre (ex. Cowrie) enregistrent les tentatives de scan et offrent des indicateurs précieux.

Contre‑mesures simples :

  1. Limiter le taux de connexion ( iptables -m limit ).
  2. Bloquer les IP qui envoient plus de X SYN par seconde.
  3. Activer la détection de scans dans le firewall (--syn).

Erreurs fréquentes

  • Oublier sudo pour les scans SYN ou UDP → résultats incomplets.
  • Scanner un réseau trop large sans filtrer (-T4 agressif) → surcharge du réseau.
  • Confondre -p- (tous les ports) avec -p 1-65535 → le premier nécessite -p- sans espace.
  • Ignorer les messages d’avertissement de Too many open files → augmenter ulimit -n.
  • Ne pas spécifier le protocole lorsqu’on utilise --script → le script ne s’exécute pas sur le bon port.

Conclusion – éthique et légalité

« Nmap n’est qu’un outil ; c’est l’intention de son utilisateur qui détermine la légalité de son emploi. » – Gordon Lyon (Fyodor)

Utiliser Nmap dans un cadre autorisé (lab interne, CTF, contrat de test d’intrusion signé) vous permet de découvrir des failles avant qu’un adversaire ne le fasse. Respectez toujours les règles d’engagement, informez les équipes de défense et documentez chaque étape. En combinant une connaissance fine des options de scan avec des mesures de détection et de réponse, vous transformez une simple découverte en un processus d’amélioration continue de la posture de sécurité.

>_ À propos de l'auteur

Trésor — KadoHackLabs

Cybersécurité · IA locale · Automatisation

Je documente la cybersécurité offensive, l'IA locale et l'automatisation. Tous mes outils et guides sont open-source sur GitHub — et pour passer vraiment à la pratique, j'ai condensé la méthode dans un pack d'apprentissage pas à pas.


Ressources open-source

  • RedTeaming_CheatSheet
    Aide-mémoire de pentest : toutes les commandes essentielles.
  • AdversarySim-AI
    Assistant IA purple team avec Sliver C2 et LLM locaux (Ollama).
  • aisec
    Suite d'outils de sécurité pilotés par IA, experts par classe, local-first.
  • guide-wireshark
    Guide complet en français sur l'analyse de paquets, de l'OSI aux CTF.

Profil complet : github.com/kadohack12  ·  Boutique : whop.com/KadoHackLabs

Commentaires

Posts les plus consultés de ce blog

Configurer un pare-feu avec nftables : guide pas à pas

Vers l'AGI en 2027-2028 ? Où en est vraiment l'intelligence artificielle générale mi-2026