一个 .NET 恶意软件加载器,使用 API 哈希和动态调用来规避静态分析
NixImports 使用我管理的 API 哈希实现 HInvoke,在运行时动态解析其调用的绝大多数函数。 要解析函数,HInvoke 需要两个哈希值:typeHash 和 methodHash。这些哈希值表示类型名称和方法的 FullName,在运行时 HInvoke 解析整个 mscorlib 以查找匹配的类型和方法。 由于这一过程,HInvoke 不会为通过它调用的方法留下任何导入引用。
另一个有趣的功能是,NixImports 尽可能避免调用已知方法,只要适用,NixImports 就使用内部方法而非其包装器。通过仅使用内部方法,我们可以规避某些安全工具采用的基本钩子和监控。
有关更详细的解释,请查看我的博客文章。
你可以使用这个工具为 HInvoke 生成哈希值。
NixImports 只需要你想要打包的 .NET 二进制文件的路径。
NixImports.exe <filepath>
它会自动在其根文件夹中生成一个名为 Loader.exe 的新可执行文件。该加载器可执行文件将包含编码后的有效载荷以及运行所需的存根代码。
如果你对检测工程和可能的 NixImports 检测感兴趣,请查看我的博客文章的最后一节
或点击这里获取涵盖 NixImports 的基本 yara 规则。