'''markdown
Nmap — Guide complet du scan réseau pour pentesters
Nmap (Network Mapper) est l’outil incontournable des pentesters pour la reconnaissance réseau, la détection de services et l’analyse de vulnérabilités. Ce guide couvre ses fonctionnalités avancées, les scripts NSE, et des exemples concrets pour optimiser vos scans.
1. Installation et configuration de base
Installer Nmap
Sur Linux (Debian/Ubuntu) :
'''bash
sudo apt update && sudo apt install nmap -y
'''
Sur macOS (via Homebrew) :
'''bash
brew install nmap
'''
Sur Windows : Téléchargez le binaire depuis nmap.org.
Vérifier l’installation
'''bash
nmap --version
'''
2. Commandes Nmap essentielles pour les pentesters
Scan de base (ping sweep)
Détecte les hôtes actifs sur un réseau :
'''bash
nmap -sn 192.168.1.0/24
'''
- '-sn' : Désactive le scan de ports (ping sweep uniquement).
Scan de ports TCP
'''bash
nmap -sT 192.168.1.1
'''
- '-sT' : Scan TCP connect (visible par les logs).
Scan SYN (stealth)
'''bash
nmap -sS 192.168.1.1
'''
- '-sS' : Scan SYN (moins intrusif, évite les connexions complètes).
Scan UDP
'''bash
nmap -sU 192.168.1.1
'''
- '-sU' : Scan des ports UDP (lent mais utile pour DNS, SNMP, etc.).
Détection de version des services
'''bash
nmap -sV 192.168.1.1
'''
- '-sV' : Identifie les versions des services (bannières, noms de logiciels).
Détection du système d’exploitation
'''bash
nmap -O 192.168.1.1
'''
- '-O' : Détecte l’OS via des techniques comme le TCP/IP stack fingerprinting.
3. Scripts NSE (Nmap Scripting Engine)
Nmap intègre plus de 600 scripts pour automatiser des tâches avancées. Voici les plus utiles pour les pentesters :
Lister les scripts disponibles
'''bash
ls /usr/share/nmap/scripts/
'''
Exécuter un script spécifique
'''bash
nmap --script <nom_script> 192.168.1.1
'''
Scripts recommandés
| Script | Description | Exemple |
|--------|-------------|---------|
| 'http-enum' | Énumère les répertoires web vulnérables | 'nmap --script http-enum 192.168.1.1' |
| 'vuln' | Vérifie les CVE connues | 'nmap --script vuln 192.168.1.1' |
| 'smb-vuln*' | Teste les vulnérabilités SMB (EternalBlue, etc.) | 'nmap --script smb-vuln* 192.168.1.1' |
| 'dns-brute' | Bruteforce les sous-domaines DNS | 'nmap --script dns-brute --script-args dns-brute.domain=example.com' |
Exemple complet avec scripts
'''bash
nmap -sS -sV -O --script vuln,http-enum 192.168.1.1
'''
- Combine scan SYN, détection de version, OS, et scripts de vulnérabilités.
4. Optimiser les scans pour le pentest
Éviter les détections (IDS/IPS)
- Fragmentation des paquets :
'''bash
nmap -f 192.168.1.1
'''
- Décalage des ports source :
'''bash
nmap -g 8080 192.168.1.1
'''
- Scan lent pour éviter les triggers :
'''bash
nmap -T2 192.168.1.1
'''
Sauvegarder les résultats
- Format normal :
'''bash
nmap -oN output.txt 192.168.1.1
'''
- Format XML (pour intégration avec Metasploit) :
'''bash
nmap -oX output.xml 192.168.1.1
'''
Scan sur un large réseau
'''bash
nmap -p- --min-rate 1000 192.168.1.0/24
'''
- '-p-' : Scanne tous les ports (1-65535).
- '--min-rate 1000' : Envoie 1000 paquets par seconde pour accélérer le scan.
5. Cas pratiques pour pentesters
Reconnaissance d’un serveur web
'''bash
nmap -sV --script http-title,http-headers 192.168.1.100
'''
- Récupère le titre de la page et les en-têtes HTTP.
Audit d’un serveur SMB
'''bash
nmap -p 445 --script smb-security-mode,smb-enum-users 192.168.1.50
'''
- Vérifie les politiques de sécurité SMB et liste les utilisateurs.
Détection de backdoors (via scripts personnalisés)
'''bash
nmap --script http-backdoor-check 192.168.1.200
'''
6. Bonnes pratiques et limites
✅ À faire :
- Autorisation écrite avant de scanner un réseau (légal).
- Utiliser des scans non intrusifs ('-sS') en environnement production.
- Combiner avec d’autres outils (Wireshark, Metasploit) pour une analyse approfondie.
❌ À éviter :
- Scanner des réseaux sans permission (risque juridique).
- Utiliser '-A' (agressif) sur des systèmes critiques (peut causer des crashs).
- Négliger les logs (IDS comme Snort peuvent bloquer les scans).
🔹 Limites de Nmap :
- Ne remplace pas un audit manuel (faux positifs/négatifs).
- Certains services (comme les firewalls) peuvent fausser les résultats.
Conclusion : Passez à la pratique !
Nmap est un outil puissant pour la reconnaissance réseau et le pentest, mais sa maîtrise nécessite de la pratique. Pour aller plus loin :
- Testez vos compétences sur des labs dédiés comme LabsCyber.fr.
- Explorez les scripts NSE pour automatiser vos audits.
- Participez à des CTF (Capture The Flag) pour appliquer ces techniques en conditions réelles.
🚀 Prêt à scanner comme un pro ? Consultez LabsCyber.fr pour des exercices pratiques et des défis de cybersécurité !
'''