
The ADSyncDump BOF is a port of Dirk-Jan Mollema's adconnectdump.py / ADSyncDecrypt into a Beacon Object File (BOF) with zero dependencies.
Le BOF ADSyncDump est un portage du adconnectdump.py / ADSyncDecrypt de Dirkjan Mollema dans un fichier d'objet Beacon (BOF), destiné à être utilisé avec Cobalt Strike, Sliver et Havoc.
[!NOTE] L'outil a été testé sur un Windows Server 2019 avec Azure AD Connect version
2.2.1.0. La version 32 bits du BOF n'a pas été testée, mais je l'ai incluse par souci d'exhaustivité. Utilisez-la à vos risques et périls.
Pour compiler le BOF, exécutez simplement make dans le répertoire contenant le code source. Cela générera les versions 32 bits et 64 bits du BOF.
make
Sur Cobalt Strike, chargez le script adsyncdump.cna ; pour Sliver, utilisez les commandes extension install et extension load pour installer le BOF. Une fois installé, déplacez-vous latéralement vers le serveur AD Sync en tant que NT AUTHORITY\SYSTEM puis exécutez la commande adsyncdump :
beacon> adsyncdump


Ce BOF a vu le jour il y a quelques années lors d'une mission, après avoir rencontré des problèmes liés au fait que le script Python d'origine était trop intrusif sur les systèmes clients, et que j'avais du mal à faire fonctionner correctement la version .NET. J'ai donc décidé de rétroconcevoir les appels API Win32 exacts utilisés pour le processus de déchiffrement pendant mon temps libre et de les porter vers un BOF.
À l'origine, je ne prévoyais pas de partager ce projet, car je pensais que ce serait irresponsable, étant donné que le compte ADSync disposait de privilèges absurdes et que la détection des outils existants n'était pas optimale. Cependant, depuis, les privilèges du compte ADSync ont été sévèrement limités par Microsoft, ce qui rend l'impact moins grave (ce n'est toujours pas idéal, mais au moins vous ne pouvez plus modifier les stratégies d'accès conditionnel1).
De plus, étant donné que d'autres chercheurs ont déjà publié des informations sur le fonctionnement interne du processus de déchiffrement (un grand merci au Dr Syynimaa2 et à Dirkjan Mollema3), et que la détection est devenue plus répandue, je me sens désormais plus à l'aise pour partager ce BOF avec le reste de la communauté (désolé pour le retard).
Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails. Je décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par l'utilisation de cet outil. Ne l'utilisez que dans des environnements où vous avez l'autorisation explicite de le faire.
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/x.com/_dirkjan/status/1715263925971821008%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/aadinternals.com/post/adsync/%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/dirkjanm.io/updating-adconnectdump-a-journey-into-dpapi/%3E ↩