Anatomie du protocole et enjeux : pourquoi traquer ces services d'adressage ?
Le fonctionnement d'un réseau local repose sur une confiance aveugle. Quand un ordinateur s'allume dans les locaux de votre entreprise à La Défense ou au cœur d'un datacenter à Roubaix, il hurle littéralement dans les câbles pour obtenir un bail réseau. Il envoie un paquet en diffusion broadcast à l'adresse 255.255.255.255. Là où ça coince, c'est que la norme RFC 2131 — écrite il y a près de trente ans — ne prévoit aucun mécanisme natif d'authentification cryptographique lors de cet échange initial en quatre étapes communément appelé processus DORA (Discover, Offer, Request, Acknowledge). Le premier qui répond a gagné. C'est aussi simple et terrifiant que ça.
Le fléau des serveurs ropues et la menace du Man-in-the-Middle
Qu'il s'agisse d'un routeur Wi-Fi grand public branché en douce par un employé sous son bureau pour avoir du réseau sur son téléphone ou d'une attaque délibérée orchestrée par un pirate via un boîtier Raspberry Pi dissimulé derrière un copieur, l'effet reste dévastateur. Le serveur illégitime — ce qu'on appelle un serveur DHCP rogue dans le jargon des spécialistes de la sécurité informatique — distribue de fausses passerelles par défaut et des serveurs DNS altérés. Résultat : l'attaquant intercepte 100 % du trafic sortant sans déclencher le moindre message d'erreur sur le poste de la victime. J'ai vu un audit de sécurité où 42 postes d'un cabinet comptable ont basculé en moins de 12 secondes sur l'adresse d'un petit boîtier malveillant de 35 euros. On est loin du compte par rapport aux discours rassurants sur la sécurité périphérique.
Outils en ligne de commande pour scanner le segment local sans délai
Pour comprendre comment detecter un serveur DHCP ? sur une infrastructure Ethernet sans sortir l'artillerie lourde des suites logicielles payantes, le terminal reste la meilleure arme du technicien. Pas besoin de licence hors de prix ou d'installation complexe. Tout se joue au niveau de la trame réseau brute.
Utilisation de nmap et son script de broadcast dhcp-discover
L'outil Nmap demeure l'incontournable couteau suisse des analystes. Sauf qu'au lieu de scanner bêtement des plages d'adresses IP uniques en unicast — ce qui ne donnerait aucun résultat probant puisque vous cherchez une entité qui répond aux requêtes broadcast —, il faut utiliser le moteur NSE avec le script dédié. La commande magique s'écrit tout simplement sous la forme nmap --script broadcast-dhcp-discover. En exécutant cette requête depuis une console Linux ou un PowerShell Windows sous droits administrateur, Nmap génère un paquet DHCPDISCOVER forgé de toutes pièces et écoute les réponses émanant du sous-réseau pendant un intervalle configurable de 5000 millisecondes.
Si plusieurs équipements répondent, le script affiche l'intégralité des options reçues : l'adresse IP proposée, le masque de sous-réseau 255.255.255.0, l'adresse du serveur de nom DNS et surtout l'identifiant Serveur Identifier (option 54). Reste que cette commande classique peut être bloquée par certains commutateurs réseau sur-configurés qui filtrent le trafic de balayage générique.
La puissance ciblée de l'utilitaire dédié dhcping
Si vous préférez une approche encore plus chirurgicale sans charger les dizaines de mégaoctets de dépendances de Nmap, tournez-vous vers l'utilitaire dhcping en environnement Unix. Cet outil minuscule simule le comportement exact d'un client cherchant à renouveler ou vérifier un bail auprès d'une cible précise. En saisissant la syntaxe dhcping -c 192.168.1.50 -s 192.168.1.1, vous envoyez un paquet de type DHCPINFORM directement à la machine testée pour mesurer son temps de réponse en millisecondes et confirmer la présence du démon logiciel en écoute. Autant le dire clairement : c'est la méthode idéale à intégrer dans vos scripts de supervision automatisés sous Nagios ou Zabbix pour surveiller l'état de santé de vos contrôleurs de domaine Windows Server 2022 ou de vos démons ISC-DHCP sous Debian 12.
Capture et analyse fine des trames réseau avec Wireshark
Parfois, les outils automatiques manquent de finesse ou échouent lorsque le réseau traverse plusieurs VLANs interconnectés par des agents de relais. Dans ce cas de figure, l'analyse passive des paquets avec Wireshark offre une visibilité totale sur ce qui se trame au niveau des interfaces réseau.
Filtrer le trafic bootp pour isoler l'option 53
Lancez l'écoute sur votre carte Ethernet principale et appliquez le filtre d'affichage bootp ou dhcp dans la barre supérieure de Wireshark. Pour restreindre la capture uniquement aux phases d'offres émises par les machines distributrices, saisissez le filtre strict dhcp.option.dhcp == 2. Ce chiffre 2 correspond précisément au message DHCPOFFER au sein de l'option 53 du protocole. Si votre capture révèle deux adresses IP sources différentes émettant ce type de paquet en réponse à une unique requête d'un client, vous avez la preuve irréfutable qu'un second service d'adressage tourne en parallèle sur votre commutateur.
Observez alors attentivement l'en-tête Ethernet de la trame. L'adresse MAC source vous indique directement le constructeur du matériel réseau grâce à son identifiant OUI (Organizationally Unique Identifier). Une adresse MAC commençant par 00:11:32 pointera vers un NAS Synology mal configuré dont le paquet réseau d'adressage interne aurait été activé par erreur après une mise à jour logicielle, tandis qu'un préfixe B8:27:EB trahira immédiatement la présence d'une carte Raspberry Pi dissimulée.
Solutions matérielles et filtrage au niveau de la commutation : le DHCP Snooping
Savoir repérer un service non autorisé après coup, c'est bien. Mais empêcher les paquets parasites de circuler avant même qu'ils n'atteignent les cartes réseau des utilisateurs, c'est nettement mieux. C'est ici qu'intervient la technologie constructeur intégrée aux commutateurs d'entreprise Cisco, Aruba ou Extreme Networks.
Définir des ports de confiance sur les switchs d'accès
Le principe du DHCP Snooping repose sur une distinction logique fondamentale établie directement dans la table de commutation ASIC de l'équipement : les ports de confiance (trusted ports) et les ports non fiables (untrusted ports). Par défaut, lorsque vous activez cette fonction globale sur un VLAN spécifique via la commande ip dhcp snooping vlan 10 à 50, l'ensemble des ports du commutateur passe en mode non fiable. Seul le port reliant le switch au cœur de réseau ou au serveur légitime déclaré est configuré manuellement en mode trusted.
Si une trame de type DHCPOFFER ou DHCPACK tente d'entrer par un port utilisateur qualifié de non fiable, le commutateur détruit instantanément le paquet sans le retransmettre. Le port peut même être automatiquement verrouillé et placé dans l'état error-disabled en moins de 100 millisecondes pour couper court à toute tentative d'empoisonnement de table ARP. On n'y pense pas assez, mais cette fonctionnalité simplissime bloque 99 % des attaques d'usurpation d'identité réseau sans solliciter la moindre ressource processeur sur vos serveurs de production. Certes, ça demande un peu de rigueur lors du brassage initial des baies informatiques dans le local technique, mais le gain en sérénité opérationnelle reste immense pour l'équipe système.
Les idées reçues sur la recherche de serveurs DHCP qu’il faut éradiquer
Le simple ping broadcast ne suffit absolument pas
Vous pensez lancer un rapide ping sur l’adresse d’imdiff 255.255.255.255 et capturer tout ce qui bouge ? Erreur classique. Le protocole ICMP ne force aucunement une pile réseau à révéler sa fonction d’attribution IP. Les machines répondent ou ignorent le paquet selon la rigueur de leur pare-feu local, sans jamais trahir la présence d’un service d’allocation dynamique active. Pour forcer un serveur DHCP rogue à sortir du bois, il faut parler son dialecte natif en envoyant une véritable requête DISCOVER avec une adresse MAC forgée de toutes pièces.
Penser que Wireshark voit l'intégralité du trafic sans configuration préalable
Brancher un sniffer sur un port d'accès lambda et attendre que la magie opère reste un vœu pieux. Sauf que les commutateurs modernes segmentent le domaine de diffusion avec une précision chirurgicale. Si le serveur illégitime réside sur un autre VLAN ou derrière un commutateur géré sans port mirroring (SPAN) configuré, votre capture affichera un vide absolu. L'analyse de paquets en mode promiscuous ne capte que ce qui arrive physiquement jusqu'à la carte réseau de votre sonde, ni plus ni moins.
Croire que le blocage du port UDP 67 règle définitivement la question
Fermer le port UDP 67 au niveau du pare-feu périmétrique rassure les esprits crédules, mais cela n'empêche nullement la propagation d'un bail corrompu en interne. Le problème réside dans la portée locale des trames Ethernet. Les paquets de découverte ne franchissent pas les routeurs par défaut, leur impact dévastateur se cantonne au segment de niveau 2 local. Autant le dire franchement : bloquer le trafic sortant ne protège en rien vos postes de travail contre un boîtier pirate branché discrètement sur la prise murale de la salle de réunion.
La traque avancée : utiliser la fonctionnalité DHCP Snooping au niveau switch
Au-delà des analyses ponctuelles, la véritable parade repose sur l’infrastructure réseau elle-même. Reste que peu d'administrateurs prennent la peine de déployer le DHCP Snooping au niveau du commutateur, pourtant redoutable d'efficacité. Cette technologie transforme chaque port du switch en une frontière logique hermétique.
Comment construire une table de liaison de confiance inexpugnable
Le principe offre une élégance remarquable : le commutateur inspecte l'intégralité des messages de niveau 2 et catégorise les interfaces en deux catégories distinctes, à savoir les ports de confiance et les ports non approuvés. Seuls les ports reliés aux serveurs légitimes ont le droit d'émettre des réponses de type OFFER ou ACK. Si un paquet émane d'un port d'accès standard configuré en mode non approuvé, le matériel drop immédiatement la trame et génère un log d'alerte SNMP en moins de 10 millisecondes. (Une précaution indispensable quand on sait qu'un serveur malveillant répond parfois en moins de 15 millisecondes pour évincer le serveur officiel). Résultat : la menace est neutralisée avant même de toucher le moindre client.
Questions fréquentes
Comment repérer un serveur DHCP pirate en ligne de commande sous Windows ?
Ouvrez une invite de commande en privilèges élevés et exécutez la commande ipconfig /release suivie immédiatement de ipconfig /renew pour forcer une négociation complète. Inspectez ensuite les détails de la carte à l'aide de la commande ipconfig /all pour identifier l'adresse IP affichée en face de la ligne Serveur DHCP. Si cette adresse diffère du segment habituel, par exemple une adresse 192.168.1.1 alors que votre réseau d'entreprise utilise la plage 10.0.4.0/24, un périphérique non autorisé attribue des baux à vos machines. L'utilisation de l'outil en ligne de commande netsh dhcp show server dans un environnement Active Directory permet également de lister les serveurs DHCP autorisés dans le domaine en comparant la liste avec les 100 % de réponses obtenues sur le LAN.
Quelle est la différence entre un serveur DHCP Rogue et une attaque de type DHCP Starvation ?
Le serveur rogue cherche à usurper l'identité de votre passerelle par défaut en injectant de fausses routes afin d'intercepter l'intégralité du trafic réseau à des fins d'espionnage. À l'inverse, l'attaque par épuisement ou Starvation inonde le serveur officiel avec des milliers de requêtes contenant des adresses MAC fictives pour consommer 100 % des adresses disponibles dans l'étendue en moins de 30 secondes. Car l'objectif ultime du Starvation est souvent de paralyser le serveur légitime pour implanter ensuite plus facilement un serveur rogue qui prendra le relais sans concurrence. Ces deux techniques combinées permettent aux attaquants de réussir des interceptions Man-In-The-Middle particulièrement redoutables sur des réseaux d'entreprise non sécurisés.
Existe-t-il des outils open source dédiés pour détecter un serveur DHCP anormal ?
L'écosystème open source regorge d'outils spécialisés extrêmement performants comme dhcpdump, scapy ou encore l'utilitaire nmap armé de son script spécifique broadcast-dhcp-discover. L'exécution d'une simple commande nmap --script broadcast-dhcp-discover permet d'envoyer un paquet de requête global et d'afficher toutes les réponses reçues sur le réseau en l'espace de 3 à 5 secondes. Ces programmes analysent les réponses reçues sur le port UDP 68 et décortiquent chaque option contenue dans le paquet, notamment l'option 53 et l'option 60. À ceci près que ces scripts doivent impérativement être lancés depuis chaque VLAN individuellement, car un simple routeur filtre les paquets de diffusion de niveau 2 à 100 % sauf si un relais spécifique est configuré.
Reprenez immédiatement le contrôle de votre architecture réseau
La chasse aux équipements d'attribution d'adresses illicites ne doit plus être abordée comme une intervention d'urgence occasionnelle. La tolérance zéro reste l'unique posture viable face à des équipements grand public ou malveillants capables de paralyser 500 postes en quelques secondes. Verrouillez vos commutateurs avec le filtrage par adresse MAC, activez l'inspection systématique des paquets sur l'ensemble de vos équipements d'accès et automatisez la surveillance de vos cartes. Attendre la prochaine coupure générale pour réagir relève de la faute professionnelle pure et simple. La sécurité de votre routage interne mérite un investissement matériel et technique à la hauteur des risques réels.

