Analyses de base
Cibles d'analyse
nmap 192.168.1.1 # hôte unique nmap 192.168.1.0/24 # sous-réseau complet nmap 192.168.1.1-50 # plage d'IP nmap -iL targets.txt # hôtes depuis un fichier
Spécification des cibles
192.168.1.1Adresse IP unique
192.168.1.0/24Notation CIDR (256 hôtes)
192.168.1.1-254Plage d'IP
example.comNom d'hôte (résolu en IP)
-iL file.txtLire les cibles depuis un fichier
--exclude 192.168.1.1Exclure des hôtes spécifiques
--excludefile skip.txtExclure des hôtes depuis un fichier
Analyse de ports
Types d'analyse
-sSAnalyse TCP SYN (défaut, furtive, nécessite root)
-sTAnalyse TCP connect (handshake complet, sans root)
-sUAnalyse UDP (lente, souvent filtrée)
-sAAnalyse TCP ACK (détecter les pare-feux)
-sNAnalyse TCP NULL (aucun flag)
-sFAnalyse TCP FIN (flag FIN uniquement)
-sXAnalyse Xmas (flags FIN+PSH+URG)
Sélection de ports
nmap -p 80,443 target # ports spécifiques nmap -p 1-1000 target # plage de ports nmap -p- target # les 65535 ports nmap --top-ports 100 target # les 100 ports les plus courants
États des ports
openUne application accepte les connexions
closedPort accessible mais aucun service en écoute
filteredPare-feu bloquant, état indéterminable
unfilteredPort accessible, état ouvert/fermé inconnu
open|filteredImpossible de déterminer si ouvert ou filtré
Découverte d'hôtes
Méthodes de découverte
-snAnalyse ping uniquement (sans analyse de ports)
-PnIgnorer la découverte (traiter tous comme actifs)
-PS 80,443Découverte TCP SYN sur ports
-PA 80Découverte TCP ACK
-PU 53Découverte UDP
-PERequête echo ICMP
-PRDécouverte ARP (réseau local)
Balayage réseau
nmap -sn 192.168.1.0/24 # balayage ping du sous-réseau nmap -sn -n 10.0.0.0/24 # balayage, sans DNS nmap -sn -PR 192.168.1.0/24 # analyse ARP (la plus rapide)
Détection de services
Détection de versions
nmap -sV target # détecter les versions de service nmap -sV --version-intensity 5 target # sondage plus profond nmap -sV --version-all target # essayer toutes les sondes (lent) nmap -A target # OS + version + scripts + traceroute
Options de détection
-sVSonder les ports ouverts pour service/version
--version-intensity 0-9Intensité du sondage (défaut 7)
--version-lightSondage léger (intensité 2)
--version-allEssayer toutes les sondes (intensité 9)
-AAgressif : -sV -O --script=default -traceroute
-sCExécuter les scripts NSE par défaut
Détection de système d'exploitation
Empreinte OS
nmap -O target # détection OS (nécessite root) nmap -O --osscan-limit target # analyser uniquement les hôtes prometteurs nmap -O --osscan-guess target # estimation agressive de l'OS nmap -A target # inclut la détection OS
Options de détection OS
-OActiver la détection OS
--osscan-limitIgnorer les hôtes sans ports TCP ouverts+fermés
--osscan-guessDeviner l'OS plus agressivement
--max-os-tries NNombre maximal de tentatives de détection par hôte
Scripts (NSE)
Utilisation des scripts
nmap --script=default target # catégorie par défaut nmap --script=vuln target # scripts de vulnérabilités nmap --script=http-headers target nmap --script="http-*" target # correspondance générique
Catégories de scripts
defaultScripts sûrs et utiles (raccourci -sC)
vulnVérifier les vulnérabilités connues
safeScripts non intrusifs
intrusivePeuvent planter les cibles ou déclencher les IDS
discoveryDécouverte réseau et de services
authVérifications liées à l'authentification
bruteTest de credentials par force brute
exploitTentatives d'exploitation active
Scripts utiles
http-titleRécupérer les titres des pages web
ssl-certAfficher les détails du certificat SSL
ssh-hostkeyAfficher les empreintes des clés SSH
dns-bruteÉnumérer les sous-domaines DNS
smb-os-discoveryDétecter l'OS Windows via SMB
vulnExécuter toutes les vérifications de vulnérabilités
Formats de sortie
Options de sortie
nmap -oN scan.txt target # sortie texte normale nmap -oX scan.xml target # sortie XML nmap -oG scan.gnmap target # sortie grepable nmap -oA scan_all target # tous les formats à la fois
Options de sortie
-oN fileSortie normale vers fichier
-oX fileSortie XML (pour outils/analyse)
-oG fileSortie grepable (un hôte par ligne)
-oA basenameTrois formats (basename.nmap/xml/gnmap)
-vAugmenter la verbosité (-vv pour plus)
-dSortie de débogage (-dd pour plus)
--openAfficher uniquement les ports ouverts
--reasonAfficher la raison de l'état du port
Timing et performances
Gabarits de timing
-T0 (paranoïaque)Très lent, évasion IDS (5 min entre sondes)
-T1 (furtif)Lent, évasion IDS (15 sec entre sondes)
-T2 (poli)Vitesse réduite, moins de bande passante
-T3 (normal)Timing par défaut
-T4 (agressif)Rapide, suppose un réseau fiable
-T5 (insensé)Le plus rapide, peut manquer des résultats
Réglage fin
--min-rate 1000Envoyer au moins 1000 paquets/sec
--max-rate 500Limiter à 500 paquets/sec
--max-retries 2Retransmissions maximales de sondes
--host-timeout 30mIgnorer l'hôte si l'analyse dépasse 30 min
--scan-delay 1sDélai entre les sondes
--min-parallelism 10Groupes de sondes parallèles minimaux
Contournement de pare-feu
Techniques d'évasion
-fFragmenter les paquets (morceaux de 8 octets)
-D RND:5Analyse leurre avec 5 IPs aléatoires
-S spoof_ipUsurper l'IP source (nécessite paquets bruts)
-e eth0Utiliser une interface réseau spécifique
--source-port 53Utiliser un port source spécifique (ex. DNS)
--data-length 25Ajouter des données aléatoires aux paquets
--spoof-mac 0Randomiser l'adresse MAC
Exemples d'évasion
nmap -f -D RND:3 target # fragments + leurres nmap --source-port 53 target # port DNS (souvent autorisé) nmap -T1 --scan-delay 5s target # lent pour éviter les IDS
Motifs courants
Reconnaissance rapide
nmap -T4 -F target # ports courants rapides nmap -T4 -A -v target # OS + détection de services nmap -sV --top-ports 1000 target # top 1000 + versions
Analyse complète
# TCP complet + service + OS + scripts nmap -sS -sV -O -sC -p- -T4 -oA full target # Analyse UDP sur ports courants nmap -sU --top-ports 50 target
Audit de serveur web
nmap -p 80,443 --script=http-title,http-headers,\ ssl-cert,http-methods target # Vérifier les proxys ouverts et vulnérabilités nmap -p 80,443,8080 --script=http-open-proxy,vuln target
Inventaire réseau
# Découvrir tous les hôtes actifs avec infos OS nmap -sn 192.168.1.0/24 -oG - | grep "Up" # Inventaire de services pour sous-réseau nmap -sV -T4 192.168.1.0/24 -oX inventory.xml