利用VMware Tools实现的后门

0x00 前言


在渗透测试中,我们经常会碰到Windows虚拟机,这些虚拟机往往会安装VMware Tools,利用VMware Tools的脚本执行功能可以实现一个开机自启动的后门。

关于这项技术的文章:

https://bohops.com/2021/10/08/analyzing-and-detecting-a-vmtools-persistence-technique/

https://www.hexacorn.com/blog/2017/01/14/beyond-good-ol-run-key-part-53/

本文将要在参考资料的基础上,分析利用思路,给出防御建议。

0x01 简介


本文将要介绍以下内容:

  • 利用思路
  • 利用分析
  • 防御建议

0x02 利用思路


VMware Tools的脚本执行功能支持在以下四种状态时运行:

  • power,开机状态
  • resume,恢复状态
  • suspend,挂起状态
  • shutdown,关机状态

可以选择以下两种方法进行配置脚本执行的功能:

1.使用VMwareToolboxCmd.exe

默认安装路径:"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe"

命令示例1:

"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" script power enable

命令执行后,将在默认安装路径下创建文件C:\ProgramData\VMware\VMware Tools\tools.conf,内容为:

[powerops]
poweron-script=poweron-vm-default.bat

实现效果:

当系统开机时,将会以System权限执行"C:\Program Files\VMware\VMware Tools\poweron-vm-default.bat"

注:

对于power命令,只能是开机操作,重启操作无法触发

命令示例2:

"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" script suspend set "c:\test\1.bat"

命令执行后,将在默认安装路径下创建文件C:\ProgramData\VMware\VMware Tools\tools.conf,内容为:

[powerops]
suspend-script=c:\\test\\1.bat

实现效果:

当系统进入挂起状态时,将会以System权限执行"c:\test\1.bat"

2.使用tools.conf

直接创建文件C:\ProgramData\VMware\VMware Tools\tools.conf

文件内容示例:

[powerops]
poweron-script=poweron-vm-default.bat
suspend-script=c:\\test\\1.bat

实现效果:

当系统开机时,将会以System权限执行"C:\Program Files\VMware\VMware Tools\poweron-vm-default.bat",当系统进入挂起状态时,将会以System权限执行"c:\test\1.bat"

补充:

查看VMwareToolboxCmd.exe的帮助说明:

"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" help

查看开机启动脚本的默认路径:

"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" script power default

查看开机启动脚本的当前路径:

"C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" script power current

0x03 利用分析


创建文件C:\ProgramData\VMware\VMware Tools\tools.conf需要管理员权限

通过VMware Tools的脚本执行功能,启动脚本的执行权限为System

为了提高隐蔽性,可以设置默认启动脚本为poweron-vm-default.bat,在poweron-vm-default.bat添加通过rundll32加载dll的命令

0x04 防御检测


默认配置下,VMware Tools不会开启脚本执行功能,也就是说不存在文件C:\ProgramData\VMware\VMware Tools\tools.conf

1.识别脚本执行功能是否开启

查看文件C:\ProgramData\VMware\VMware Tools\tools.conf的内容

如果文件不存在,代表脚本执行功能未开启

2.识别脚本执行的内容

查看文件C:\ProgramData\VMware\VMware Tools\tools.conf的内容

如果未指明脚本文件的绝对路径,脚本文件默认的绝对路径为"C:\Program Files\VMware\VMware Tools\"

0x05 小结


本文分析了VMware Tools脚本执行功能的利用思路,给出防御建议。

转载自:https://3gstudent.github.io/page/2/

posted @ 2022-04-13 10:58  月满年  阅读(98)  评论(0编辑  收藏  举报