
Der ADSyncDump-BOF ist ein Port von Dirk-Jan Mollemas adconnectdump.py / ADSyncDecrypt in eine Beacon Object File (BOF) ohne Abhängigkeiten.
Das ADSyncDump-BOF ist ein Port von Dirkjan Mollemas adconnectdump.py / ADSyncDecrypt in eine Beacon Object File (BOF) für die Verwendung mit Cobalt Strike, Sliver und Havoc.
[!NOTE] Das Tool wurde auf einem Windows Server 2019 mit Azure AD Connect Version
2.2.1.0getestet. Die 32-Bit-Version des BOF ist ungetestet, wurde aber der Vollständigkeit halber beigefügt. Verwendung auf eigene Gefahr.
Um das BOF zu kompilieren, führen Sie einfach make in dem Verzeichnis aus, das den Quellcode enthält. Dadurch werden sowohl 32-Bit- als auch 64-Bit-Versionen des BOF erzeugt.
make
Laden Sie bei Cobalt Strike das Skript adsyncdump.cna. Verwenden Sie für Sliver die Befehle extension install und extension load, um das BOF zu installieren. Nach der Installation bewegen Sie sich lateral als NT AUTHORITY\SYSTEM zum AD-Sync-Server und führen den Befehl adsyncdump aus:
beacon> adsyncdump


Dieses BOF entstand vor einigen Jahren während eines Engagements, nachdem ich Probleme damit hatte, dass das ursprüngliche Python-Skript auf den Client-Systemen zu invasiv war, und ich Schwierigkeiten hatte, die .NET-Version ordnungsgemäß zum Laufen zu bringen. Aus diesem Grund beschloss ich, in meiner Freizeit die genauen Win32-API-Aufrufe, die für den Entschlüsselungsprozess verwendet werden, per Reverse Engineering zu analysieren und sie in ein BOF zu portieren.
Ursprünglich hatte ich nicht vor, dieses Projekt zu teilen, da ich der Meinung war, dass dies unverantwortlich wäre, angesichts der Tatsache, dass das ADSync-Konto über einige absurde Berechtigungen verfügte und die Erkennung der vorhandenen Werkzeuge nicht gut war. Seitdem wurden die Berechtigungen des ADSync-Kontos von Microsoft jedoch stark eingeschränkt, wodurch die Auswirkungen weniger schwerwiegend sind (immer noch nicht großartig, aber man kann zumindest keine Conditional-Access-Richtlinien mehr bearbeiten1).
Darüber hinaus, da andere Forscher die Informationen über die Funktionsweise des Entschlüsselungsprozesses bereits veröffentlicht haben (großer Respekt an Dr. Syynimaa2 und Dirkjan Mollema3), und die Erkennung inzwischen weiter verbreitet ist, fühle ich mich jetzt wohler, dieses BOF mit der übrigen Community zu teilen (Entschuldigung für die Verspätung).
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe Datei LICENSE für Details. Ich übernehme keine Verantwortung für Missbrauch oder Schäden, die durch die Verwendung dieses Tools entstehen. Verwenden Sie es nur in Umgebungen, in denen Sie ausdrücklich die Erlaubnis dazu haben.
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/main/%3Chttps:/x.com/_dirkjan/status/1715263925971821008%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/main/%3Chttps:/aadinternals.com/post/adsync/%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/main/%3Chttps:/dirkjanm.io/updating-adconnectdump-a-journey-into-dpapi/%3E ↩