DCShadow, une nouvelle attaque visant les infrastructures AD
A l’occasion de la conférence BlueHat IL 2018, les chercheurs français Benjamin DELPY et Vincent LE TOUX, auteurs respectifs des outils Mimikatz et PingCastle, ont dévoilé une nouvelle technique d’attaque visant les infrastructures Active Directory [1].
Nommée DCShadow, cette technique permet à un attaquant disposant de privilèges suffisants de simuler le comportement d’un contrôleur de domaine pour exploiter les fonctionnalités de réplication d’Active Directory. Contrairement à l’attaque DCSync (présentée en 2015 par les mêmes chercheurs) qui exploite les mécanismes de réplication pour récupérer des secrets d’authentification [2], DCShadow autorise l’attaquant à injecter des données illicites dans l’infrastructure d’annuaire en contournant les principaux mécanismes de contrôle implémentés dans Active Directory.
Afin d’injecter du contenu malveillant, DCShadow introduit une modification temporaire de la topologie de réplication de l’infrastructure Active Directory via un nombre réduit d’opérations :
- Enregistrement du nouveau contrôleur de domaine au sein de la topologie via la création de deux objets (de type serveur et nTDSDSA) dans la partition CN=Configuration du schéma
- Altération de l’attribut Kerberos SPN d’un compte machine légitime, référencé dans l’objet nTDSDSA et utilisé pour authentifier le contrôleur illicite. Les SPNs DRS et GS sont requis pour que les autres contrôleurs de domaine de la topologie se connectent au contrôleur illicite, dans le cadre du processus de réplication
- Injection de données illicites en forçant la réplication, via l’invocation de la fonction RPC DrsReplicaAdd par exemple
- Suppression de l’objet nTDSDSA pour masquer la présence du contrôleur de domaine illégitime
Nécessitant néanmoins des permissions habituellement accordées aux groupes Adminis de domaine ou Admins de l’entreprise, cette attaque permet de procéder à des modifications habituellement non-autorisées tout en évitant la remontée d’événements dans les journaux Active Directory. Ainsi, DCShadow ouvre de nouvelles perspectives pour la création de backdoors :
- Génération d’attribut SIDHistory, utilisé pour compromettre des domaines liés par des relations d’approbation
- Modification de permissions. On se reportera ici aux travaux de Andy Robbins, Will Schroeder et Lee Christensen présentés lors de la Black Hat 2017, qui détaillent la conception de backdoors basées sur les DACL [3]
- Modification du précédent mot de passe du compte krbtgt, pouvant être utilisé pour mener une attaque de type Kerberos Golden Ticket
- Création de condensats NTLM et AES correspondant à des mots de passe différents, pouvant être utilisés pour mener des attaques de type Kerberos Silver / Golden Ticket
Il est également à noter que les métadonnées de réplication, habituellement utilisées par les analystes pour reconstruire l’historique des changements lors d’une analyse forensique, ne doivent plus être considérées comme fiables avec cette attaque. En injectant des données de réplication, DCShadow engendre en effet la modification de ces métadonnées.
Une première implémentation de DCShadow a vu le jour au sein d’une nouvelle fonctionnalité du module lsadump de l’outil Mimikatz :
La société ALSID, startup spécialisée dans la surveillance de la sécurité d’Active Directory, a récemment publié un article abordant en détail le fonctionnement de DCShadow et dans lequel est proposée une approche pour détecter cette attaque. Basée sur la surveillance d’objets répliqués, cette approche consiste à détecter la création d’objets nTDSDSA et le positionnement illégitime de SPN de type DRS sur des comptes machines via l’utilisation des processus de réplication ou de notification [4].
ALSID a illustré cette approche en publiant un outil pouvant être intégré à un SIEM ou servir d’aide aux équipes “blue teams” : https://github.com/AlsidOfficial/UncoverDCShadow.
Comme nous l’avons vu, l’attaque DCShadow peut être considérée comme une nouvelle technique de persistance relativement furtive et non pas comme une vulnérabilité de type élévation de privilège nécessitant un correctif.
Il convient cependant de rappeler l’importance de mettre en place une surveillance d’Active Directory et d’auditer régulièrement ces infrastructures afin de déceler notamment la présence de vulnérabilités dans leurs configurations, qui peuvent être introduites accidentellement ou par malveillance.
Références :
[1] https://www.dcshadow.com/
[2] https://adsecurity.org/?p=1729
[3] https://www.blackhat.com/docs/us-17/wednesday/us-17-Robbins-An-ACE-Up-The-Sleeve-Designing-Active-Directory-DACL-Backdoors-wp.pdf
[4] https://blog.alsid.eu/dcshadow-explained-4510f52fc19d[:]