← Accueil

PCTAMALOU

Semaine 12 : La Carte du Terrain – Reconnaissance Réseau Avancée avec Nmap

Par Platon-Y – pctamalou.fr & e-of-h.fr

🎯 Objectif de la semaine

Maîtriser Nmap pour cartographier professionnellement un réseau : identifier les hôtes actifs, analyser les services ouverts, détecter les systèmes d'exploitation et comprendre la surface d'attaque sans déclencher d'alertes.

Pourquoi Nmap est fondamental : 80% d'un pentest réussi repose sur une reconnaissance impeccable. Nmap est votre œil numérique, votre carte topographique du terrain ennemi.

flowchart TD A[🎯 Cible réseau] --> B{🔍 Stratégie de scan} B --> C[👻 Furtif] B --> D[⚡ Rapide] B --> E[📊 Complet] C --> F[🛡️ -sS SYN Scan
Demi-connexions] D --> G[🏎️ -T4 Timing
Bilan rapide] E --> H[📈 -A Aggressive
OS + Services + Scripts] F --> I[📋 Résultats bruts] G --> I H --> I I --> J{🎯 Analyse stratégique} J --> K[🎪 Ports ouverts] J --> L[🖥️ OS Fingerprinting] J --> M[🔧 Versions services] J --> N[⚠️ Vulnérabilités potentielles] K --> O[🗺️ Carte d'attaque] L --> O M --> O N --> O O --> P[⚔️ Plan d'action S13+] style C fill:#00f5a0,stroke:#000 style D fill:#ff6b00,stroke:#000 style E fill:#ef4444,stroke:#000 style O fill:#9d4edd,stroke:#fff,stroke-width:2px

📚 Sujet – Théorie (1 heure)

Nmap : L'art et la science de la cartographie réseau

Nmap n'est pas simplement un scanner de ports. C'est un système complexe d'ingénierie réseau qui utilise les protocoles TCP/IP de manière créative pour extraire des informations.

🔬 Comment Nmap fonctionne vraiment :

  • SYN Scan (-sS) : Envoie un paquet SYN, reçoit SYN-ACK, envoie RST (jamais de connexion complète)
  • Connect Scan (-sT) : Utilise l'appel système connect() - laisse des logs
  • UDP Scan (-sU) : Envoie des paquets UDP vides, analyse les réponses ICMP
  • OS Detection (-O) : Analyse les subtiles différences d'implémentation TCP/IP

La matrice des scans : choisir la bonne approche

👻 Scan Furtif (-sS)

Utilisation : Pentest externe, évasion IDS

Mécanique : Demi-connexions TCP

Détectabilité : Très faible

Vitesse : Moyenne

Commande : nmap -sS -T2

⚡ Scan Rapide (-T4)

Utilisation : Lab interne, évaluation rapide

Mécanique : Paquets parallélisés

Détectabilité : Élevée

Vitesse : Très rapide

Commande : nmap -T4 -p-

📊 Scan Complet (-A)

Utilisation : Audit de sécurité approfondi

Mécanique : Multiple techniques combinées

Détectabilité : Maximum

Vitesse : Lente

Commande : nmap -A -sV -O

Comprendre les états de ports et leur signification

État Nmap Signification technique Implication sécurité Action recommandée
open Service écoute et accepte connexions 🔴 Haute - Surface d'attaque directe Analyse immédiate du service
filtered Firewall/IDS bloque les probes 🟡 Moyenne - Défenses actives présentes Techniques d'évasion, scans UDP
closed Port accessible mais pas de service 🟢 Basse - Pas de service exposé Peut indiquer un ancien service
unfiltered Accessible mais état indéterminé 🟠 Variable - Nécessite investigation Scans ACK ou Window

⚖️ Aspects légaux et éthiques

Nmap sur des systèmes non autorisés est illégal. En environnement contrôlé :

  • Documentez chaque scan (cible, heure, commande exacte)
  • Respectez les plages horaires autorisées si applicables
  • Ne scannez jamais des ports sensibles (ex: 22, 3389) en production sans accord
  • Utilisez --script safe pour éviter les scripts dangereux

OS Fingerprinting : l'empreinte digitale des systèmes

Nmap compare les réponses TCP/IP avec une base de données de 2,600+ signatures OS. Chaque système a des subtiles différences d'implémentation :

  • TTL initial (Windows: 128, Linux: 64)
  • Taille de fenêtre TCP
  • Options TCP activées
  • Réponses aux paquets invalides

🔬 Mission pratique – Laboratoire (2 heures)

🏁 Configuration du lab : Assurez-vous d'avoir votre Kali + Metasploitable2 + Ubuntu en réseau Host-Only. IP typiques : Kali (192.168.56.101), Metasploitable2 (192.168.56.102), Ubuntu (192.168.56.103).

Étape 1 : Préparation et vérification

# Mise à jour et vérification Nmap
sudo apt update && sudo apt install nmap -y
nmap --version
# Doit afficher version 7.94+ avec NSE (Nmap Scripting Engine)

# Découverte du réseau
ip a | grep "inet "
# Notez votre IP et le réseau (ex: 192.168.56.0/24)

Étape 2 : Découverte d'hôtes stratégique

Ne pas scanner aveuglément - comprendre ce que vous faites :

# Méthode 1 : Ping scan classique
nmap -sn 192.168.56.0/24
# -sn : Pas de scan de ports, juste discovery
# Résultat : Liste des IP actives avec MAC addresses

# Méthode 2 : ARP scan (plus fiable en LAN)
nmap -PR 192.168.56.0/24
# -PR : ARP discovery (ne traverse pas les routeurs)

# Méthode 3 : Scan avec exclusion de soi-même
nmap -sn 192.168.56.0/24 --exclude 192.168.56.101
# --exclude : Ne pas scanner certaines IP

# Analyse des résultats
echo "=== Hôtes actifs détectés ==="
nmap -sn 192.168.56.0/24 | grep "Nmap scan" | awk '{print $5}'
# Notez : Metasploitable2 (vulnérable) et Ubuntu (cible secondaire)

Étape 3 : Scan de ports méthodique

📋 Stratégie de scan en 4 phases :

# Phase 1 : Scan rapide des ports communs (top 1000)
nmap -sS 192.168.56.102
# Notez les ports ouverts immédiats (21, 22, 80, 443, 445...)

# Phase 2 : Scan complet (tous les ports)
nmap -sS -p- 192.168.56.102
# -p- : Tous les ports 1-65535
# Temps estimé : 5-10 minutes

# Phase 3 : Scan ciblé des services intéressants
nmap -sS -p21,22,80,443,445,3306,8080 192.168.56.102
# Se concentrer sur les ports à haut risque

# Phase 4 : Scan UDP des services critiques
nmap -sU -p53,67,68,69,123,161 192.168.56.102
# UDP scan (beaucoup plus lent)
# Note : DNS, DHCP, TFTP, NTP, SNMP

Étape 4 : Fingerprinting avancé

# Détection OS et versions de services
nmap -sV -O 192.168.56.102
# -sV : Service version detection
# -O : OS detection (nécessite droits root)

# Analyse détaillée avec scripts NSE
nmap -sC 192.168.56.102
# -sC : Exécute les scripts par défaut (safe)

# Scan agressif complet (pour le lab seulement)
nmap -A 192.168.56.102
# -A : Aggressive (OS + Version + Script + Traceroute)
# ATTENTION : Très bruyant, jamais en production!

Étape 5 : Optimisation et timing

# Comparaison des timings
time nmap -T0 192.168.56.102  # Paranoid (5 min+)
time nmap -T1 192.168.56.102  # Sneaky (15-100 sec)
time nmap -T2 192.168.56.102  # Polite (10 sec)
time nmap -T3 192.168.56.102  # Normal (5 sec) [DÉFAUT]
time nmap -T4 192.168.56.102  # Aggressive (2 sec)
time nmap -T5 192.168.56.102  # Insane (<1 sec)

# Scan optimisé pour vitesse/stealth balance
nmap -sS -T4 --min-rate 1000 192.168.56.102
# --min-rate : Au moins 1000 paquets/seconde

Étape 6 : Documentation professionnelle

# Création d'un rapport complet
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
TARGET="192.168.56.102"

# Scan et sauvegarde en formats multiples
nmap -sS -sV -O -p- -T4 $TARGET -oA scan-$TIMESTAMP-$TARGET
# -oA : Génère les trois formats (.nmap, .xml, .gnmap)

# Fichiers générés :
ls -la scan-$TIMESTAMP-$TARGET.*
# scan-20240101-120000-192.168.56.102.nmap : Format lisible
# scan-20240101-120000-192.168.56.102.xml  : Format machine (pour outils)
# scan-20240101-120000-192.168.56.102.gnmap : Format grepable

# Extraction d'informations spécifiques
grep "open" scan-$TIMESTAMP-$TARGET.nmap
grep "OS details" scan-$TIMESTAMP-$TARGET.nmap

# Conversion XML vers HTML (optionnel)
xsltproc scan-$TIMESTAMP-$TARGET.xml -o scan-$TIMESTAMP-$TARGET.html

Étape 7 : Analyse stratégique des résultats

📊 Matrice d'analyse des ports ouverts (exemple Metasploitable2)

Port Service Version Risque Action S13+
21 FTP vsftpd 2.3.4 🔴 CRITIQUE Backdoor connue - Exploit immédiat
22 SSH OpenSSH 4.7p1 🟠 MOYEN Brute-force credentials
80 HTTP Apache 2.2.8 🟠 MOYEN Énumération web, injection
445 SMB Samba 3.0.20 🔴 CRITIQUE MS08-067 exploit possible

🎯 Défi avancé : Profiling complet

Créez un script full-profile.sh qui pour une cible donnée :

  1. Découvre tous les hôtes actifs dans le /24
  2. Scanne les 1000 ports principaux sur chaque hôte
  3. Identifie l'OS de chaque hôte
  4. Génère un rapport HTML avec classification des risques
  5. Exporte les données en CSV pour analyse Excel

Indice : Utilisez nmap -oX et parsez avec xmlstarlet ou Python.

📋 Objectif de la semaine – Validation des compétences

✅ Compétences techniques acquises

  • Maîtrise de 8+ types de scans Nmap et leur cas d'usage
  • Capacité à interpréter les 4 états de ports et leur implication sécurité
  • OS fingerprinting manuel (analyse TTL, window size, etc.)
  • Génération de rapports en 3 formats (nmap, xml, gnmap)
  • Optimisation des scans (timing, débit, évasion)

🧠 Mindset développé

  • Compréhension que la reconnaissance est 80% du succès d'un pentest
  • Habitude de toujours documenter avant de scanner
  • Conscience du compromis vitesse/détectabilité/furtivité
  • Approche méthodique : discovery → scan léger → scan approfondi

🔮 Préparation pour la semaine 13 :

Vous avez maintenant une carte complète de Metasploitable2. La semaine prochaine, nous exploiterons les vulnérabilités identifiées. Assurez-vous d'avoir :

  • Votre rapport Nmap complet de Metasploitable2
  • Identifié au moins 5 services vulnérables
  • Compris la différence entre port ouvert et service exploitable

📚 Ressources avancées

Pour devenir expert Nmap :

⚠️ Erreurs courantes à éviter

  • Scan complet en production : Jamais sans autorisation écrite
  • Oublier les scans UDP : Les services critiques (DNS, DHCP) sont en UDP
  • Négliger la documentation : Un scan non documenté est inutile légalement
  • Scanner depuis son IP personnelle : Utilisez des proxies/VPN en external

🗺️ Frère d'armes,

Cette semaine, vous avez appris à voir l'invisible.

Nmap n'est pas un simple outil technique. C'est une philosophie : comprendre avant d'agir, cartographier avant d'attaquer, observer avant d'engager.

Vous avez découvert que chaque système raconte une histoire à travers ses ports ouverts. Un port 21 avec vsftpd 2.3.4 dit "j'ai une backdoor". Un port 445 avec Samba 3.0.20 dit "je suis vulnérable à MS08-067". Un port 22 avec OpenSSH ancien dit "mes credentials sont peut-être faibles".

Cette capacité à lire le langage silencieux des réseaux est ce qui sépare le script kiddie du professionnel.

Votre rapport Nmap n'est pas une simple liste de ports. C'est une carte au trésor. Chaque port ouvert est une porte potentielle. Chaque version obsolète est une faille potentielle. Chaque service non sécurisé est un chemin potentiel.

La semaine 12 marque la fin de la phase de reconnaissance pure. Vous avez maintenant les yeux pour voir.

La semaine 13, vous donnerez les mains pour agir.

Mais souvenez-vous : un guerrier qui agit sans voir est un soldat aveugle. Un guerrier qui voit sans agir est un espion inutile.

Vous êtes maintenant celui qui voit. Bientôt, vous serez celui qui agit.

Rangez soigneusement votre carte. Aiguisez vos outils d'exploitation.

Le terrain est cartographié. Les cibles sont identifiées. Les failles sont repérées.

L'assaut commence bientôt.

— Platon-Y