Invoke-AntiVM 是一组模块,用于通过 Powershell 执行 VM 检测和指纹识别(含渗出)。
运行脚本 check-compatibility.ps1 以检查哪些模块或函数与 powershell 版本兼容。 我们的目标是实现从 2.0 版本的兼容性,但目前尚未达成。 请运行 check-compability.ps1 以查看当前的兼容性问题。
我们编写此工具是为了统一多种识别 VM 或沙箱技术的技术。 它同时依赖于签名和行为信号来识别主机是否为 VM。 模块按逻辑组分类:CPU、执行、网络、程序。 用户还可以选择渗出目标主机的指纹,以便确定哪些特征可用于识别沙箱或 VM 解决方案。
Invoke-AntiVM 的存在的开发目的是了解在 powershell 载荷中使用混淆和反 VM 技巧的含义。 我们希望这能帮助红队避免其载荷被分析,并帮助蓝队了解如何反混淆带有规避技术的脚本。 您可以使用主模块文件 Invoke-AntiVM.psd1,或者如果想减小体积,也可以使用单独的 ps1 脚本文件。
以下脚本提供了用法示例:
文件夹 pastebin 包含一个 Python 脚本:
您必须确保使用与渗出步骤相同的加密密钥。 文件夹 package 展示如何将所有脚本打包成一个文件以便更好地移植。 文件夹 pastebin 展示如何自动拉取并解码从 pastebin 渗出文档。
Invoke-CradleCrafter 的源代码托管在 Github,您可以从该仓库 (https://github.com/robomotic/invoke-antivm) 下载、分支和审查。请通过该项目的 Github 问题跟踪器报告问题或功能请求。
安装:运行脚本 install_module.ps1
Invoke-AntiVM 根据 Apache 2.0 许可证发布。
1.0