🔍 Scan de vulnérabilités & Patch Management
Bloc 3
Module 3.4
Séance 2/2
BTS SIO SISR
| Formation | BTS SIO option SISR — IRIS Mediaschool |
| Bloc | B3 — Cybersécurité des services informatiques |
| Module | M3.4 — Disponibilité, intégrité et confidentialité |
| Durée | 3h30 (5 min rappel · 70 min théorie · 85 min TP · 10 min synthèse) |
| Prérequis | C3.4.2 Séance 1 — CVE, CVSS, sources de veille, priorisation |
| Matériel | Machine admin avec Nmap, 2 VMs Debian vulnérables (snapshots préparés) |
🎯 Objectifs
- Utiliser Nmap pour la découverte et la détection de vulnérabilités (NSE)
- Interpréter les résultats de scan et les bannières de version
- Comprendre l'architecture et l'usage d'OpenVAS/GVM
- Appliquer un processus de patch management structuré en 7 phases
- Corriger des vulnérabilités et valider par rescan
🔥 Accroche — WannaCry était 100% détectable (2017)
En 2017, un simple scan Nmap avec le script smb-vuln-ms17-010 sur un parc aurait signalé toutes les machines vulnérables à EternalBlue en quelques minutes. Beaucoup d'organisations touchées disposaient des outils mais ne les utilisaient pas régulièrement. Disposer d'un scanner ne sert que si ses sorties s'intègrent dans un processus de maintenance.
📖 Section 1 — Nmap : de la découverte à la détection de vulnérabilités
Modes de scan et options essentielles
# Découverte des hôtes actifs (ping scan)
nmap -sn 192.168.1.0/24
# Scan SYN half-open (le plus courant — requiert root)
sudo nmap -sS 192.168.1.10
# Détection de versions des services
nmap -sV 192.168.1.10
# Détection OS + versions + scripts par défaut (scan complet)
sudo nmap -sS -sV -O --script=default 192.168.1.10
# Scan avec script de vulnérabilité SMB (détecte EternalBlue)
sudo nmap -p 445 --script smb-vuln-ms17-010 192.168.1.0/24
# Exporter en XML pour analyse
sudo nmap -sS -sV -oX /tmp/scan_innovattech.xml 192.168.1.0/24
Scan SYN vs Scan TCP complet
| Mode | Flag | Connexion TCP | Logs applicatifs | Requiert root |
| SYN (half-open) | -sS | Non établie | Moins de logs | Oui |
| TCP connect | -sT | Complète (3-way) | Logs complets | Non |
Nmap Scripting Engine (NSE) — scripts utiles
| Script | Catégorie | Usage |
smb-vuln-ms17-010 | vuln | Détecte EternalBlue (CVE-2017-0144) |
http-headers | discovery | Vérifie les headers de sécurité HTTP (CSP, HSTS…) |
ssl-cert | discovery | Vérifie le certificat TLS (expiration, SAN) |
ftp-anon | auth | Vérifie si FTP autorise l'accès anonyme |
⚖️ Éthique et légalité — Scanner un réseau sans autorisation est illégal. N'effectuez des scans que sur des environnements de laboratoire ou avec une autorisation écrite explicite du propriétaire du réseau.
📖 Section 2 — OpenVAS/GVM : scan de vulnérabilités complet
Architecture GVM
- gvmd — démon d'orchestration (tâches, utilisateurs, politiques)
- openvas-scanner — exécute les NVT (Network Vulnerability Tests) — > 90 000 tests
- GSA (Greenbone Security Assistant) — interface web
# Déploiement rapide via Docker (usage pédagogique ou PME)
docker pull greenbone/community-edition
# ou via script officiel
curl -f -L https://greenbone.github.io/docs/latest/_static/setup-and-start-greenbone-community-edition.sh -o setup-gce.sh
bash setup-gce.sh
# Accéder à https://localhost:9392
Processus de patch management — 7 phases
| Phase | Action |
| 1. Inventaire | Lister machines, OS, applications, versions, exposition |
| 2. Scan | Planifier des scans réguliers (mensuel minimum, hebdomadaire pour actifs exposés) |
| 3. Priorisation | CVSS × exposition × criticité métier × exploit disponible |
| 4. Test pré-prod | Tester le correctif dans un environnement contrôlé avant production |
| 5. Déploiement | WSUS (Windows), apt/yum (Linux), unattended-upgrades pour sécurité |
| 6. Vérification post-patch | Rescanner les hôtes corrigés pour confirmer la disparition des vulnérabilités |
| 7. Documentation | Tickets GLPI, dates, versions patchées, rollback plan, rapport d'audit |
SLA recommandés (ANSSI)
| Criticité | Délai de correction |
| Critique avec PoC public | 24 heures |
| Critique sans PoC | 72 heures |
| Élevée | 7 jours |
| Modérée | 30 jours |
# Déploiement patches sécurité Debian/Ubuntu
sudo apt update
sudo unattended-upgrade --dry-run # Test d'abord
sudo unattended-upgrade # Appliquer
# Vérifier les paquets mis à jour
grep " upgraded" /var/log/dpkg.log | tail -20
🛠️ TP — Audit InnovatTech (85 min)
Objectif : scanner 2 serveurs Debian vulnérables, identifier les 3 CVE critiques, appliquer les corrections, rescanner et produire un rapport d'audit.
Étape 1 — Découverte et scan complet
# Découverte des hôtes
sudo nmap -sn 192.168.56.0/24
# Scan détaillé avec scripts vulnérabilité
a_ip=192.168.56.101
sudo nmap -sS -sV --script=vuln -oX /tmp/scan_srv-deb-01.xml $a_ip
# Rechercher les vulnérabilités dans le XML
grep -i "VULNERABLE\|CVE" /tmp/scan_srv-deb-01.xml | head -30
Étape 2 — Application des corrections
# Mettre à jour un paquet spécifique
sudo apt update
sudo apt install --only-upgrade -y nom-du-paquet
# Désactiver un service inutile
sudo systemctl disable --now service-inutile
sudo systemctl status service-inutile --no-pager
Étape 3 — Rescan de validation
# Vérifier que la vulnérabilité a disparu
sudo nmap -sS -sV --script=vuln $a_ip | grep -E "VULNERABLE|open|version"
Rapport d'audit attendu (1 page)
- Scope : machines scannées, dates, outils et versions
- Méthode : commandes Nmap utilisées
- Résultats : tableau des 3 CVE (CVE ID, CVSS, description)
- Corrections : commandes exactes, dates, effet observé
- Résiduel : recommandations complémentaires
💬 Synthèse — Question finale
Quelle est la différence entre un scan de vulnérabilités et un test de pénétration ?
Un scan de vulnérabilités est une analyse automatisée qui inventorie les services et détecte des signatures de vulnérabilités connues — il s'intègre dans un processus de maintenance régulier. Un test de pénétration est une démarche manuelle et ciblée qui exploite des vulnérabilités pour démontrer un impact réel. On réalise des scans réguliers pour la conformité et la maintenance, et des pentests ponctuels (annuels) pour évaluer la résilience opérationnelle.
📝 QCM — Testez vos connaissances
- Quelle option Nmap permet de détecter la vulnérabilité EternalBlue (CVE-2017-0144) sur SMBv1 ?
- Quelle est la différence fondamentale entre un scan SYN (-sS) et un scan TCP connect (-sT) dans Nmap ?
- Quel outil open-source complet de gestion des vulnérabilités utilise des NVT (Network Vulnerability Tests) et une interface web ?
- Vrai ou Faux — Selon l'ANSSI, une vulnérabilité critique avec PoC public doit être corrigée dans les 30 jours.
- Décrivez les 7 phases d'un processus de patch management structuré pour une PME, de l'inventaire à la documentation.
📝 Afficher les corrections
- --script smb-vuln-ms17-010 — script NSE de Nmap qui teste spécifiquement la vulnérabilité SMBv1 exploitée par WannaCry/NotPetya. Commande complète :
sudo nmap -p 445 --script smb-vuln-ms17-010 192.168.1.0/24.
- Le scan SYN (-sS) n'établit pas la connexion TCP complète (half-open) — il envoie un SYN et analyse la réponse sans envoyer le ACK final. Plus rapide et génère moins de logs applicatifs. Requiert les privilèges root car il manipule des paquets TCP bruts. Le scan -sT établit la connexion complète (3-way handshake).
- OpenVAS/GVM (Greenbone Vulnerability Management) — scanner open-source avec plus de 90 000 NVT, interface web Greenbone Security Assistant (GSA), intégration CVE/CVSS et rapports de sévérité classés Critical/High/Medium/Low.
- Faux — l'ANSSI recommande une correction en 24 heures pour une vulnérabilité critique avec PoC public activement exploité, 72h sans PoC. 30 jours s'applique aux vulnérabilités modérées.
- 1. Inventaire → 2. Scan → 3. Priorisation → 4. Test pré-prod → 5. Déploiement → 6. Vérification post-patch → 7. Documentation — ce cycle assure une correction contrôlée sans régressions, avec traçabilité complète pour les audits.