Séance 7 : Reconnaissance & Scan Réseau
Table des matières
- Objectifs pédagogiques
- Introduction : voir avant d’agir
- Partie 1 — OSINT : reconnaissance passive
- Partie 2 — Comprendre Nmap : le TCP Three-Way Handshake
- Partie 3 — Nmap en pratique
- Voir les paquets avec Wireshark
- Questions de synthèse
- Ressources
Objectifs pédagogiques
À la fin de la séance, l’étudiant sera capable de :
- Collecter des informations sur une cible de manière passive (OSINT), sans envoyer de paquets directement vers elle.
- Expliquer le fonctionnement du TCP Three-Way Handshake et son lien avec la détection de ports.
- Utiliser Nmap pour scanner une cible et interpréter les résultats.
- Distinguer un port ouvert, fermé et filtré.
- Dresser une “fiche identité” d’une machine distante à partir d’informations publiques et de scans.
Introduction : voir avant d’agir
Avant toute attaque, un attaquant commence par la reconnaissance : collecter un maximum d’informations sur sa cible, idéalement sans déclencher d’alarme.
Cette phase se divise en deux grandes étapes :
| Phase | Description | Contact direct avec la cible ? |
|---|---|---|
| OSINT passif | Exploitation de sources publiques (DNS, Shodan, WHOIS…) | ❌ Non |
| Scan actif | Envoi de paquets vers la cible pour découvrir ses services | ✅ Oui |
⚠️ Rappel légal : Scanner un système sans autorisation est illégal dans la plupart des pays (en Belgique : loi du 28 novembre 2000 sur la criminalité informatique). Dans ce TP, nous utilisons uniquement
scanme.nmap.org, un serveur mis à disposition par les créateurs de Nmap explicitement pour l’apprentissage.Source : https://scanme.nmap.org — “You are authorized to scan this machine with Nmap or other port scanners.”
Note importante pour l’environnement scolaire : Il est possible que
scanme.nmap.orgsoit inaccessible depuis le réseau de l’école en raison de restrictions de pare-feu. Si vous rencontrez des problèmes de connectivité, vous pouvez utiliser les cibles alternatives suivantes pour les exercices de scan réseau (assurez-vous toujours d’avoir l’autorisation avant de scanner une cible) :
http://demo.testfire.net/(pour les scans web)https://hack-yourself-first.com/(pour les scans web)
Partie 1 — OSINT : reconnaissance passive
Avant de commencer les consignes de cette partie, assurez-vous de vous être inscrit sur https://ipinfo.io et https://www.shodan.io. Un compte gratuit est suffisant pour les exercices de ce TP.
Durée estimée : 15–20 min
Aucune installation requise. Tout se fait depuis un navigateur web et le terminal Linux ou Windows.
Qu’est-ce que l’OSINT ?
L’Open Source Intelligence (OSINT) désigne la collecte d’informations à partir de sources publiquement accessibles : DNS, WHOIS, moteurs de recherche spécialisés, réseaux sociaux, certificats TLS…
Avant même de toucher une cible, une quantité considérable d’informations la concernant est déjà publique. C’est le point de départ de toute reconnaissance sérieuse.
Exercice 1 — Qui est scanme.nmap.org ?
Étape 1 — Résolution DNS
Depuis votre terminal Linux :
dig scanme.nmap.org
La réponse se trouve dans la section ANSWER SECTION — cherchez la ligne avec le type A qui contient l’adresse IPv4.
Sur Windows (PowerShell ou CMD) :
nslookup scanme.nmap.org
digenvoie une requête à votre résolveur DNS (souvent votre FAI ou 8.8.8.8), qui contacte ensuite les serveurs DNS denmap.org. Vous n’envoyez rien directement à la cible, mais cette requête laisse des traces chez les intermédiaires — c’est une reconnaissance indirecte, pas totalement invisible.
Questions
- Quelle est l’adresse IP de
scanme.nmap.org? - Dans quel pays est-elle hébergée ? (vérifiez sur https://ipinfo.io)
Étape 2 — WHOIS
Rendez-vous sur https://whois.domaintools.com/nmap.org (ou whois nmap.org dans le terminal).
Questions
- Qui est l’organisation propriétaire du domaine
nmap.org? - Depuis quand est-il enregistré ?
Étape 3 — Shodan
Avant de chercher votre cible, prenez 2 minutes pour mesurer l’étendue de ce que Shodan indexe. Rendez-vous sur https://www.shodan.io et essayez :
webcam country:BE
org:EPHEC
Cherchez ensuite votre cible :
scanme.nmap.org
Shodan est un moteur de recherche qui scanne en permanence l’ensemble d’Internet et indexe les services exposés (serveurs web, SSH, bases de données, caméras IP, IoT…). Il ne scanne pas à votre demande — il vous montre ce qu’il a déjà collecté. Vous n’envoyez rien vers la cible.
Source : Shodan — The Search Engine for the Internet of Things
L’historique complet n’est visible qu’avec un compte payant. Avec le compte gratuit, vous voyez la dernière capture et les ports principaux — c’est suffisant.
Questions
- Quels ports et services Shodan a-t-il déjà indexés sur
scanme.nmap.org? - Ces données vous semblent-elles cohérentes avec ce qu’on attendrait d’un serveur de démonstration Nmap ?
- Qu’avez-vous trouvé en cherchant
webcam country:BEouorg:EPHEC? Y a-t-il des résultats surprenants ?
Synthèse OSINT
Complétez ce tableau (dans un fichier texte temporaire) avant de lancer Nmap :
| Champ | Valeur |
|---|---|
| Adresse IP | |
| Propriétaire du domaine | |
| Pays d’hébergement | |
| Ports déjà connus (Shodan) | |
| Services détectés (Shodan) |
Gardez ce tableau sous la main — vous le compléterez avec les résultats Nmap à la fin.
Partie 2 — Comprendre Nmap : le TCP Three-Way Handshake
Durée estimée : 10 min
Avant de lancer Nmap, il faut comprendre ce qu’il mesure réellement — et pour cela, comprendre comment TCP établit (ou n’établit pas) une connexion.
Le Three-Way Handshake TCP (rappel de “Réseau 1” )
Lorsqu’un client veut se connecter à un serveur, TCP utilise un mécanisme en 3 étapes :
Client Serveur
| |
|-------- SYN ----------->| "Je veux me connecter au port X"
| |
|<------- SYN-ACK ---------| "OK, je suis là" (port OUVERT)
| |
|-------- ACK ----------->| "Reçu. Connexion établie."
| |
Source : RFC 793 — https://www.rfc-editor.org/rfc/rfc793
Ce que Nmap “voit” selon la réponse
Nmap envoie un paquet SYN et analyse la réponse pour déterminer l’état du port :
| Réponse reçue | État du port | Signification |
|---|---|---|
SYN-ACK | Ouvert | Un service écoute et répond |
RST (Reset) | Fermé | Rien n’écoute sur ce port |
Pas de réponse / ICMP unreachable | Filtré | Un pare-feu bloque le trafic |
Notez que l’état filtré ne permet pas de savoir si un service écoute derrière — c’est précisément l’intention d’un pare-feu bien configuré.
Le Scan SYN (-sS) : la demi-connexion
Le scan par défaut de Nmap (qui nécessite les droits root pour manipuler directement les paquets réseau) est le SYN scan. Bien que parfois qualifié de “furtif”, il n’est plus invisible aux systèmes de détection modernes. Ce scan n’établit jamais la connexion TCP complète :
Nmap Serveur
| |
|-------- SYN ----------->|
| |
|<------- SYN-ACK ---------| (port ouvert détecté ✓)
| |
|-------- RST ----------->| Nmap interrompt ici
Ce que cela signifie concrètement :
- L’application serveur (Apache, SSH…) ne voit jamais de connexion établie — elle ne la loggue pas.
- En revanche, le système d’exploitation du serveur et les équipements réseau (firewall, IDS) voient les SYN entrants et peuvent les détecter. Bien que le SYN scan soit moins bruyant qu’une connexion complète, il n’est pas invisible et est facilement identifiable par les systèmes de détection modernes. La notion de “furtivité” est donc relative.
⚠️ Le SYN scan nécessite sudo car il manipule directement les paquets réseau (raw sockets).
Source : Nmap Book — Port Scanning Techniques
Partie 3 — Nmap en pratique
Durée estimée : 25–30 min
Outil requis : Nmap. Vérifiez :
which nmapSi absent :sudo apt install nmapCible :
scanme.nmap.org— seul host autorisé pour ce TP.
Exercice 2 — Scan progressif
Étape 1 — Scan de base
nmap scanme.nmap.org
Questions
- Quels ports sont ouverts ? Quels services leur sont associés (colonne
SERVICE) ? - Combien de ports Nmap a-t-il scannés par défaut ? (lisez la ligne de résumé en bas)
Étape 2 — Détection des versions de services
nmap -sV scanme.nmap.org
-sVétablit de vraies connexions aux services ouverts et leur envoie des “sondes” pour identifier le logiciel et sa version. C’est plus lent et plus visible qu’un SYN scan simple. Comptez 1–3 minutes.
Questions
- Quelle version du serveur SSH tourne ? (colonne
VERSION) - Quelle version du serveur web ?
- Y a-t-il un service dont la version n’a pas pu être déterminée ?
Étape 3 — Détection du système d’exploitation
sudo nmap -O scanme.nmap.org
Nmap tente d’identifier l’OS en analysant les particularités de l’implémentation TCP/IP de la cible : valeur du TTL, taille de la fenêtre TCP, options activées. Chaque système d’exploitation a ses propres “empreintes” dans ces paramètres.
Questions
- Quel système d’exploitation Nmap identifie-t-il ?
- Nmap est-il certain de sa réponse, ou propose-t-il plusieurs candidats ?
Étape 4 — Scan agressif
sudo nmap -A scanme.nmap.org
Le flag -A combine la détection d’OS (-O), la détection de versions (-sV), les scripts NSE par défaut (-sC) et un traceroute.
Comptez 3–5 minutes pour ce scan.
Alors, si vous êtes juste sur le temps, passez cet exercice et allez directement à l’exercice sur Wireshark.
Questions
- Quelles informations supplémentaires obtenez-vous par rapport aux scans précédents ?
- Quel est l’inconvénient du scan
-Adu point de vue de la discrétion ?
Exercice 3 — La “fiche identité” de la cible
Complétez ce tableau (dans votre fichier texte) en croisant vos résultats OSINT et Nmap :
| Champ | Source | Valeur |
|---|---|---|
| Adresse IP | DNS | |
| Propriétaire du domaine | WHOIS | |
| Système d’exploitation | Nmap -O | |
| Ports ouverts (top 1000) | Nmap défaut | |
| Version SSH | Nmap -sV | |
| Version serveur web | Nmap -sV | |
| Données déjà connues avant le scan | Shodan |
En tant qu’administrateur de ce serveur : lequel de ces éléments vous inquiéterait le plus si un inconnu l’avait collecté ? Que feriez-vous pour limiter cette exposition ?
Voir les paquets avec Wireshark
Durée estimée : 10-15 min
Ouvrez Wireshark sur votre interface réseau principale avant de lancer le scan. Appliquez ce filtre :
tcp and host scanme.nmap.org
Puis lancez :
sudo nmap -sS scanme.nmap.org
Questions
- Retrouvez-vous les échanges SYN → SYN-ACK → RST décrits dans la partie 2 ?
- Pour un port filtré, que Wireshark affiche-t-il ?
Questions de synthèse
-
Quelle est la différence fondamentale entre la reconnaissance passive (OSINT) et le scan actif (Nmap) du point de vue de la détection par la cible ?
-
Un port est marqué filtré par Nmap. Peut-on en déduire qu’aucun service n’écoute derrière ?
-
Vous scannez un serveur et relevez qu’il tourne Apache 2.2.14 sur le port 80. En quoi cette information est-elle problématique pour l’administrateur ?
-
Quelles mesures un administrateur peut-il mettre en place pour réduire les informations qu’un scan Nmap révèle sur son serveur ?
Ressources
- Nmap Book (officiel) — Manuel complet de Nmap
- Nmap Tutorial — HackerTarget — Tutoriel avec explication du Three-Way Handshake
- Shodan — Moteur de recherche OSINT
- RFC 793 — TCP — Spécification originale du handshake TCP
- scanme.nmap.org — Cible officielle autorisée