Séance 7 : Reconnaissance & Scan Réseau

Table des matières

  1. Objectifs pédagogiques
  2. Introduction : voir avant d’agir
  3. Partie 1 — OSINT : reconnaissance passive
    1. Qu’est-ce que l’OSINT ?
    2. Exercice 1 — Qui est scanme.nmap.org ?
      1. Étape 1 — Résolution DNS
      2. Questions
      3. Étape 2 — WHOIS
      4. Questions
      5. Étape 3 — Shodan
      6. Questions
      7. Synthèse OSINT
  4. Partie 2 — Comprendre Nmap : le TCP Three-Way Handshake
    1. Le Three-Way Handshake TCP (rappel de “Réseau 1” )
    2. Ce que Nmap “voit” selon la réponse
    3. Le Scan SYN (-sS) : la demi-connexion
  5. Partie 3 — Nmap en pratique
    1. Exercice 2 — Scan progressif
      1. Étape 1 — Scan de base
      2. Questions
      3. Étape 2 — Détection des versions de services
      4. Questions
      5. Étape 3 — Détection du système d’exploitation
      6. Questions
      7. Étape 4 — Scan agressif
      8. Questions
    2. Exercice 3 — La “fiche identité” de la cible
  6. Voir les paquets avec Wireshark
    1. Questions
  7. Questions de synthèse
  8. 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.org soit 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

dig envoie une requête à votre résolveur DNS (souvent votre FAI ou 8.8.8.8), qui contacte ensuite les serveurs DNS de nmap.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

  1. Quelle est l’adresse IP de scanme.nmap.org ?
  2. 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

  1. Qui est l’organisation propriétaire du domaine nmap.org ?
  2. 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

  1. Quels ports et services Shodan a-t-il déjà indexés sur scanme.nmap.org ?
  2. Ces données vous semblent-elles cohérentes avec ce qu’on attendrait d’un serveur de démonstration Nmap ?
  3. Qu’avez-vous trouvé en cherchant webcam country:BE ou org: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 nmap Si absent : sudo apt install nmap

Cible : scanme.nmap.org — seul host autorisé pour ce TP.


Exercice 2 — Scan progressif

Étape 1 — Scan de base

nmap scanme.nmap.org

Questions

  1. Quels ports sont ouverts ? Quels services leur sont associés (colonne SERVICE) ?
  2. 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

  1. Quelle version du serveur SSH tourne ? (colonne VERSION)
  2. Quelle version du serveur web ?
  3. 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

  1. Quel système d’exploitation Nmap identifie-t-il ?
  2. 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

  1. Quelles informations supplémentaires obtenez-vous par rapport aux scans précédents ?
  2. Quel est l’inconvénient du scan -A du 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

  1. Retrouvez-vous les échanges SYN → SYN-ACK → RST décrits dans la partie 2 ?
  2. Pour un port filtré, que Wireshark affiche-t-il ?

Questions de synthèse

  1. 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 ?

  2. Un port est marqué filtré par Nmap. Peut-on en déduire qu’aucun service n’écoute derrière ?

  3. 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 ?

  4. 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


This site uses Just the Docs, a documentation theme for Jekyll.