实战|内网中vCenter集群攻击全程实录

admin 2025年2月8日11:16:25评论7 views字数 3068阅读10分13秒阅读模式
文章作者:奇安信攻防社区(青橄榄)

文章来源:https://forum.butian.net/share/4091

1

前言

最近在做项目的时候,测到了一个部署在内网的存在漏洞的vCenter集群,这不巧了,正好最近在研究这vCenter、域这些集控类设备的打法,于是做了详细记录,有很多碰到的问题和解决办法,大佬勿喷哈哈。

2

vCenter服务器权限获取

内网信息搜集过程中fscan扫描报告显示存在一套vCenter服务器,并且其存在RCE漏洞cve-2021-21972:
[+]https://内网IP  poc-yaml-vmware-vcenter-unauthorized-rce-cve-2021-21972
实战|内网中vCenter集群攻击全程实录
一般而言,进行vCenter攻击首先要确定版本、搜集域名,其中域名获取方式分为两种:一是通过LDAP匿名绑定获取目标域名,二是通过HTTP重定向获取域名,这里采用第二种方式。有个小技巧就是利用密码喷洒规避SSO登录锁定策略可以用来爆破普通用户密码。这里因为存在rce漏洞,是可以直接用exp打下来的。
我们首先利用CVE-2021-21972漏洞成功获取普通用户权限的webshell,但是无法提权为root
实战|内网中vCenter集群攻击全程实录
然后尝试利用CVE-2021-3156漏洞提升为root权限
https://github.com/HynekPetrak/HynekPetrak/blob/master/take_over_vcenter_670.mdhttps://raw.githubusercontent.com/worawit/CVE-2021-3156/main/exploit_userspec.py
但是第一次执行时遇到错误
实战|内网中vCenter集群攻击全程实录
分析后发现是脚本执行到628行打开/dev/null权限不足,直接修改脚本
实战|内网中vCenter集群攻击全程实录
发现null_fd并没有什么用,仅仅具有日志记录的作用,于是将其改为1.txt
实战|内网中vCenter集群攻击全程实录
在上次报错的位置再次运行提权脚本,最终创建了一个gg用户(管理员权限,密码gg),可以su到root账户上,至此提权成功!
再次备份木马到隐藏目录下,访问路径为https://内网IP/idm/..;/update.jsp 重新用哥斯拉连接之,这样就成功获取root权限的webshell
实战|内网中vCenter集群攻击全程实录
查看/etc/shadow获取root密码密文内容
root:$6$QL15TDCu$8HetMyfCTNW6LDS5XKb0yvY7SZqxa55PExH9SKb1pjnzSr/4yVBkOQLAghKwWah3NuqxWIaSFJZ//:0:0:365:7:::
这里直接放到在线破解网站发现无法破解,只能先保存下来后面有时间可以破解之,尽管没有破解出明文也是不影响后面的攻击流程的。
3

vCenter控制台权限获取

我们知道vCenter控制台管理了众多的ESXI虚拟机,这些都是业务系统载体,是我们攻击方非常感兴趣的点。为此我们要通过vCenter后台服务器权限来绕过SAML登录,基本思路是:
vCenter SSO:1. 用户访问vCenter2. vCenter生成SAML Request,通过浏览器携带参数重定向到Idp地址3. 用户在Idp地址完成认证4. Idp生成SAML Response(包含身份断言,签名),通过自动门提交表单将其发送给vCenter5. vCenter 对 SAML Response 的内容进行检验,通过后返回session cookie6. 用户成功登录
为了进一步获取vCenter控制台管理权限,下面利用三好学生脚本vCenterLDAP_Manage.py按照步骤:获取域控信息->添加新用户admin->将新用户加入管理员组中
可以在github上下载三好学生的利用脚本
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenterLDAP_Manage.py
获取域控信息
实战|内网中vCenter集群攻击全程实录
添加新用户admin
实战|内网中vCenter集群攻击全程实录
将新用户加入管理员组中
实战|内网中vCenter集群攻击全程实录
成功添加管理员admin,最终的vcenter管理员账号[email protected]/P@ssWord123
最终成功登录vcenter web控制台界面如下:
实战|内网中vCenter集群攻击全程实录
该vCenter服务器管理68台服务器,存在一个域环境ZXX.COM,锁定域控机器Win2k8R2_DC。如何拿到该域控制器管理员密码呢?
4

攻击域控

首先克隆域控所在的虚拟机。通过菜单Actions->Clone->Clone to Virtual Machine...命名为Win2K8R2_Test,然后稍等一会儿就成功克隆该虚拟机。

实战|内网中vCenter集群攻击全程实录

在网上下载一个启动盘镜像kon_boot.iso到本地,点击菜单编辑虚拟机,在虚拟机硬件出展开CD/DVD drive 1选择挂载CD/DVD为kon_boot.iso即可,最后启动克隆虚拟机
实战|内网中vCenter集群攻击全程实录
启动成功后连续按5下shift弹出cmd.exe,添加管理员
实战|内网中vCenter集群攻击全程实录
至此就能够登录该域控克隆主机
实战|内网中vCenter集群攻击全程实录
总结一下上述攻击过程为:克隆虚拟机->挂载CD/DVD为kon_boot.iso->利用shift后门弹出cmd.exe并添加管理员用户->登录域控克隆主机。
5

域内信息收集

利用上面步骤中 vcenter服务器攻击最后添加的账号test/Admin@123进入域控克隆主机,进行域内信息搜集:
实战|内网中vCenter集群攻击全程实录
利用mimikatz导出所有用户hash,利用CMD5在线破解成功用户ZXX.COMbackupuser明文密码为admiN@123
实战|内网中vCenter集群攻击全程实录
值得注意的是backupuser是域管理员权限,利用账号backupuser/NNN@123登录真正的域控主机
实战|内网中vCenter集群攻击全程实录
利用impacket工具模块secretsdump再次抓取域内所有用户hash
实战|内网中vCenter集群攻击全程实录
6

域内横向移动

域内主机A
通过域管账号backupuser登陆域内主机A,利用横向移动工具Impacket wmiexec+net use进入命令行界面,上传密码抓取工具GetPass_x64获得明文密码为administrator/TTT@321,也可以上传免杀木马并执行,上线后抓取hash及明文密码
实战|内网中vCenter集群攻击全程实录
以管理员帐号登录远程桌面后,发现文件夹Share存在大量技术文档
实战|内网中vCenter集群攻击全程实录
域内主机B
该主机是一台文件存储服务器,利用横向移动工具Impacket wmiexec+net use上传免杀木马并执行,上线后抓取hash及明文密码
实战|内网中vCenter集群攻击全程实录
开启远程桌面的cmd指令
reg add "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
防火墙开放端口3389
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
开启3389端口后,以管理员帐号成功登录远程桌面
实战|内网中vCenter集群攻击全程实录
7

总结

最后通过攻防两个侧面来谈谈vCenter:
对于红队而言,vCenter人送外号小域控,拿下vCenter之后,不单单只是获取一台服务器的权限,vCenter中存在的虚拟机以及ESXI主机都有可能成为后续的攻击目标,因此拿下vCenter的价值不亚于域控的价值。
对于运维管理人员来说要实时关注vCenter操作系统自身的安全漏洞,要确保漏洞能 够及时发现,并能够及时打补丁,以积极应对来自终端层面的攻击威胁。
8

 

原文始发于微信公众号(李白你好):实战|内网中vCenter集群攻击全程实录,学会你也行!

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月8日11:16:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战|内网中vCenter集群攻击全程实录https://cn-sec.com/archives/3713019.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息