Stéphane FOSSE

Nmap : audit de sécurité


2025 - - Copyleft : cette œuvre est libre, vous pouvez la copier, la diffuser et la modifier selon les termes de la Licence Art Libre 1.3
[PDF]

Nmap (Network Mapper) s'impose depuis 1997 comme l'outil de référence pour la reconnaissance réseau et l'audit de sécurité. Cette analyse technique examine l'architecture interne de Nmap, ses algorithmes de scan, les méthodes de fingerprinting TCP/IP et l'évolution de son moteur de scripts NSE. L'approche se concentre sur les aspects techniques permettant aux professionnels de la sécurité de maîtriser les mécanismes sous-jacents pour un usage optimal en audit d'infrastructure.

Introduction

L'audit de sécurité réseau nécessite des outils capables d'identifier avec précision les services exposés, les systèmes d'exploitation déployés et les vulnérabilités présentes sur l'infrastructure cible. Nmap répond à ces exigences par une approche multicouche combinant analyse des piles TCP/IP, détection de services et exécution de scripts spécialisés.

Développé initialement par Gordon Lyon (Fyodor) en 1997, Nmap exploite les ambiguïtés des RFC TCP/IP pour caractériser de manière unique les implémentations réseau. Son architecture modulaire permet une extensibilité via le Nmap Scripting Engine (NSE), transformant un simple scanner de ports en plateforme d'analyse de sécurité.

Architecture technique et algorithmes de scan

Scan TCP SYN : fondements de la reconnaissance furtive

Le scan TCP SYN constitue la méthode par défaut de Nmap pour sa rapidité et sa discrétion relative. Le principe repose sur l'envoi de paquets TCP avec le flag SYN positionné, sans compléter la handshake TCP complète.

L'algorithme suit cette séquence :

  1. Envoi d'un paquet TCP SYN vers le port cible ;
  2. Analyse de la réponse du système distant ;
  3. Classification de l'état du port selon la réponse reçue.

La classification des ports s'effectue selon ces critères :

Cette méthode présente l'avantage de ne jamais établir de connexion complète, réduisant les traces dans les logs système tout en maintenant une vitesse d'exécution élevée.

Techniques de scan avancées

Nmap implémente plusieurs techniques spécialisées pour contourner les dispositifs de filtrage :

Scan TCP FIN, NULL et Xmas : Ces méthodes exploitent le comportement spécifié dans la RFC 793 « Transmission Control Protocol » datant de septembre 1981. Un port ouvert ne doit théoriquement pas répondre à ces paquets, tandis qu'un port fermé doit envoyer un RST. L'efficacité varie selon l'implémentation de la pile TCP/IP, et donc le système qui se trouve derrière le port interrogé.

Scan TCP ACK : Utilisé principalement pour cartographier les règles de pare-feu. Ce scan permet de distinguer les ports filtrés des ports non filtrés sans révéler leur état d'ouverture.

Scan UDP : Plus complexe que TCP en raison de la nature sans connexion d'UDP. Nmap envoie des paquets UDP et analyse les réponses ICMP « Port Unreachable » pour déterminer l'état des ports.

Optimisation des performances

L'architecture de Nmap intègre plusieurs mécanismes d'optimisation :

Parallélisation adaptative : Nmap ajuste dynamiquement le nombre de sondes simultanées selon les conditions réseau. Les paramètres --min-parallelism et --max-parallelism contrôlent cette parallélisation.

Templates de timing : Six profils prédéfinis (T0 à T5) équilibrent vitesse et discrétion. Le template T4 (agressif) optimise pour les réseaux fiables, tandis que T0 (paranoïaque) minimise la détection.

Gestion intelligente des retransmissions : L'algorithme adapte le nombre de nouvelles tentatives selon la fiabilité observée du réseau, évitant les délais inutiles tout en maintenant la précision.

Fingerprinting TCP/IP et détection d'OS

Méthodologie

La détection d'OS de Nmap repose sur l'analyse des particularités d'implémentation TCP/IP propres à chaque système. Le processus utilise jusqu'à 16 sondes TCP, UDP et ICMP ciblant des ports ouverts et fermés connus.

Les tests analysent plusieurs caractéristiques :

Analyse des algorithmes de séquençage

L'analyse des numéros de séquence TCP révèle des patterns caractéristiques. Nmap évalue :

Classification et précision

La base de données d'empreintes de Nmap contient plus de 6 000 signatures couvrant systèmes d'exploitation, équipements réseau et dispositifs embarqués. L'algorithme de classification compare l'empreinte collectée aux signatures référence selon un système de pondération.

La précision dépend de plusieurs facteurs :

Nmap Scripting Engine : extensibilité et automatisation

Architecture du moteur de scripts

Le NSE transforme Nmap en plateforme extensible pour l'audit de sécurité. Basé sur Lua 5.4, il exécute des scripts en parallèle selon quatre phases :

  1. Prerule : Exécution avant tout scan ;
  2. Hostrule : Exécution par hôte ;
  3. Portrule : Exécution par port ouvert ;
  4. Postrule : Exécution après scan complet.

Catégorisation et sélection des scripts

Les scripts NSE se répartissent en catégories fonctionnelles :

La sélection s'effectue via expressions booléennes permettant des combinaisons complexes :

nmap --script "vuln and not intrusive" target
nmap --script "http-* and safe" target

Développement et contribution

L'écosystème NSE compte plus de 600 scripts couvrant protocoles modernes, vulnérabilités récentes et systèmes industriels. Le processus de développement suit des standards stricts :

Applications en audit de sécurité

Reconnaissance d'infrastructure

L'audit débutent typiquement par une reconnaissance d'infrastructure utilisant les capacités de découverte de Nmap :

# Decouverte d'hotes actifs
nmap -sn 192.168.1.0/24

# Scan complet avec detection d'OS et services
nmap -sS -sV -O -A target_range

# Enumeration de services web
nmap --script http-enum,http-headers target

Détection de vulnérabilités

Le NSE automatise la détection de vulnérabilités connues :

# Scan de vulnerabilites SSL/TLS
nmap --script ssl-cert,ssl-enum-ciphers target

# Detection de vulnerabilites SMB
nmap --script smb-vuln-* target

# Audit de configurations faibles
nmap --script auth target

Intégration dans les processus DevSecOps

Nmap s'intègre dans les pipelines CI/CD pour la validation continue de sécurité :

Contournement et évasion

Techniques d'évasion des IDS/IPS

Nmap propose plusieurs méthodes pour contourner les systèmes de détection :

Fragmentation IP : Division des paquets en fragments plus petits :

nmap -f target  # Fragmentation 8 octets
nmap --mtu 16 target  # MTU personnalise

Utilisation de leurres : Masquage de l'origine réelle du scan :

nmap -D decoy1,decoy2,ME,decoy3 target

Modification du port source : Exploitation des règles de pare-feu permissives :

nmap --source-port 53 target  # Port DNS
nmap -g 80 target  # Port HTTP

Scan zombie (Idle scan)

La technique de scan zombie représente la méthode la plus furtive, utilisant un hôte intermédiaire pour masquer l'origine du scan. Cette technique exploite la prévisibilité des identifiants IP pour déduire l'état des ports sans émettre de paquets directement vers la cible.

Performance et optimisation

Stratégies d'optimisation réseau

L'optimisation des scans Nmap nécessite l'adaptation aux contraintes réseau :

Métriques et monitoring

Le suivi des performances s'effectue via plusieurs indicateurs :

Évolutions et perspectives

Adaptation aux environnements cloud

Les versions récentes de Nmap intègrent des capacités spécifiques aux infrastructures cloud :

Support des protocoles émergents

L'évolution continue de Nmap couvre les protocoles modernes :

Conclusion

Nmap demeure l'outil de référence pour l'audit de sécurité réseau grâce à son architecture modulaire, ses algorithmes sophistiqués et son écosystème de scripts extensible. Sa capacité d'adaptation aux évolutions technologiques, combinée à une précision de fingerprinting inégalée, en fait un composant indispensable des méthodologies d'audit modernes.

Comme tout logiciel de sécurité, il peut être utilisé dans le cadre d'attaques informatiques. Ce sont les fameuses technologies à double usage. Connaître son fonctionnement peut donc vous aider à mieux vous protéger aussi, en sachant comment un attaquant s'y prendra pour venir sniffer à vos ports...

Références