Pentest

Nmap

Cheatsheet Nmap — scan de ports, détection de services, scripts NSE et techniques de scan

nmapscanportsreconnaissancepentest

Scan de base

$nmap 192.168.1.1
Scan des 1000 ports TCP les plus courants
$nmap -p- 192.168.1.1
Scan de tous les 65535 ports TCP
$nmap -p 22,80,443,3306 192.168.1.1
Scan de ports spécifiques
$nmap -p 1-1024 192.168.1.1
Scan d'une plage de ports

Types de scan

FlagTypeDescription
-sSSYN scanRapide, discret (défaut avec root)
-sTConnect scanConnexion complète TCP
-sUUDP scanScan des ports UDP
-sVVersion scanDétection des versions de services
-sCScript scanScripts NSE par défaut
-OOS détectionDétection du système d'exploitation
-AAggressiveOS + version + scripts + traceroute
$nmap -sS -sV -O 192.168.1.0/24
SYN scan avec détection de version et OS sur tout le sous-réseau

Détection de services

$nmap -sV --version-intensity 5 192.168.1.1
Détection approfondie des versions
$nmap -sV -p 22 192.168.1.1
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6 (protocol 2.0)

Scripts NSE

Nmap Scripting Engine — scripts Lua pour l'énumération et la détection de vulnérabilités.

$nmap --script=default 192.168.1.1
Scripts par défaut (equivalent de -sC)
$nmap --script=vuln 192.168.1.1
Scripts de détection de vulnérabilités
$nmap --script=http-enum 192.168.1.1
Énumération des répertoires web
$nmap --script=ssl-enum-ciphers -p 443 192.168.1.1
Enumérer les ciphers SSL/TLS supportés

Scripts utiles

ScriptUsage
http-enumÉnumération de répertoires et fichiers web
ssl-enum-ciphersCiphers SSL/TLS supportés
ssh-auth-methodsMéthodes d'authentification SSH
dns-bruteBrute force de sous-domaines
smb-enum-sharesPartages SMB
vulnDétection de vulnérabilités connues

Techniques d'évasion

$nmap -T2 192.168.1.1
Scan lent pour éviter la détection (T0-T5)
$nmap -f 192.168.1.1
Fragmentation des paquets
$nmap -D RND:5 192.168.1.1
Scan avec 5 decoys aléatoires
TimingNomUsage
-T0ParanoidÉvasion IDS, très lent
-T1SneakyÉvasion IDS
-T2PoliteRéduit la charge réseau
-T3NormalDéfaut
-T4AggressiveRéseaux rapides
-T5InsaneTrès rapide, risque de perte

Sortie et rapports

$nmap -oN scan.txt 192.168.1.1
Sortie en format normal
$nmap -oX scan.xml 192.168.1.1
Sortie en XML (pour intégration)
$nmap -oG scan.gnmap 192.168.1.1
Sortie grepable
$nmap -oA scan 192.168.1.1
Les 3 formats en même temps

Scan complet typique

$nmap -sS -sV -sC -O -p- -T4 -oA full-scan 192.168.1.1
Scan complet : SYN + versions + scripts + OS + tous les ports

Commandes utiles

$nmap -sn 192.168.1.0/24
Ping sweep — découvrir les hôtes actifs sans scanner les ports
$nmap --top-ports 100 192.168.1.0/24
Scanner les 100 ports les plus courants sur un sous-réseau
$nmap -Pn 192.168.1.1
Scanner sans ping (quand ICMP est bloqué)