Aide-mémoire des commandes Nmap
Pratiquer les commandes Nmap avec des labs
Utilisez cet aide-mémoire des commandes Nmap comme référence rapide pour la découverte réseau, les scans TCP et UDP, la détection service/version, l’empreinte OS, les réglages de temporisation, scripts NSE, contrôles de vulnérabilités, sorties et audits pratiques.
Installation et Configuration
Installation sous Linux
Installez Nmap à l’aide du gestionnaire de paquets de votre distribution.
# Ubuntu/Debian
sudo apt update && sudo apt install nmap
# RHEL/Fedora/CentOS
sudo dnf install nmap
# Vérifier l'installation
nmap --version
Installation sous macOS
Installez via le gestionnaire de paquets Homebrew.
# Installer via Homebrew
brew install nmap
# Téléchargement direct depuis nmap.org
# Télécharger le .dmg depuis https://nmap.org/download.html
Installation sous Windows
Téléchargez et installez depuis le site officiel.
# Télécharger l'installeur depuis
https://nmap.org/download.html
# Exécuter l'installeur .exe avec des privilèges d'administrateur
# Inclut l'interface graphique Zenmap et la version en ligne de commande
Vérification de Base
Testez votre installation et obtenez de l’aide.
# Afficher les informations de version
nmap --version
# Afficher le menu d'aide
nmap -h
# Aide étendue et options
man nmap
Techniques de Balayage de Base
Balayage d’Hôte Simple : nmap [cible]
Balayage de base d’un seul hôte ou adresse IP.
# Balayer une seule IP
nmap 192.168.1.1
# Balayer un nom d'hôte
nmap example.com
# Balayer plusieurs IPs
nmap 192.168.1.1 192.168.1.5
192.168.1.10
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
nmap 192.168.1.1 par défaut ?Balayage de Plage Réseau
Nmap accepte les noms d’hôtes, les adresses IP, les sous-réseaux.
# Balayer une plage d'IP
nmap 192.168.1.1-254
# Balayer un sous-réseau avec notation CIDR
nmap 192.168.1.0/24
# Balayer plusieurs réseaux
nmap 192.168.1.0/24 10.0.0.0/8
Entrée depuis un Fichier
Balayer les cibles listées dans un fichier.
# Lire les cibles depuis un fichier
nmap -iL targets.txt
# Exclure des hôtes spécifiques
nmap 192.168.1.0/24 --exclude
192.168.1.1
# Exclure depuis un fichier
nmap 192.168.1.0/24 --excludefile
exclude.txt
Techniques de Découverte d’Hôtes
Balayage Ping : nmap -sn
La découverte d’hôtes est une manière clé que de nombreux analystes et pentesters utilisent Nmap. Son objectif est d’obtenir un aperçu des systèmes qui sont en ligne.
# Balayage Ping uniquement (pas de balayage de ports)
nmap -sn 192.168.1.0/24
# Ignorer la découverte d'hôtes (supposer que tous les hôtes sont actifs)
nmap -Pn 192.168.1.1
# Ping par écho ICMP
nmap -PE 192.168.1.0/24
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
nmap -sn ?Techniques de Ping TCP
Utiliser des paquets TCP pour la découverte d’hôtes.
# Ping SYN TCP vers le port 80
nmap -PS80 192.168.1.0/24
# Ping ACK TCP
nmap -PA80 192.168.1.0/24
# Ping SYN TCP vers plusieurs ports
nmap -PS22,80,443 192.168.1.0/24
Ping UDP : nmap -PU
Utiliser des paquets UDP pour la découverte d’hôtes.
# Ping UDP vers des ports courants
nmap -PU53,67,68,161 192.168.1.0/24
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
Ping ARP : nmap -PR
Utiliser des requêtes ARP pour la découverte de réseau local.
# Ping ARP (par défaut pour les réseaux locaux)
nmap -PR 192.168.1.0/24
# Désactiver le ping ARP
nmap --disable-arp-ping 192.168.1.0/24
Types de Balayage de Ports
Balayage SYN TCP : nmap -sS
Ce balayage est plus furtif, car Nmap envoie un paquet RST, ce qui empêche les requêtes multiples et raccourcit le temps de balayage.
# Balayage par défaut (nécessite root)
nmap -sS 192.168.1.1
# Balayage SYN sur des ports spécifiques
nmap -sS -p 80,443 192.168.1.1
# Balayage SYN rapide
nmap -sS -T4 192.168.1.1
Balayage de Connexion TCP : nmap -sT
Nmap envoie un paquet TCP au port avec le drapeau SYN défini. Cela permet à l’utilisateur de savoir si les ports sont ouverts, fermés ou inconnus.
# Balayage de connexion TCP (root non requis)
nmap -sT 192.168.1.1
# Balayage de connexion avec temporisation
nmap -sT -T3 192.168.1.1
Balayage UDP : nmap -sU
Balayer les ports UDP pour les services.
# Balayage UDP (lent, nécessite root)
nmap -sU 192.168.1.1
# Balayage UDP des ports courants
nmap -sU -p 53,67,68,161 192.168.1.1
# Balayage TCP/UDP combiné
nmap -sS -sU -p T:80,443,U:53,161 192.168.1.1
Balayages Furtifs
Techniques de balayage avancées pour l’évasion.
# Balayage FIN
nmap -sF 192.168.1.1
# Balayage NULL
nmap -sN 192.168.1.1
# Balayage Xmas
nmap -sX 192.168.1.1
Spécification des Ports
Plages de Ports : nmap -p
Cibler des ports spécifiques, des plages ou des combinaisons de ports TCP et UDP pour des balayages plus précis.
# Port unique
nmap -p 80 192.168.1.1
# Ports multiples
nmap -p 22,80,443 192.168.1.1
# Plage de ports
nmap -p 1-1000 192.168.1.1
# Tous les ports
nmap -p- 192.168.1.1
Ports Spécifiques au Protocole
Spécifier explicitement les ports TCP ou UDP.
# Ports TCP uniquement
nmap -p T:80,443 192.168.1.1
# Ports UDP uniquement
nmap -p U:53,161 192.168.1.1
# TCP et UDP mélangés
nmap -p T:80,U:53 192.168.1.1
Ensembles de Ports Courants
Balayer rapidement des ensembles de ports fréquemment utilisés.
# Top 1000 ports (par défaut)
nmap 192.168.1.1
# Top 100 ports
nmap --top-ports 100 192.168.1.1
# Balayage rapide (100 ports les plus courants)
nmap -F 192.168.1.1
# Afficher uniquement les ports ouverts
nmap --open 192.168.1.1
# Afficher tous les états de port
nmap -v 192.168.1.1
Détection de Service et de Version
Détection de Service : nmap -sV
Détecter quels services sont en cours d’exécution et tenter d’identifier leurs versions logicielles et configurations.
# Détection de version de base
nmap -sV 192.168.1.1
# Détection de version agressive
nmap -sV --version-intensity 9 192.168.1.1
# Détection de version légère
nmap -sV --version-intensity 0 192.168.1.1
# Scripts par défaut avec détection de version
nmap -sC -sV 192.168.1.1
Scripts de Service
Utiliser des scripts pour une détection de service améliorée.
# Saisie de bannière (Banner grabbing)
nmap --script banner 192.168.1.1
# Énumération de service HTTP
nmap --script http-* 192.168.1.1
Détection du Système d’Exploitation : nmap -O
Utiliser l’empreinte TCP/IP pour deviner le système d’exploitation des hôtes cibles.
# Détection de l'OS
nmap -O 192.168.1.1
# Détection d'OS agressive
nmap -O --osscan-guess 192.168.1.1
# Limiter les tentatives de détection d'OS
nmap -O --max-os-tries 1 192.168.1.1
Détection Complète
Combiner plusieurs techniques de détection.
# Balayage agressif (OS, version, scripts)
nmap -A 192.168.1.1
# Balayage agressif personnalisé
nmap -sS -sV -O -sC 192.168.1.1
Temporisation et Performance
Modèles de Temporisation : nmap -T
Ajuster la vitesse de balayage et la furtivité en fonction de votre environnement cible et du risque de détection.
# Paranoïaque (très lent, furtif)
nmap -T0 192.168.1.1
# Sournois (lent, furtif)
nmap -T1 192.168.1.1
# Poli (plus lent, moins de bande passante)
nmap -T2 192.168.1.1
# Normal (par défaut)
nmap -T3 192.168.1.1
# Agressif (plus rapide)
nmap -T4 192.168.1.1
# Insensé (très rapide, peut manquer des résultats)
nmap -T5 192.168.1.1
Options de Temporisation Personnalisées
Affiner la manière dont Nmap gère les délais d’attente, les nouvelles tentatives et le balayage parallèle pour optimiser les performances.
# Définir le taux minimum (paquets par seconde)
nmap --min-rate 1000 192.168.1.1
# Définir le taux maximum
nmap --max-rate 100 192.168.1.1
# Balayage d'hôtes parallèle
nmap --min-hostgroup 10 192.168.1.0/24
# Délai d'attente personnalisé
nmap --host-timeout 5m 192.168.1.1
Moteur de Script Nmap (NSE)
Catégories de Scripts : nmap --script
Exécuter des scripts par catégorie ou par nom.
# Scripts par défaut
nmap --script default 192.168.1.1
# Scripts de vulnérabilité
nmap --script vuln 192.168.1.1
# Scripts de découverte
nmap --script discovery 192.168.1.1
# Scripts d'authentification
nmap --script auth 192.168.1.1
Scripts Spécifiques
Cibler des vulnérabilités ou des services spécifiques.
# Énumération SMB
nmap --script smb-enum-* 192.168.1.1
# Méthodes HTTP
nmap --script http-methods 192.168.1.1
# Informations sur le certificat SSL
nmap --script ssl-cert 192.168.1.1
Arguments de Script
Passer des arguments pour personnaliser le comportement du script.
# Force brute HTTP avec liste de mots personnalisée
nmap --script http-brute --script-args
userdb=users.txt,passdb=pass.txt 192.168.1.1
# Force brute SMB
nmap --script smb-brute 192.168.1.1
# Force brute DNS
nmap --script dns-brute example.com
Gestion des Scripts
Gérer et mettre à jour les scripts NSE.
# Mettre à jour la base de données des scripts
nmap --script-updatedb
# Lister les scripts disponibles
ls /usr/share/nmap/scripts/ | grep http
# Obtenir l'aide sur un script
nmap --script-help vuln
Formats de Sortie et Sauvegarde des Résultats
Formats de Sortie
Sauvegarder les résultats dans différents formats.
# Sortie normale
nmap -oN scan_results.txt 192.168.1.1
# Sortie XML
nmap -oX scan_results.xml 192.168.1.1
# Sortie lisible par grep
nmap -oG scan_results.gnmap 192.168.1.1
# Tous les formats
nmap -oA scan_results 192.168.1.1
Sortie Verbeuse
Contrôler la quantité d’informations affichées.
# Sortie verbeuse
nmap -v 192.168.1.1
# Très verbeuse
nmap -vv 192.168.1.1
# Mode débogage
nmap --packet-trace 192.168.1.1
Reprendre et Ajouter
Continuer ou ajouter à des balayages précédents.
# Reprendre un balayage interrompu
nmap --resume scan_results.gnmap
# Ajouter à un fichier existant
nmap --append-output -oN existing_scan.txt 192.168.1.1
Traitement des Résultats en Direct
Combiner la sortie Nmap avec des outils en ligne de commande pour extraire des informations utiles.
# Extraire les hôtes actifs
nmap -sn 192.168.1.0/24 | grep "Nmap scan report"
# Trouver les serveurs web
nmap -p 80,443 --open 192.168.1.0/24 | grep "open"
# Exporter en CSV
nmap -oX - 192.168.1.1 | xsltproc --html -
Techniques d’Évasion de Pare-feu
Fragmentation de Paquets : nmap -f
Contourner les mesures de sécurité en utilisant la fragmentation de paquets, les IPs usurpées et les méthodes de balayage furtives.
# Fragmenter les paquets
nmap -f 192.168.1.1
# Taille MTU personnalisée
nmap --mtu 16 192.168.1.1
# Unité de transmission maximale
nmap --mtu 24 192.168.1.1
Balayage avec Décoy : nmap -D
Masquer votre balayage parmi des adresses IP leurres (décoy).
# Utiliser des IPs leurres
nmap -D 192.168.1.100,192.168.1.101 192.168.1.1
# Leurres aléatoires
nmap -D RND:5 192.168.1.1
# Mélanger leurres réels et aléatoires
nmap -D 192.168.1.100,RND:3 192.168.1.1
Manipulation de l’IP/Port Source
Usurper les informations source.
# Usurper l'IP source
nmap -S 192.168.1.100 192.168.1.1
# Port source personnalisé
nmap --source-port 53 192.168.1.1
# Longueur de données aléatoire
nmap --data-length 25 192.168.1.1
Balayage Fantôme/Zombie : nmap -sI
Utiliser un hôte zombie pour masquer l’origine du balayage.
# Balayage zombie (nécessite un hôte inactif)
nmap -sI zombie_host 192.168.1.1
# Lister les candidats inactifs
nmap --script ipidseq 192.168.1.0/24
Options de Balayage Avancées
Contrôle de la Résolution DNS
Contrôler comment Nmap gère les recherches DNS.
# Désactiver la résolution DNS
nmap -n 192.168.1.1
# Forcer la résolution DNS
nmap -R 192.168.1.1
# Serveurs DNS personnalisés
nmap --dns-servers 8.8.8.8,1.1.1.1 192.168.1.1
Balayage IPv6 : nmap -6
Utiliser ces drapeaux Nmap pour des fonctionnalités supplémentaires comme le support IPv6.
# Balayage IPv6
nmap -6 2001:db8::1
# Balayage de réseau IPv6
nmap -6 2001:db8::/32
Interface et Routage
Contrôler l’interface réseau et le routage.
# Spécifier l'interface réseau
nmap -e eth0 192.168.1.1
# Afficher l'interface et les routes
nmap --iflist
# Traceroute
nmap --traceroute 192.168.1.1
Options Diverses
Drapeaux utiles supplémentaires.
# Afficher la version et quitter
nmap --version
# Envoyer au niveau ethernet
nmap --send-eth 192.168.1.1
# Envoyer au niveau IP
nmap --send-ip 192.168.1.1
Exemples du Monde Réel
Flux de Travail de Découverte de Réseau
Processus complet d’énumération de réseau.
# Étape 1 : Découvrir les hôtes actifs
nmap -sn 192.168.1.0/24
# Étape 2 : Balayage rapide des ports
nmap -sS -T4 --top-ports 1000 192.168.1.0/24
# Étape 3 : Balayage détaillé des hôtes intéressants
nmap -sS -sV -sC -O 192.168.1.50
# Étape 4 : Balayage complet
nmap -p- -A -T4 192.168.1.50
Évaluation de Serveur Web
Se concentrer sur les services web et les vulnérabilités.
# Trouver les serveurs web
nmap -sS -p 80,443,8080,8443 --open 192.168.1.0/24
# Énumérer les services HTTP
nmap -sS -sV --script http-* 192.168.1.50
# Vérifier les vulnérabilités courantes
nmap --script vuln -p 80,443 192.168.1.50
Énumération SMB/NetBIOS
L’exemple suivant énumère Netbios sur les réseaux cibles.
# Détection de service SMB
nmap -sV -p 139,445 192.168.1.0/24
# Découverte de nom NetBIOS
nmap -sU --script nbstat -p 137 192.168.1.0/24
# Scripts d'énumération SMB
nmap --script smb-enum-* -p 445 192.168.1.50
# Vérification de vulnérabilité SMB
nmap --script smb-vuln-* -p 445 192.168.1.50
Évaluation Furtive
Reconnaissance à faible profil.
# Balayage ultra-furtif
nmap -sS -T0 -f --data-length 200 -D RND:10 192.168.1.1
# Balayage SYN fragmenté
nmap -sS -f --mtu 8 -T1 192.168.1.1
Optimisation des Performances
Stratégies de Balayage Rapide
Optimiser la vitesse de balayage pour les grands réseaux.
# Sweep réseau rapide
nmap -sS -T4 --min-rate 1000 --max-retries 1
192.168.1.0/24
# Balayage d'hôtes parallèle
nmap --min-hostgroup 50 --max-hostgroup 100
192.168.1.0/24
# Ignorer les opérations lentes
nmap -sS -T4 --defeat-rst-ratelimit 192.168.1.0/24
Gestion de la Mémoire et des Ressources
Contrôler l’utilisation des ressources pour la stabilité.
# Limiter les sondes parallèles
nmap --max-parallelism 10 192.168.1.1
# Contrôler les délais de balayage
nmap --scan-delay 100ms 192.168.1.1
# Définir le délai d'attente de l'hôte
nmap --host-timeout 10m 192.168.1.0/24