简介
DLL 注入可以在某个进程的上下文中执行任意代码, 如果该进程是通过高权限运行的, 则会 导致权限提升
具体步骤:
- 将恶意的 DLL 文件保存到磁盘中
CreateRemoteThread
(Windows API 函数)调用LoadLibrary
- The reflective loader function will try to find the Process Environment Block (PEB) of the target process using the appropriate CPU register and from that will try to find the address in memory of kernel32dll and any other required libraries.
- 查找需要的 API 函数在内存中的地址, 比如: LoadLibraryA, GetProcAddress, 和 VirtualAlloc
- 上述函数将恶意 DLL 加载到内存, 调用其入口点
DllMain
示例
- 构造恶意 DLL 文件
- 使用 Remote DLL Injector 注入 DLL 文件到进程中
- 监听 listener