工具运行机制
NixImports使用了HInvoke项目来实现API-Hashing,并能够在运行时动态解析大多数被调用的函数。为了解析函数,HInvoke需要两个哈希,即typeHash和methodsHash。这俩哪个哥哈希代表了类型名称和方法全名,并能够在运行时让HInvoke解析整个mscorlib以找到匹配的类型和方法。
NixImports另一个有趣的特性是,它会尽可能去避免调用已知的方法,通过使用内部方法,我们可以避开一些安全工具使用的基本钩子和监控机制。
工具下载
由于该工具基于纯C#开发,因此我们首先需要在本地设备上安装并配置好最新版本的Visual Studio工具环境。
接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/dr4k0nia/NixImports.git
然后打开Visual Studio,将项目导入后进行代码编译后构建即可。
工具使用
当前版本的NixImports仅需要我们提供一个.NET源代码的文件路径,即可开始封装和加载任务:
NixImports.exe
此时,工具会在当前根目录下自动生成一个名为Loader.exe的新的可执行程序,这个Loader.exe可执行文件包含了我们编码后的Payload,以及运行它所需要的其他代码。
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
NixImports:【GitHub传送门】
参考资料
https://dr4k0nia.github.io/posts/NixImports-a-NET-loader-using-HInvoke/
https://gist.github.com/dr4k0nia/813087cee2875f5f82e37c8a731b80b0
https://dr4k0nia.github.io/posts/NixImports-a-NET-loader-using-HInvoke/#tips-for-defenders
https://github.com/dr4k0nia/yara-rules/blob/main/dotnet/msil_mal_niximports_loader.yar
本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM