Reconnaissance & Scanning de Vulnérabilités

1- Introduction

Dans le cycle du pentesting, la phase de balayage(scanning) succède à la reconnaissance. Si la reconnaissance définit la « surface », le scanning pénètre dans les « fondations ».

  • Criticité : Le scanning transforme des noms de domaines et des plages IP en cibles concrètes (ports ouverts, services, versions). C’est ici que l’on identifie la porte d’entrée.
  • Attaques réelles : La plupart des intrusions massives (comme WannaCry) ont commencé par un scan de ports (ex: port 445/SMB) suivi de l’exploitation d’une vulnérabilité non patchée.
  • Profils : Les auditeurs de sécurité et les administrateurs systèmes utilisent le balayage pour cartographier le réseau et vérifier l’étanchéité des pare-feux.

2-  Fondamentaux

Le scanning repose sur la compréhension des protocoles de communication.

  • Les Ports : Canaux de communication (0 à 65535). Les ports « Bien Connus » (0-1023) hébergent les services critiques (HTTP: 80, SSH: 22, FTP: 21).
  • Le Three-Way Handshake (TCP) : Le mécanisme de connexion en trois temps :
    1. SYN (Client ⇒ Serveur : « Je veux me connecter »)
    2. SYN-ACK (Serveur ⇒ Client : « D’accord, je suis prêt »)
    3. ACK (Client ⇒ Serveur : « C’est parti ! »)
  • UDP : Protocole sans connexion (plus rapide mais moins fiable), souvent utilisé pour le DNS ou le streaming.
  • Découverte d’hôtes : Utiliser des requêtes ICMP (Ping) pour savoir si une machine est « vivante ».

3-  Fonctionnement

Le scanning se déroule en trois phases méthodiques :

  1. Vérification de disponibilité : Utilisation de ping ou fping (pour scanner plusieurs cibles en parallèle) afin d’identifier les machines actives.
  2. Balayage de ports (Port Scanning) : Envoi de paquets spécifiques pour voir comment le serveur répond. Une réponse SYN-ACK signifie que le port est ouvert ; un RST (Reset) signifie qu’il est fermé.
  3. Analyse de vulnérabilités : Comparaison des versions de services détectées avec des bases de données de failles connues (CVE) ou utilisation de scripts automatisés.

4- Scénarios réels d’attaque

Scénario A : La fuite par les documents (OSINT)

  • Cible : Un grand cabinet d’avocats.
  • Action : Utilisation de MetaGooFil pour extraire les PDF publics.
  • Résultat : Les métadonnées révèlent les noms d’utilisateurs (j.dupont) et les chemins réseaux internes.

Scénario B : Le serveur oublié (Nmap)

  • Cible : Une filiale d’un groupe industriel.
  • Action : Scan Nmap complet sur une plage IP oubliée.
  • Résultat : Détection d’un vieux serveur Telnet (port 23) acceptant les identifiants par défaut (admin/admin).

Scénario C : Détection de faille critique (Nessus)

  • Cible : Un serveur web interne.
  • Action : Scan de vulnérabilités automatisé avec Nessus.
  • Résultat : Identification d’une vulnérabilité « Critical » de type exécution de code à distance (RCE) sur une version obsolète d’Apache Struts.

5- Démonstration pratique (Outils de Kali)

Maîtrise de Nmap

  • Scan rapide : nmap 192.168.1.1
  • Scan de versions de services et OS : nmap -sV -O 192.168.1.1
  • Scan agressif (T4) : nmap -A -T4 192.168.1.1
  • Scan furtif (SYN Stealth) : nmap -sS 192.168.1.1 (ne termine pas le handshake pour éviter les logs).

Découverte massive avec Fping

fping -a -g 192.168.1.0/24

Affiche uniquement les hôtes actifs sur tout un sous-réseau.

Analyse automatisée avec Nessus

  1. Démarrage : Lancer le service via le terminal Kali.
  2. Configuration : Créer un « New Scan » ⇒ « Basic Network Scan ».
  3. Analyse : Interprétation du rapport (Rouge: Critique, Orange: Moyen, Bleu: Info).

6- Méthodes de détection

  • IDS/IPS : Détectent les « Port Sweeps » (balayages rapides de ports sur plusieurs machines).
  • Pare-feux (Firewalls) : Peuvent bloquer les paquets ICMP (Ping) pour rendre les machines « invisibles ».
  • SIEM : Analyse les tentatives de connexion répétées sur des ports fermés.

7- Méthodes de protection

  • Filtrage de ports : Fermer tout ce qui n’est pas strictement nécessaire (politique « Deny All » par défaut).
  • Changer les ports par défaut : Déplacer SSH du port 22 vers un port aléatoire (limite les scripts automatisés).
  • Scanner régulièrement : Utiliser Nessus ou OpenVAS en interne pour trouver ses propres failles avant les attaquants.
  • Désactiver ICMP : Empêcher le système de répondre au Ping si la visibilité n’est pas requise.

8- Checklist professionnelle

Pour le Pentester

  • [ ] Identifier les hôtes actifs via Ping/Fping.
  • [ ] Scanner les 1000 ports les plus courants avec Nmap.
  • [ ] Identifier les versions exactes des services avec nmap (-sV).
  • [ ] Lancer un scan de vulnérabilités (Nessus).
  • [ ] Tester les identifiants par défaut sur les services trouvés (Telnet, SSH).

Pour l’Administrateur

  • [ ] Appliquer les correctifs de sécurité (Patching).
  • [ ] Désactiver les protocoles non sécurisés (Telnet, FTP au profit de SSH, SFTP).
  • [ ] Masquer les bannières de service pour ne pas révéler les versions logicielles.

9- Erreurs

  • Débutants : Lancer un scan agressif (-T5) qui fait planter les services fragiles de la cible ou se fait détecter immédiatement.
  • Entreprises : Ne scanner que le réseau externe en oubliant que l’attaquant peut déjà être à l’intérieur.
  • Développeurs : Laisser des ports de « debug » ou de bases de données ouverts sur l’internet public.

10- Résumé exécutif

  • Pour le décideur : Le scanning est le check-up santé de votre réseau. Il permet de voir votre infrastructure avec les yeux d’un attaquant.
  • Pour le responsable IT : Un port ouvert est une porte déverrouillée. La réduction de la surface d’attaque est la défense la plus rentable.
  • Pour le formateur : Insistez sur la différence entre TCP (précis) et UDP (complexe à scanner). Apprenez aux étudiants à lire entre les lignes des résultats Nmap.

⚠️ Éthique & Légalité : Le scanning actif est intrusif. Scanner les ports d’une entreprise sans autorisation peut être considéré comme une tentative d’accès frauduleux.