antivmdetection, 创建与VirtualBox一起使用的模板以使vm检测更加困难的脚本

分享于 

9分钟阅读

GitHub

  繁體 雙語
Script to create templates to use with VirtualBox to make vm detection harder
  • 源代码名称:antivmdetection
  • 源代码网址:http://www.github.com/nsmfoo/antivmdetection
  • antivmdetection源代码文档
  • antivmdetection源代码下载
  • Git URL:
    git://www.github.com/nsmfoo/antivmdetection.git
    Git Clone代码到本地:
    git clone http://www.github.com/nsmfoo/antivmdetection
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/nsmfoo/antivmdetection
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Antivmdetection 背景:

    帮助你创建模板的脚本,你可以与VirtualBox一起使用,使虚拟机检测更加困难。

    我的第一篇文章是在 2012年发布的,并且在随机时间之后更新。 博客格式可以能并不是发布信息的最佳方式,而有些人根据内容做出了很好的"易于应用"脚本。

    为了让我更容易添加新内容,我决定做一些相同的事情。

    这里脚本的目的是使用可用的设置而不修改VirtualBox库。 有人通过修补Virtualbox来做一些非常整洁的事情。 但这不是这个剧本的scoop。 我认为这种方法有一些优点,因为它不会与每个新版本的VirtualBox中断。 加班我也包含了"things"并不是直接相关的,而是恶意软件用于指纹安装的事情,我希望你不介意。

    主脚本将创建以下文件:

    • 一个 shell script,可以用作模板,可以从主机操作系统使用并应用于你要修改的VM。
    • 上面模板脚本中使用的DSDT的转储。
    • 要使用的Windows Powershell文件,以处理不能从主机更改的设置。 这个脚本必须运行两次,一次需要重新启动,重新启动时重新启动的讨厌事件的第二次。
    注释:
    • 在antivmdetect脚本找不到合适的值时,它将用"#"注释新创建的脚本中的这些设置。 这些需要手动审查,因为它们可能会对虚拟机中显示的内容产生影响。
    • 创建虚拟机,验证"i/o APIC"是否已经启用( 系统> 主板)。 但不要启动它,也要退出 VirtualBox。 需要在安装前运行 shell script。
    • 脚本要求存储布局与下面的内容类似: + IDE: 主主( 磁盘) 和主从( 光盘) + SATA: 端口 0 ( 磁盘) 和端口 1 ( cd rom )
    • 运行 shell script 以将设置应用到客户机
    • 安装 Windows 操作系统( 目前仅在XP和W7上测试)
    • 将批处理脚本移动到新安装的客户机。
    • 在客户机上运行批处理脚本 inside。 记住,大多数修改后的设置在每次重新引导后都会被恢复。 如果需要的话,让它在启动时运行。
      • 在版本 0.1.4中,某些应用的设置需要重新启动。 因此,运行批脚本一次,客户机将被重新引导。 然后再次运行该脚本来完成设置。
    • 如果你在应用批处理脚本之前,请禁用 UAC,否则你将无法使用脚本修改注册表。
    • 对于 Windows 10用户:作为管理员运行PS脚本( 右键单击 cmd.exe -> 运行,导航到PS脚本并执行)
    • 如果正确应用,Pafish运行将导致这里( 不需要修改 Virtualbox )。

    alt text

    • 请注意,这个脚本执行 Pafish ( 例如W10工件) 没有覆盖的其他事情
    版本历史:
    • 0.1.8:

      • 改进了对 Windows 10的支持
      • 来自 @bryant1410的合并标记修复( PR #14)
      • 解决了使用 macOS + vbox/vmware Fusion创建模板的问题。 从虚拟机创建模板不是最好的方式,不管。 ( 发布 #12 和可能的#15)
    • 0.1.7:

      • 现在支持 Windows 10 ( 反馈欢迎)
      • 用于W10安装的几个新工件"更正"
      • 新的依赖关系:台面工具
      • 来自 @Fullmetal5的合并 Bug 修复( #10 )
      • 杂项代码修复
      • 更新了自述文件
    • 0.1.6:

      • 在第二次运行后增加了一个弹出,以使你更清楚地了解到
      • 添加了一个生成记事本实例的函数,该功能将在以后的版本中扩展
      • 重新修改RandomDate函数,感谢 @Antelox 使我知道这个旧的( #8 ) 问题
      • Acpidump附带了旧版本的Ubuntu,不支持"-s"switch。 现在处理错误消息。 感谢 @Antelox 对此问题的处理( #7 )
      • 第二个运行后 Devmanview.exe 未被删除,固定
    • 0.1.5:

      • 添加了对( 默认禁用) 文件扩展名关联和关联的支持。 参考:https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
      • 添加了对用户提供的剪贴板缓冲区的支持。 如果不存在,将生成随机字符串。 用你选择的Honeytokens填充文件
      • 已经删除XP支持
      • 已经将批处理脚本部分转换为 Powershell。 简单地向客户脚本移动更多逻辑,简要地说,创建/重新生成模板更少理由。
      • 添加了一个用于随机处理桌面 background 图像的函数
      • 添加了在客户机上创建"全部"排序文档的函数
      • 在客户机上添加"全部"排序文档的函数,并将它们移动到回收站
      • 在另外两个位置随机设置 DigitalProductId:
        • HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerRegistrationDigitalProductId。
        • HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionDefaultProductKeyDigitalProductId。
      • 使用虚拟化接口:无( 使用 VBox 5.1.4验证) - 检查更新以反映这里更改。 我假设VBox中的这种变化是由于以下原因引起的: TiTi87,谢谢 !
    • 0.1.4:

      • 修正了 Bug dmidecode 3.10.13 -3用户的,这是我的全部。
      • 添加了随机化VolumeID的函数( 新先决条件: VolumeId ),这里信息是由Rovnix收集
      • 添加了随机用户名和 computername/主机名( 新先决条件)的函数: 用户名和computernames的列表
      • 首先尝试向剪贴板缓冲区添加信息,( 命令) 来自 @shanselman的一个 tweet。 将在下一个版本中进行改进
      • 更新了自述文件:新的依赖项和需要重新启动的新功能
    • 0.1.3:

      • 复制并设置CPU品牌字符串。
      • 检查是否已经将音频设备附加到客户机。 参考:http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html
      • 检查操作系统架构 vs DevManView二进制。
      • 对另外两个位置的ProductId进行随机设置:
        • HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerRegistrationProductId。
        • HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionDefaultProductKeyProductId。
      • 从注册表( 防止有人窃取它。) 清除 Windows 产品密钥。
      • 编辑 DigitalProductId ( HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionDigitalProductId ) 以添加新的ProductId。
    • 0.1.2:

      • 检查是否使用了( 旧接口的使用将减轻"cpuid功能"检测) 中的旧式paravirtualization接口。
    • 0.1.1:

      • 检查CPU计数( 小于 2 ==警报)。
      • 检查内存大小( 小于 2GB ==警报)。
      • 检查 vboxnet0 ( 如果不使用通知,则可以忽略该通知) 是否使用默认的ip/ip范围。
      • 随机地对ProductId进行排序。
      • 来自r-sierra的合并 PR #3 ( 感谢你帮助 !
      • 在 AcpiCreatorId ( 感谢 @Nadacsc 向我报告) 中修复了一个 Bug。
      • 在DmiBIOSReleaseDate解析中修复了一个 Bug。
      • 修正了DmiBIOSReleaseDate中的Bug,以处理"默认值"拼写错误的变体和拼写正确的一个( 感谢 @WanpengQian 向我报告)。
      • DevManView包含未按预期工作,应该在这里版本中修复。
      • 支持SATA控制器( 以前只修改了IDE设置)
      • 更新了自述文件
    • 0.1.0:

      • 解决了由著名的WMI检测。 将 DevManView.exe ( 你对建筑的选择) 添加到先决条件。
    • <0.1.0没有保留版本历史,需要从我想的地方开始。

    /米克尔

    始终欢迎反馈= ) !


    TEMP  template  MAKE  Detect  Virtual  HAR