跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

vSphere开发指南6——vCenter SAML证书


HACK7YD

推荐的帖子

0x00 前言

最近学了一个利用方法:在vCenter上使用管理员权限,从/storage/db/VMware-vmdir/data . MDB中提取IdP证书,为管理员用户创建SAML请求,最后使用vCenter server进行身份验证,获取有效的管理员cookie。

直观理解:从vCenter的本地管理员权限到VCSA管理面板的管理员访问权限。

学习材料:

https://www . horizon 3 . ai/compromising-vcenter-via-SAML-certificates/

https://github.com/horizon3ai/vcenter_saml_login

本文将在学习资料的基础上,完善代码,增加通用性,并结合利用的思路给出防御建议。

0x01 简介

本文将介绍以下内容:

方法复制

脚本优化

利用理念

辩护建议

0x02 方法复现

在Kali系统下测试。

安装Openssl:

apt安装python3-openssl

1.从vCenter获得数据库文件

路径:/storage/db/VMware-vmdir/data . MDB

需要vCenter的管理员权限。

2.运行脚本

下载地址:

https://github . com/horizon 3 ai/vcenter _ SAML _ log in/blob/main/vcenter _ SAML _ log in . py

命令参数示例:

python3。/vcenter _ SAML _ log in . py-t 192 . 168 . 1 . 1-p data . MDB

命令行返回结果:

JSESSIONID=xx 533 cdfa 344 de 842517 c 943 a1 AC 7611

3.登录VCSA管理面板

请访问https://192.168.1.1/ui

设置:jssessionid=xx 533 cdfa 344 de 842517 c 943 a1 AC 7611

以管理员身份成功登录管理面板。

0x03 脚本优化

通常,data.mdb的大小至少为20MB。

为了减少交互流量,选择修改vCenter_saml_login.py,直接在vCenter下使用。

注:

默认情况下,Python安装在vCenter中

脚本修改需要考虑以下问题:

1.去掉引用第三方包bitstring

我的方法是精简第三方包bitstring的内容,直接插入Python脚本。

2.避免使用f-字符串格式化

Python3.6增加了新的f字符串格式。

vCenter 6.7的版本是Python 3.5.6,格式化字符串文本的前缀是“f”。

我用format来格式化字符串。

例如:

cn=stream.read(f '字节:{cn_len} ')。解码()

替换为:

cn=stream.read('bytes:{} ')。格式(cn_len))。解码()

完整的代码已经上传到Github,地址如下:

https://github . com/3g student/Homework-of-Python/blob/master/vCenter _ extracertfrommdb . py

VCenter _ ExtraCertFromMdb.py可以上传到VCenter中直接执行。执行后,您将获得以下四个重要参数:

域,显示在命令行上

Idp_cert,另存为idp_cert.txt

可信证书1,保存为可信证书1.txt

可信证书2,保存为可信证书2.txt

接下来,您可以为任何主机上的管理员用户创建SAML请求,向vCenter server进行身份验证并获取有效的管理员cookie。完整的代码已经上传到Github,地址如下:

https://github . com/3g student/Homework-of-Python/blob/master/vCenter _ generateloginocookie . py

参数描述如下:

目标:VCSA管理面板的URL

主机名:对应于VCSA管理面板的证书主题属性中的CN

域:可以使用vCenter _ ExtraCertFromMdb.py从data.mdb中获取

Idp_cert路径:可以使用vCenter _ ExtraCertFromMdb.py从data.mdb中获取

Trusted_cert_1路径:可以使用vCenter_ExtraCertFromMdb.py从data.mdb中获取

Trusted_cert_2路径:可以使用vCenter_ExtraCertFromMdb.py从data.mdb中获取

0x04 利用思路

1.从vCenter本地管理员权限到VCSA管理面板的管理员访问权限

前提:通过漏洞获得vCenter的本地管理员权限。

利用效果:

获得VCSA管理面板的管理员访问权限,并能够与vCenter管理的虚拟机进行交互。

注:

此时,您也可以通过《vSphere开发指南5——LDAP》中描述的方法,通过LDAP数据库添加管理员用户,然后与vCenter管理的虚拟机进行交互。

2.从vCenter备份文件中得到data.mdb

前提:你需要获取正确的data.mdb文件。

利用效果:

获得VCSA管理面板的管理员访问权限,并能够与vCenter管理的虚拟机进行交互。

0x05 防御建议

1.更新补丁以防止攻击者获得vCenter的本地管理员权限。

2.避免使用中的vCenter备份文件泄露。

0x06 小结

介绍了vcenter_saml_login的优化思想,增加了其通用性,并结合利用思想给出了防御建议。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...