Aggrokatz: pypykatz trifft Cobalt Strike

Das Tool "aggrokatz", welches von SEC Consult intern zum Parsen von LSASS-Dump-Dateien in Cobalt Strike eingesetzt wird, wurde soeben als Open Source Tool veröffentlicht!

Aggrokatz ist eine Aggressor-Plugin-Erweiterung für Cobalt Strike, die es pypykatz ermöglicht, mit den Beacons zu kommunizieren. Pypykatz ist eine Implementierung von Mimikatz, großteils in Python. Cobalt Strike ist eine Bedrohungsemulationssoftware, die beispielsweise von Red Teams zur Aufklärung, nach dem Exploit oder zur verdeckten Kommunikation verwendet wird.

Die aktuelle Version von aggrokatz ermöglicht es pypykatz, LSASS-Dump-Dateien und Registry-Hive-Dateien zu analysieren und Anmeldeinformationen und andere Geheimnisse zu extrahieren, ohne dass die Dateien heruntergeladen werden müssen oder ohne Hochladen von verdächtigem Code auf dem Beacon (Cobalt Strike ist schon vorhanden). In Zukunft soll dieses Projekt zusätzliche Funktionen für verdeckte Vorgänge bereitstellen, z. B. das Suchen und Entschlüsseln aller DPAPI-Geheimnisse / Kerberoasting / etc.

Wie nutze ich Aggrokatz?

Normalerweise führt der Parser von pypykatz eine Reihe von Lesevorgängen auf der Festplatte aus. Mithilfe von aggrokatz werden diese Lesevorgänge zu einem Beacon getunnelt, mit dem der Inhalt der Remote-Datei in Blöcken gelesen werden kann. Auf diese Weise kann pypykatz alle Geheimnisse aus Dateien remote extrahieren, ohne die gesamte Datei zu lesen, und nur die erforderlichen Teile abrufen, in denen sich die versteckten Informationen befinden.

Screenshot zeigt Auswahl einer LSASS-Datei in aggrokatz
Erster Schritt: Über den Dateimanager ist eine LSASS-Minidump-Datei ersichtlich, die sich auf einem der Beacons befindet.
Screenshot der Details des Aggrokatz-Menüs, wo sich die Dump-Datei befindet
Indem man mit der rechten Maustaste auf den zugehörigen Beacon klickt, kann die Datei analysiert werden. Als nächstes "pypyKatz" und dann "LSASS dump parse" auswählen.
Screenshot der Parsing-Möglichkeiten in aggrokatz
Im Optionsmenü muss der genaue Dateipfad der LSASS-Dump-Datei (vom Beacon aus gesehen) und der BOF-Datei (Beacon Object File) angegeben werden. Letzere erlaubt das Lesen von Datenblöcken.
Screenshot zeigt Ereignisse der aggrokatz Script-Konsole nach dem Start.
Durch Drücken der START-Schaltfläche wird der Parser in der Script-Konsole ausgelöst.
Screenshot zeigt weitere Ereignisse der aggrokatz Script-Konsole nach dem Start.
Auch von der Konsole des Beacons aus funktioniert dies.
Screenshot zeigt weitere Ereignisse der aggrokatz Script-Konsole nach dem Start.
Nach Abschluss der Analyse werden die Ergebnisse (im gewünschten Format) in die Konsole des Beacons sowie in die Script-Konsole geschrieben.

Installation und Nutzung

Nach den Vorbereitungen zur Installation sowie dem Einrichten von pycobalt, kann das Modul 'aggrokatz.cna' über den ScriptManager geladen werden.

Technische Details 

Weitere Informationen zur Integration von pypykatz in CobaltStrike und Einschränkungen in der Nutzung des Tools entnehmen Sie bitte dem englischen Original-Artikel.

 

Danksagung

Ein herzliches Dankschön gebürt dem anonymen Autor von pycobalt, der eine einfache Anbindung mit dem Python-basierten pypykatz zu Cobalt Strike ermöglichte.

 

Weiterführende Links

pypykatz 

minidump

pycobalt

aggrokatz

credbandit

Über den Autor

Tamas Jos (skelsec) ist Senior Security Consultant und Researcher bei SEC Consult Schweiz. Er hat sowohl pypykatz als auch aggrokatz und andere sehr nützliche Werkzeuge wie jackdaw und kerberoast in Python entwickelt.

[Translate to German:]