Deux serveurs DHCP légitimes et un imposteur : lire la colonne passerelle
Le défi
Les utilisateurs du VLAN bureau se sont plaints que l'intranet avait une allure un peu étrange, et l'équipe réseau a extrait une matinée d'événements DHCP et ARP du commutateur d'accès. Compter les serveurs DHCP ne résoudra rien : il y en a réellement deux sur ce réseau, un principal et un secours, et tous deux sont légitimes. Ce qui compte n'est pas le nombre de serveurs qui répondent mais ce qu'ils distribuent. L'un des répondeurs indique aux clients de router via une adresse qui n'est pas le routeur du site, et comme il répond aussi plus vite que les vrais serveurs, les clients qui l'entendent acceptent son offre et la conservent. Déterminez quelle passerelle par défaut est l'imposteur et soumettez son adresse IP.
Ce que tu vas apprendre
- Distinguer le nombre de serveurs qui répondent de ce qu'ils distribuent
- Utiliser les annonces ARP pour identifier la passerelle légitime
- Lire la durée de bail et la plage d'adresses comme indices d'un répondeur pirate
- Expliquer pourquoi le principe DHCP de la première offre acceptée en fait une course de vitesse
- Relier une passerelle pirate aux réponses DNS que reçoivent ensuite les victimes
Compétences testées
Prérequis
- Le rôle des messages DHCP discover, offer et ack
- Savoir lire une adresse IP et une adresse MAC
Comment ça marche
Face à une question de type DHCP pirate, le réflexe est de compter les serveurs et de signaler celui en trop. Ce réflexe est faux assez souvent pour mériter d'être corrigé, car un réseau fait légitimement tourner plusieurs serveurs DHCP. Ici, 192.0.2.10 et 192.0.2.11 forment un principal et un secours, et tous deux sont légitimes.
La question qui les distingue est ce qu'ils distribuent. Filtrez sur event:dhcp_offer et lisez la colonne gateway : les deux vrais serveurs s'accordent sur 192.0.2.1, et les lignes arp_reply montrent router-core annoncer exactement cette adresse. 192.0.2.87 distribue sa propre adresse.
Deux autres indices le confirment sans avoir besoin de ce qui précède. Le pirate distribue des baux à partir de 192.0.2.140 alors que les vrais serveurs utilisent la plage .50, et il fixe un bail de 600 secondes contre 86400. Un bail court n'est pas un hasard : il pousse les clients à renouveler sans cesse auprès de l'attaquant et permet au pirate de se réimposer rapidement.
Le détail des lignes dhcp_ack indique que le client a pris la première offre, ce qui correspond simplement au fonctionnement normal de DHCP et constitue toute l'attaque. La vitesse décide. Cela explique aussi pourquoi l'ensemble des victimes est irrégulier plutôt que total : 04:d3:b0:96:12:38 a entendu les deux offres et a fini sur le serveur légitime.
Les lignes dns_query bouclent la boucle. Les hôtes liés au pirate résolvent intranet.northgate.example en 192.0.2.87 ; un hôte lié au vrai serveur le résout en 192.0.2.30. Le pirate répond au DNS en plus de router, ce qui correspond à ce que décrivaient les utilisateurs quand ils disaient que l'intranet avait une allure étrange.
Erreurs fréquentes
- Signaler 192.0.2.11 comme le pirate. C'est le serveur de secours, et le champ detail le précise. Avoir deux serveurs est l'état normal ici.
- Répondre avec l'adresse MAC du pirate ou celle d'un client. La question porte sur l'adresse IP de la passerelle distribuée.
- Lire server_ip au lieu de gateway. Les deux valeurs se trouvent être identiques pour le pirate, ce qui est justement l'indice, mais la colonne qui répond à la question est gateway.
- Supposer que tous les clients ont été compromis. Au moins un hôte a entendu les deux offres et s'est lié au serveur légitime.
- S'arrêter aux lignes DHCP. Ce sont les réponses DNS qui confirment l'impact.
Comment s'en protéger
Un serveur DHCP pirate n'a besoin de rien de plus qu'un port réseau et un ordinateur portable, donc le contrôle doit se faire au niveau du commutateur.
- Activez le DHCP snooping et ne faites confiance qu'aux ports de liaison montante où se trouvent les vrais serveurs. Les offres provenant d'un port d'accès sont rejetées.
- Ajoutez l'inspection ARP dynamique (Dynamic ARP Inspection) par-dessus, pour que le pirate ne puisse pas se rabattre sur l'usurpation ARP une fois le DHCP verrouillé.
- Mettez en place le port security ou le 802.1X afin qu'un appareil inconnu ne puisse pas du tout atteindre le VLAN.
- Alertez sur toute offre DHCP dont la passerelle n'est pas l'adresse connue du routeur. C'est une détection d'une seule ligne, et elle se serait déclenchée à 09:14.
- Traitez un bail anormalement court comme un signal en supervision : les serveurs légitimes distribuent rarement 600 secondes sur un VLAN de bureau.