nmapmasscannse
MDstable
NoteSnippetChecklistPlaybook
Port Scanning avancé — Nmap NSE, Masscan, Évasion
Nmap scripts NSE, Masscan full-internet rate, techniques d'évasion IDS : fragmentation, decoy, timing, source port
snippetadvanced 2026-05-14 5 min read
nmapmasscannseport-scanningevasionidsfirewallpentest
Nmap — Rappel des modes de scan
bash
Variables
{{TARGET}}
# Scan SYN (half-open) — discret, nécessite rootnmap -sS {{TARGET}}# Scan TCP Connect (full 3-way) — sans root, plus bruyantnmap -sT {{TARGET}}# UDP (lent, nécessite root)nmap -sU --top-ports 100 {{TARGET}}# Scan SCTP INITnmap -sY {{TARGET}}# Détection OS + version + scripts par défaut + traceroutenmap -A {{TARGET}}
Masscan — Scan haute vitesse
bash
Variables
{{TARGET_CIDR}}
{{TARGET_IP}}
{{INTERFACE}}
{{SOURCE_IP}}
# Installer Masscanapt install masscan -y# Scanner tout un /16 sur les ports 80,443,8080 à 100k ppsmasscan {{TARGET_CIDR}} -p 804438080 --rate=100000# Scanner les 65535 ports sur une cible (ultra-rapide)masscan {{TARGET_IP}} -p 0-65535 --rate=50000# Exporter au format Nmap XML (compatible avec nmap --resume)masscan {{TARGET_CIDR}} -p 0-65535 --rate=100000 -oX masscan_resultsxml# Reprendre un scan interrompumasscan --resume pausedconf# Limiter à une interface et une adresse sourcemasscan {{TARGET_CIDR}} -p 443 --rate=10000 -e {{INTERFACE}} --source-ip {{SOURCE_IP}}
bash
Variables
{{TARGET_CIDR}}
# Workflow optimal : Masscan découverte → Nmap service scanmasscan {{TARGET_CIDR}} -p 0-65535 --rate=50000 -oG masscangnmap# Extraire les ports ouvertsgrep "open" masscangnmap | awk '{print $2}' | sort -u > hoststxtgrep "open" masscangnmap | awk -F'/' '{print $1}' | grep -oP '\d+' | sort -un | tr '\n' ',' > portstxt# Scan de services Nmap ciblénmap -sV -sC -p cat portstxt -iL hoststxt -oA services_scan
Nmap NSE — Scripts essentiels
Découverte et énumération
bash
Variables
{{TARGET}}
# Scripts par catégorienmap --script "default and not intrusive" {{TARGET}}nmap --script "discovery" {{TARGET}}nmap --script "safe" {{TARGET}}# Bannières et versions détailléesnmap --script banner -p 21222580443 {{TARGET}}# HTTP — titres des pages, méthodes autorisées, redirectionsnmap --script http-title,http-methods,http-headers {{TARGET}} -p 804438080# SMB — version, OS, utilisateurs, partagesnmap --script smb-os-discovery,smb-enum-shares,smb-enum-users -p 445 {{TARGET}}# SSL — version, certificat, ciphers faiblesnmap --script ssl-enum-ciphers,ssl-cert -p 443 {{TARGET}}
Détection de vulnérabilités
bash
Variables
{{TARGET}}
# MS17-010 (EternalBlue)nmap --script smb-vuln-ms17-010 -p 445 {{TARGET}}# MS08-067 (Conficker)nmap --script smb-vuln-ms08-067 -p 445 {{TARGET}}# Heartbleed (OpenSSL)nmap --script ssl-heartbleed -p 443 {{TARGET}}# ShellShock (Bash CVE-2014-6271)nmap --script http-shellshock --script-args uri/cgi-bin/test.cgi -p 80 {{TARGET}}# Tous les scripts vuln (agressif)nmap --script "vuln" {{TARGET}}# HTTP — détection de vulnérabilités webnmap --script http-sql-injection,http-xssed,http-csrf -p 80443 {{TARGET}}
Scripts spécialisés
bash
Variables
{{DOMAIN}}
{{DNS_SERVER}}
{{TARGET}}
# DNS — zone transfer + brute force sous-domainesnmap --script dns-zone-transfer --script-args dns-zone-transfer.domain={{DOMAIN}} -p 53 {{DNS_SERVER}}nmap --script dns-brute --script-args dns-brute.domain={{DOMAIN}}# FTP — accès anonymenmap --script ftp-anon,ftp-bounce -p 21 {{TARGET}}# MySQL — accès sans mot de passe, dump infosnmap --script mysql-empty-password,mysql-info -p 3306 {{TARGET}}# RDP — détection BlueKeep, NLAnmap --script rdp-vuln-ms12-020,rdp-enum-encryption -p 3389 {{TARGET}}# SNMP — community stringsnmap --script snmp-brute,snmp-info -p 161 --script-args snmp-brute.communitiesdb=/usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt -sU {{TARGET}}
Techniques d'évasion IDS/Firewall
Fragmentation des paquets
bash
Variables
{{TARGET}}
# Fragmenter les paquets IP en 8 bytes (-f) ou 16 bytes (-ff)nmap -f {{TARGET}}nmap -ff {{TARGET}}# Taille de fragment personnalisée (multiple de 8)nmap --mtu 24 {{TARGET}}
Decoy — Masquer la vraie source
bash
Variables
{{DECOY1}}
{{DECOY2}}
{{TARGET}}
{{SPOOFED_IP}}
{{INTERFACE}}
# Utiliser des leurres (IPs fictives mélangées à la vraie)nmap -D {{DECOY1}}{{DECOY2}}ME {{TARGET}}# Générer des IPs aléatoires comme leurresnmap -D RND10 {{TARGET}}# Spoof d'IP source (la réponse ne revient pas — scan blind)nmap -S {{SPOOFED_IP}} -e {{INTERFACE}} -Pn {{TARGET}}
Timing et rythme
bash
Variables
{{TARGET}}
# Timing templates (T0=paranoid, T5=insane)nmap -T0 {{TARGET}} # 5 min entre chaque sonde — très lent, très discretnmap -T1 {{TARGET}} # "Sneaky" — passe sous les seuils IDS basés sur le tempsnmap -T2 {{TARGET}} # "Polite" — réduit la charge réseaunmap -T5 {{TARGET}} # "Insane" — très rapide, très détectable# Contrôle fin du timingnmap --scan-delay --max-retries 1 {{TARGET}}nmap --min-rate 1 --max-rate 5 {{TARGET}} # max 5 paquets/seconde
Source port et data length
bash
Variables
{{TARGET}}
{{TARGET_CIDR}}
# Utiliser un port source connu (parfois whitelisté en firewall)nmap --source-port 53 {{TARGET}} # source port DNSnmap --source-port 80 {{TARGET}} # source port HTTP# Ajouter des données aléatoires pour modifier la taille des paquetsnmap --data-length 15 {{TARGET}}# Randomiser l'ordre des cibles (évite les patterns séquentiels)nmap --randomize-hosts {{TARGET_CIDR}}
Firewall bypass — ports filtrés
bash
Variables
{{TARGET}}
{{ZOMBIE_IP}}
{{ZOMBIE_PORT}}
# ACK scan — déterminer les règles du firewall (filtered vs unfiltered)nmap -sA {{TARGET}}# FIN scan (passe certains firewalls stateless)nmap -sF {{TARGET}}# NULL scannmap -sN {{TARGET}}# Xmas scan (FIN+PSH+URG)nmap -sX {{TARGET}}# Idle scan (zombie) — ultra-furtif, utilise une IP tierce# Trouver un hôte zombie avec IP ID prévisible :nmap --script ipidseq {{ZOMBIE_IP}}# Lancer l'idle scannmap -sI {{ZOMBIE_IP}}{{ZOMBIE_PORT}} {{TARGET}}
Contournement de pare-feu applicatif (WAF)
bash
Variables
{{TARGET}}
{{TARGET_URL}}
# Détecter un WAFnmap --script http-waf-detect {{TARGET}} -p 80443# Identifier le WAFnmap --script http-waf-fingerprint {{TARGET}} -p 80443# Wafw00f (outil dédié)wafw00f {{TARGET_URL}}
Sorties et formats
bash
Variables
{{TARGET}}
# Sortie dans tous les formats (recommandé)nmap -oA scan_{{TARGET}} {{TARGET}}# → scan.nmap (texte), scan.xml, scan.gnmap (grepable)# Conversion XML → HTML (rapport lisible)xsltproc scan_{{TARGET}}xml -o scan_{{TARGET}}html# Parser avec python-nmappython3 -cimport nmapnm nmapPortScannernmscan'{{TARGET}}' '1-1024'for host in nmall_hostsfor proto in nmhostall_protocolsfor port in nmhostprotokeysstate nmhostprotoport'state'printf'{host}:{port}/{proto} → {state}'
💡 Tip —
Pour un scan discret en environnement surveillé : combiner -T1 --source-port 53 --data-length 20 -f -D RND:5. Aucune technique seule n'est suffisante — c'est la combinaison qui passe sous les seuils des IDS modernes. Sur un vrai engagement, valider d'abord sur une cible de test avant de scanner la production.
OPS·BRAIN v1.075 notes · Securitylocal