Usurpation DHCPv6 et WPAD : quand un réseau « sans IPv6 » devient une porte d'entrée
« Nous n'utilisons pas IPv6. » C'est souvent vrai pour l'équipe réseau, mais pas pour les postes Windows, qui activent IPv6 par défaut et le sollicitent en permanence. Dans un réseau où personne ne répond à ces sollicitations, un attaquant peut se proposer à la place du serveur légitime.
Le mécanisme
Au démarrage et à intervalles réguliers, un poste Windows émet des sollicitations DHCPv6 pour obtenir une configuration IPv6. Dans un réseau exclusivement IPv4, aucune réponse n'arrive. Un attaquant présent sur le même segment peut répondre à la place d'un serveur légitime et attribuer au poste une adresse IPv6 ainsi qu'un serveur DNS IPv6 : le sien. Comme Windows préfère IPv6 à IPv4 par défaut, ce faux serveur DNS devient prioritaire pour de nombreuses requêtes. De faux messages d'annonce de routeur (Router Advertisement) peuvent produire un effet comparable.
WPAD, la pièce qui manquait
Maître du DNS du poste, l'attaquant répond notamment aux requêtes de découverte automatique de proxy (WPAD). Le poste récupère alors une configuration de proxy désignant la machine de l'attaquant, puis s'y authentifie en NTLM pour naviguer. Cette authentification peut être relayée vers LDAP ou LDAPS sur un contrôleur de domaine, ou vers d'autres services qui n'exigent ni signature ni liaison de canal. Selon les droits du compte relayé, l'attaquant peut alors modifier des objets de l'annuaire, par exemple créer un compte ordinateur ou altérer la délégation d'une machine. Tout cela sans aucun mot de passe ni vulnérabilité logicielle.
Ne pas désactiver IPv6 à l'aveugle
La réaction instinctive consiste à désactiver IPv6 sur tout le parc. Microsoft la déconseille : Windows est testé avec IPv6 actif, et certains composants s'appuient dessus, même en local. Désactiver les liaisons IPv6 sur les cartes réseau peut produire des comportements imprévisibles. Microsoft recommande plutôt, lorsque l'objectif est de réduire l'usage d'IPv6, de configurer la stratégie de préfixes pour préférer IPv4 à IPv6 (valeur DisabledComponents documentée par Microsoft). Ce réglage change l'ordre de préférence mais n'empêche pas à lui seul l'acceptation d'une configuration DHCPv6 usurpée : il faut le compléter.
Les contre-mesures efficaces
- Sur le réseau : activer RA Guard et DHCPv6 Guard (ou leurs équivalents) sur les commutateurs d'accès, pour n'autoriser les annonces de routeur et les réponses DHCPv6 que depuis les ports légitimes.
- Sur les postes : via le pare-feu Windows géré par stratégie de groupe, bloquer les réponses DHCPv6 entrantes et les annonces de routeur entrantes lorsqu'IPv6 n'est pas utilisé, en testant sur un pilote.
- Pour WPAD : si aucun proxy n'est découvert automatiquement, désactiver la détection automatique des paramètres par stratégie ; sinon, publier un enregistrement WPAD légitime et protégé, et conserver
wpaddans la liste de blocage globale du DNS si vous ne l'utilisez pas. - Contre le relais : exiger la signature LDAP et la liaison de canal LDAPS sur les contrôleurs, la signature SMB, et limiter le quota de création de comptes ordinateurs par les utilisateurs (
ms-DS-MachineAccountQuota).
Déployer IPv6 est aussi une option. Un réseau où IPv6 est réellement géré, avec des serveurs DHCPv6 et des routeurs légitimes et des protections sur les commutateurs, laisse beaucoup moins de place à l'usurpation qu'un réseau où IPv6 est actif mais ignoré.
Ce qu'un audit vérifie
- la présence de trafic DHCPv6 et d'annonces de routeur non maîtrisés sur les segments utilisateurs ;
- les protections RA Guard et DHCPv6 Guard sur les commutateurs d'accès ;
- la configuration WPAD des postes et de la zone DNS ;
- l'exigence de signature LDAP, de liaison de canal et de signature SMB, ainsi que la valeur de
ms-DS-MachineAccountQuota.