Chapitre 3 — Scanning des Réseaux

⏱ ~25 min autonome · ~40 min encadré

Une fois la reconnaissance passive et active épuisées, le scanning marque le passage à une interaction systématique avec la cible : découvrir quelles machines sont vivantes, quels ports sont ouverts, et quels services y répondent.

Le scanning répond à quatre questions simples mais essentielles : quels hôtes sont actifs sur le réseau ? Quels ports y sont ouverts ? Quels services écoutent sur ces ports ? Et quel système d'exploitation fait tourner la machine ? Chaque réponse réduit l'incertitude et oriente les étapes suivantes.

Le handshake TCP à trois voies

TCP établit une connexion fiable via un échange en trois étapes, que tout scan TCP doit comprendre pour interpréter correctement ses résultats :

  1. SYN — le client envoie un paquet de synchronisation pour initier la connexion.
  2. SYN-ACK — le serveur répond s'il accepte la connexion (le port est donc ouvert).
  3. ACK — le client confirme, et la connexion est pleinement établie.

Si le port est fermé, le serveur répond directement par un paquet RST (réinitialisation) au lieu d'un SYN-ACK — c'est cette différence de réponse que les scanners exploitent pour déterminer l'état d'un port sans jamais avoir besoin de compléter une vraie connexion applicative.

Le protocole UDP et ses défis pour le scanning

UDP n'a pas de mécanisme de handshake — il n'y a donc pas de réponse garantie à interpréter. Un port UDP ouvert peut simplement ne rien répondre du tout (le paquet est traité en silence par l'application), rendant le scan UDP intrinsèquement plus lent et moins fiable que son équivalent TCP. En pratique, un port UDP est souvent déclaré « ouvert ou filtré » plutôt que catégoriquement ouvert, faute de confirmation positive.

Mémorisez ! TCP répond de façon prévisible (SYN-ACK ou RST) ce qui rend le scan rapide et fiable. UDP ne répond souvent pas du tout à un port ouvert, ce qui rend son scan lent et ambigu — un silence ne veut pas nécessairement dire « fermé ».

Scan TCP Connect vs scan SYN (furtif)

TypeMécanismeDétectabilité
TCP ConnectComplète le handshake à trois voies en entier — une vraie connexion est établie puis ferméeFacilement journalisée : la connexion complète apparaît dans les journaux applicatifs du serveur
SYN (furtif)Envoie un SYN, note la réponse (SYN-ACK ou RST), puis envoie un RST immédiatement au lieu de compléter la connexionMoins susceptible d'apparaître dans les journaux applicatifs, puisqu'aucune connexion complète n'est jamais établie

Le terme « furtif » est aujourd'hui un peu trompeur : la plupart des pare-feu et IDS modernes détectent très bien un scan SYN. Le nom vient d'une époque où les journaux applicatifs, mais pas les journaux réseau bas niveau, constituaient la principale source de détection.

Scan de version et détection d'OS (fingerprinting)

Au-delà de savoir qu'un port est ouvert, un scanner peut interroger le service qui y répond pour en déduire la version logicielle exacte (utile pour croiser avec des vulnérabilités connues, voir Chapitre 5). Le fingerprinting d'OS repose sur de subtiles différences dans la façon dont chaque système d'exploitation implémente la pile réseau (valeurs par défaut de certains champs TCP/IP) — chaque OS laisse une signature reconnaissable.

Introduction à Nmap

Nmap reste l'outil de scan le plus universellement reconnu du domaine. Sans dépendre d'un laboratoire pratique, voici la logique de sa syntaxe de base :

Commande (concept)Effet
nmap [cible]Scan de base des ports les plus courants
nmap -sS [cible]Scan SYN (furtif)
nmap -sU [cible]Scan UDP
nmap -sV [cible]Détection de version de service
nmap -O [cible]Détection du système d'exploitation
Scénario : Un scan révèle un port 22 ouvert avec un service SSH identifié comme une version vieille de plusieurs années. Le simple fait de connaître la version exacte permet déjà, avant toute exploitation, de vérifier si des vulnérabilités connues (CVE) sont associées à cette version précise — le pont naturel vers le Chapitre 5.

Suite du chapitre → Évasion & cartographie réseau

1. Dans le handshake TCP à trois voies, que signifie une réponse RST au lieu d'un SYN-ACK ?

Un RST est la réponse standard d'un port fermé face à une tentative de connexion.

2. Pourquoi le scan UDP est-il généralement plus lent et moins fiable que le scan TCP ?

L'absence de handshake UDP signifie qu'un port ouvert peut rester silencieux, rendant l'interprétation ambiguë.

3. Qu'est-ce qui distingue un scan SYN d'un scan TCP Connect ?

Le scan SYN envoie un RST après avoir observé la réponse, sans compléter la connexion — contrairement au TCP Connect.

4. Sur quoi repose principalement le fingerprinting d'OS ?

Chaque système d'exploitation implémente certains champs TCP/IP différemment, créant une signature reconnaissable.

5. Quelle commande Nmap active la détection de version de service ?

-sV active la détection de version des services identifiés.

6. Pourquoi le terme « furtif » appliqué au scan SYN est-il aujourd'hui un peu trompeur ?

Le nom date d'une époque où seuls les journaux applicatifs servaient de détection ; les outils modernes détectent le scan SYN sans difficulté.

7. Connaître la version exacte d'un service identifié lors d'un scan sert principalement à :

La version précise permet de croiser avec des bases de vulnérabilités connues avant toute tentative d'exploitation.

8. Combien d'étapes comporte le handshake TCP à trois voies ?

SYN, SYN-ACK, ACK — trois étapes qui établissent une connexion TCP fiable.

9. Un port UDP qui ne répond à aucune sonde doit être interprété comment, prudemment ?

L'absence de réponse UDP est ambiguë — le port peut être ouvert (silencieux par nature applicative) ou filtré par un pare-feu.

10. Que répond typiquement un serveur lorsqu'il accepte une connexion TCP entrante ?

SYN-ACK est la réponse standard d'un port ouvert acceptant la connexion.