Chapitre 2 : Footprinting & Scanning

Cartographie

Cartographie Réseau & Balayage de Ports

Support officiel de cours pratique : bases réseau (modèle OSI, IP, TCP/UDP), découverte d'hôtes, balayage de ports avec Nmap, détection de version/OS, moteur de scripts NSE et techniques d'évasion pare-feu/IDS.

1. Bases Réseau

Modèle OSI, protocoles IP/TCP/UDP, structure des paquets et handshake TCP en trois temps.

2. Découverte d'Hôtes

Ping sweeps, scan ARP, techniques de host discovery et cartographie du réseau cible.

3. Scan & Évasion

Balayage de ports Nmap, moteur NSE, détection OS/version et contournement pare-feu/IDS.

Introduction — Reconnaissance Active

Concepts Fondamentaux

Reconnaissance Active

  • Principe : le testeur interagit directement avec le système ou le réseau cible pour collecter des données et identifier des vulnérabilités potentielles.
  • Différence avec la recon passive : va au-delà de la simple collecte sans contact — inclut du scan, du sondage (probing) et une interaction directe avec les services réseau.
  • Conséquence : génère du trafic détectable, contrairement à l'OSINT du chapitre précédent.

Où se situe cette phase ?

  • Après la reconnaissance passive (OSINT, footprinting web) vue au chapitre 1.
  • Avant l'énumération détaillée des services et l'exploitation.
  • Elle répond à 3 questions : quels hôtes sont actifs ? quels ports sont ouverts ? quel OS tourne dessus ?

Bases Réseau — Protocoles & Modèle OSI

Networking Primer

Protocoles & Paquets

  • Les hôtes communiquent via des protocoles réseau normalisés, permettant à des systèmes différents (matériel/logiciel) d'échanger des données.
  • Toute communication est transportée sous forme de paquets : des flux binaires (0 et 1) circulant sur un support physique (Ethernet, Wi-Fi...).
  • Chaque paquet est composé d'un en-tête (header), qui permet au destinataire d'interpréter correctement les données, et d'une charge utile (payload), le contenu réel transmis.

Le Modèle OSI

  • Un modèle conceptuel en 7 couches développé par l'ISO pour standardiser les fonctions de communication réseau.
  • Il facilite l'interopérabilité entre systèmes et technologies réseau très différents.
  • Note : ce n'est pas un plan strict à suivre à la lettre, mais un cadre de référence pour comprendre et concevoir des architectures réseau.

Bases Réseau — Couche Réseau (IP)

OSI / Layer 3

Couche Réseau (L3)

  • Responsable de l'adressage logique, du routage et de l'acheminement des paquets entre réseaux différents.
  • IPv4 : adresses sur 32 bits, notation en quatre octets séparés par des points.
  • IPv6 : adresses sur 128 bits en notation hexadécimale, conçu pour pallier l'épuisement des adresses IPv4.
  • ICMP : utilisé pour le rapport d'erreurs et le diagnostic (ping, traceroute).

En-tête IPv4 — Champs Clés

  • Version (4 bits) : version du protocole IP (4 pour IPv4).
  • TTL (8 bits) : nombre maximal de sauts (routeurs) avant destruction du paquet, décrémenté à chaque saut.
  • Protocol (8 bits) : identifie le protocole encapsulé — 6 pour TCP, 17 pour UDP, 1 pour ICMP.
  • Source / Destination IP : adresses de l'émetteur et du destinataire du paquet.

Bases Réseau — Couche Transport (TCP)

OSI / Layer 4

TCP — Caractéristiques

  • Orienté connexion : une connexion est établie avant tout échange de données.
  • Fiable : chaque segment est acquitté (ACK) ; un segment perdu est automatiquement retransmis.
  • Ordonné : les segments arrivant dans le désordre sont réordonnés avant d'être transmis à l'application.

Handshake TCP en 3 Temps

  • 1. SYN : le client envoie un segment SYN avec un numéro de séquence initial choisi aléatoirement.
  • 2. SYN-ACK : le serveur répond avec SYN + ACK et génère son propre numéro de séquence.
  • 3. ACK : le client acquitte la réponse du serveur — la connexion est établie et les données peuvent circuler dans les deux sens.

Bases Réseau — Drapeaux TCP, Ports & UDP

TCP Flags / UDP

Drapeaux & Plages de Ports

  • SYN : initie une demande de connexion.
  • ACK : acquitte la réception de données.
  • FIN : initie la terminaison de la connexion.
  • Well-known ports (0-1023) : réservés aux services standardisés par l'IANA.
  • Registered ports (1024-49151) : assignés à des applications spécifiques.
# Lister les connexions TCP actives
netstat -antp

UDP — Caractéristiques

  • Protocole sans connexion : chaque paquet est traité indépendamment, aucun état persistant entre émetteur et récepteur.
  • Non fiable : aucune garantie de livraison ni mécanisme de retransmission, mais plus rapide que TCP.
  • Utilisé pour les applications temps réel : streaming audio/vidéo, jeux en ligne, VoIP.

Découverte d'Hôtes — Pourquoi Cartographier ?

Network Mapping

Pourquoi Mapper un Réseau ?

  • Exemple : un périmètre de test défini en /16 peut contenir jusqu'à 65536 adresses IP possibles.
  • La première tâche du pentester est de déterminer lesquelles de ces adresses sont réellement attribuées à un hôte, et lesquelles sont actives.
  • Sans cette étape, impossible de savoir où concentrer l'effort de test.

Objectifs de la Cartographie

  • Découverte des hôtes actifs sur le réseau.
  • Identification des ports ouverts et des services associés.
  • Cartographie de la topologie réseau (routeurs, switchs, pare-feu).
  • Fingerprinting de l'OS et détection des versions de service.
  • Identification des mesures de filtrage (pare-feu, IPS) en place.

Découverte d'Hôtes — Techniques Disponibles

Host Discovery

Techniques de Host Discovery

  • Ping Sweep : requêtes ICMP Echo sur une plage d'IP.
  • ARP Scanning : efficace pour découvrir des hôtes sur un réseau local (même domaine de diffusion).
  • TCP SYN Ping : scan "half-open", plus furtif que l'ICMP.
  • UDP Ping / TCP ACK Ping / SYN-ACK Ping : alternatives utiles quand un hôte ne répond ni à l'ICMP ni au SYN classique.

Avantages / Limites

  • ICMP Ping : rapide et largement supporté, mais souvent bloqué par les pare-feu et facilement détecté.
  • TCP SYN Ping : plus furtif, peut contourner certains pare-feu qui autorisent les connexions sortantes, mais certains hôtes ne répondent tout simplement pas.
  • Il n'existe pas de technique universelle : le choix dépend du réseau cible et des objectifs du test.

Ping Sweep — Fonctionnement ICMP

Ping Sweep

Principe Technique

  • Un ping sweep envoie une série de requêtes ICMP Echo Request (Type 8, Code 0) sur une plage d'adresses IP.
  • Une réponse ICMP Echo Reply (Type 0, Code 0) confirme que l'hôte est actif.

Point d'Attention

  • L'absence de réponse ne signifie pas forcément que l'hôte est hors ligne : congestion réseau, indisponibilité temporaire ou pare-feu bloquant l'ICMP peuvent expliquer ce silence.
  • Toujours interpréter le résultat dans le contexte du réseau testé.

Découverte d'Hôtes — Commandes Pratiques

Ping / fping / Nmap

Ping & fping

# Ping simple d'une cible
ping @IP_cible

# Envoyer seulement 5 paquets
ping -c 5 @IP_cible

# Ping sweep sur tout un sous-réseau
fping -a -g @IP_reseau

# N'afficher que les hôtes actifs
fping -a -g @IP_reseau 2>/dev/null

Découverte d'Hôtes avec Nmap

# Ping sweep via Nmap (sans scan de ports)
nmap -sn @IP_cible

# Forcer l'envoi au niveau IP brut
nmap -sn @IP_reseau --send-ip

# Découverte à partir d'une liste d'IP
nmap -sn -iL fichier.txt

# TCP SYN ping sur le port 22 uniquement
nmap -sn -PS22 @IP_cible

Balayage de Ports — Fondamentaux Nmap

Nmap / Scanning

Méthodes de balayage de ports réseau TCP et UDP

Scan de Base

# Scan par défaut (SYN + host discovery)
nmap @IP_cible

# Ignorer la découverte d'hôtes
nmap -Pn @IP_cible

# Scan rapide (100 ports au lieu de 1000)
nmap -Pn -F @IP_cible

# Scanner un port précis / une plage
nmap -Pn -p80 @IP_cible
nmap -Pn -p1-100 @IP_cible

Modes de Scan TCP/UDP

# TCP SYN scan (furtif, privilèges root requis)
nmap -Pn -sS @IP_cible

# TCP Connect scan (sans privilèges root)
nmap -Pn -sT @IP_cible

# UDP scan
nmap -Pn -sU @IP_cible

Détection de Version, OS & Moteur NSE

Nmap / NSE

Détection Version & OS

# Scan furtif de tous les ports
nmap -sS -p- @IP_cible

# + détection de version de service
nmap -sS -sV -p- @IP_cible

# + détection de l'OS
nmap -sS -sV -O -p- @IP_cible

# Détection OS en mode agressif
nmap -sS -sV -O --osscan-guess -p- @IP_cible

Nmap Scripting Engine (NSE)

# Lister tous les scripts NSE disponibles
ls -al /usr/share/nmap/scripts

# Chercher un script par mot-clé
ls -al /usr/share/nmap/scripts | grep -e "mot-cle"

# Scan avec les scripts par défaut
nmap -sS -sV -sC -p- @IP_cible

# Scan agressif complet (OS, version, scripts, traceroute)
nmap -sS -A @IP_cible

Évasion — Pare-feu & IDS

Evasion

Techniques de Contournement

# Scan ACK (utile pour cartographier des règles de filtrage)
nmap -Pn -sA @IP_cible

# Fragmentation des paquets
nmap -Pn -sS -sV -f @IP_cible

# Fragmentation + taille de paquet forcée (MTU)
nmap -Pn -sS -sV -f --mtu 32 @IP_cible

# Longueur de données personnalisée + IP leurre (decoy)
nmap -Pn -sS -sV -f --data-length 200 -D @IP_decoy @IP_cible

# + changement du port source (ex: 53)
nmap -Pn -sS -sV -f --data-length 200 -D @IP_decoy -g 53 @IP_cible

Pourquoi c'est Sensible

  • Ces techniques visent explicitement à contourner des dispositifs de détection (pare-feu, IDS/IPS).
  • Elles ne doivent être utilisées que dans le cadre strict d'un mandat de test autorisé, jamais sur un périmètre non convenu.
  • À documenter précisément dans le rapport final : ce qui a été tenté, et pourquoi.

Optimisation du Scan & Formats de Sortie

Timing / Output

Optimiser un Scan Nmap

# Timeout par hôte avant de passer au suivant
nmap -Pn -sS -F --host-timeout 1s;3m;5h @IP_cible

# Délai entre chaque sonde envoyée
nmap -sS -sV -F --scan-delay 5s @IP_cible

# Vitesse du scan (0 = très lent/furtif, 5 = agressif)
nmap -sS -sV -F -T 1 @IP_cible

Formats de Sortie & Import Metasploit

# Export au format texte normal
nmap -Pn -sS -F -T4 -oN resultat.txt @IP_cible

# Export au format XML
nmap -sS -sV -F -oX resultat.xml @IP_cible

# Importer le résultat dans Metasploit
msfconsole
workspace -a pentest_1
db_import resultat.xml

# Scanner directement depuis msfconsole
db_nmap -Pn -sS -O -sV @IP_cible

Synthèse & Methodology Checklist — Chapitre 2

Récapitulatif

Checklist Pratique de Footprinting & Scanning

  • 1. Bases réseau : maîtriser OSI, IP, TCP/UDP et le handshake en 3 temps avant de lancer un scan.
  • 2. Host Discovery : ping sweep (ping, fping) et nmap -sn pour identifier les hôtes actifs du périmètre.
  • 3. Port Scanning : nmap -sS -sV -O -p- pour couvrir tous les ports, la version des services et l'OS.
  • 4. NSE : nmap -sS -sV -sC -p- pour les scripts par défaut, ou --script=nom pour un script ciblé.
  • 5. Évasion : fragmentation (-f), decoy (-D) et changement de port source (-g), uniquement dans le cadre du mandat autorisé.
  • 6. Documentation : exporter les résultats (-oN / -oX) et les importer dans Metasploit pour la suite du test.