#Scan initial
Toujours commencer par un scan rapide et discret avant de lancer les scripts lourds.
# Top 1000 ports, versions, scripts par défaut, OS
nmap -sC -sV -O -oA scans/initial 10.10.10.10
# Tous les ports, sans résolution DNS, sortie normale
nmap -p- --min-rate 1500 -n 10.10.10.10 -oN scans/all-ports.txt
# Scan furtif (SYN) sur les ports ouverts identifiés
nmap -sS -sV -p 22,80,443,445 --version-all 10.10.10.10
#Découverte d'hôtes
# Ping scan d'un sous-réseau
nmap -sn 10.10.10.0/24
# Sans ICMP, via ARP (même LAN)
nmap -sn -PR 10.10.10.0/24
# Ports ouverts uniquement, format grepable
nmap -sS -p 22,80,443 -oG - 10.10.10.0/24 | grep -E "open|up"
| Option | Effet |
|---|---|
-sn |
Découverte d'hôtes sans scan de ports |
-Pn |
Traite la cible comme en ligne (bypass ICMP) |
-n |
Désactive la résolution DNS |
-T4 |
Timing agressif mais raisonnable |
-oA |
Sortie normale, XML et grepable |
#Fingerprint de services
# Version detection poussée
nmap -sV --version-intensity 9 -p 21,22,80,443,8080 10.10.10.10
# Détection OS + MAC
sudo nmap -O --osscan-guess 10.10.10.10
# Banner grabbing via NSE
nmap -p 80,443 --script http-title,http-headers 10.10.10.10
#NSE : les scripts utiles
# Vulnérabilités connues (bruyant)
nmap --script vuln -p 80,443 10.10.10.10
# SMB : partages, users, OS
nmap -p 445 --script smb-enum-shares,smb-enum-users,smb-os-discovery 10.10.10.10
# HTTP : méthodes, robots, enumeration de chemins
nmap -p 80 --script http-methods,http-robots.txt,http-enum 10.10.10.10
# DNS : zone transfer
nmap -p 53 --script dns-zone-transfer --script-args dns-zone-transfer.domain=example.com 10.10.10.10
#Sortie et parsing
# Convertir le XML en HTML lisible
xsltproc scan.xml -o scan.html
# Extraire les ports ouverts d'un XML
nmap -oX - 10.10.10.10 | xmlstarlet sel -t -m "//port[state/@state='open']" \
-v "concat(@protocol,'/',@portid,' ',service/@name)" -n
# Reprendre un scan interrompu
nmap --resume scans/initial.nmap