本项目演示了高级DLL劫持技术。它配合博客文章《自适应DLL劫持》发布。建议你先阅读该文章以了解此代码的背景。
本项目包含以下元素:
VS解决方案本身支持4种构建配置,对应4种不同的功能代理方法。这为将来演示更多技术提供了良好的可扩展方式。
每种技术的目标是在向合法DLL代理功能的同时,成功捕获代码执行。每种技术都经过测试以确保静态和动态sink情况得到处理。这远非所有原语或技术变体。上述文章有更详细的介绍。
准备一个使用明显错误的DLL的劫持场景
> copy C:\windows\system32\whoami.exe .\whoami.exe
1 file(s) copied.
> copy C:\windows\system32\kernel32.dll .\wkscli.dll
1 file(s) copied.
在当前配置下执行应会报错
> whoami.exe
"Entry Point Not Found"
将kernel32转换为wkscli的代理功能
> NetClone.exe --target C:\windows\system32\kernel32.dll --reference C:\windows\system32\wkscli.dll --output wkscli.dll
[+] Done.
> whoami.exe
COMPUTER\User