跳转到帖子

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

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

TheHackerWorld官方

VMware VCenter Server漏洞调试环境构建

精选回复

发布于

0x00 前言

本文记录了从头构建VMware VCenter Server漏洞调试环境的详细信息。

0x01 简介

本文将介绍以下内容:

在vCenter上下载文件

vCenter server启动调试模式。

使用本地思想进行远程调试

0x02 下载vCenter上的文件

为了从vCenter下载文件,我们选择SSH连接来下载文件。

1.开启SSH

一般来说,可以选择以下两种方法:

(1)通过浏览器配置

请访问https://:5480

在访问页面下打开,如下图所示

2-1.png

(2)通过虚拟机配置

进入虚拟机登录页面,按F2进入配置页面,在故障排除模式选项下打开,如下图所示

2-2.png

2.切换到Bash shell

使用SSH登录vCenter时,默认为Appliance Shell,需要输入Shell命令才能进入Bash shell。

如下图

2-3.png

这使得无法使用scp等命令直接上传和下载文件。

这里,您需要将默认的设备Shell切换到Bash shell,如下所示:

(1)使用SSH登录vCente

(2)输入shell命令进入Bash shell。

(3)输入以下命令设置默认环境:

chsh -s /bin/bash根目录

如果返回结果如下:

您需要立即更改您的密码(密码已过期)

chsh: PAM:验证令牌不再有效;需要新的

表示超级用户密码已过期

您可以使用passwd命令更改root密码,如下所示:

密码根

注:

默认情况下,设置为设备外壳的命令如下:

chsh -s /bin/appliancesh根

此时,您可以通过SSH连接上传和下载文件。

0x03 vCenter服务器开启调试模式

首先,您需要确定要调试的进程。不同的漏洞对应不同的进程,例如

CVE-2021-21985对应的进程是vsphere-ui.launcher,CVE-2021-22005对应的进程是vmware-analytics.launcher

这里有两种开始调试的方法。

(1)调试vsphere-ui.launcher

修改文件/etc/VMware/VMware-vmon/svccfgfiles/VSP here-ui . JSON。

取消以下注释:

//'-Xdebug ',

//'-Xnoagent ',

//'-Xrunjdwp:transport=dt _ socket,server=y,suspend=n,address=8002 ',

如下图

3-1.png

要重新启动vsphere-ui服务,请执行以下操作:

服务-控制-重启vsphere-ui

打开防火墙:

iptables -P输入接受

iptables -P输出接受

验证是否成功修改了vsphere-ui启动参数,并执行以下命令:

ps -aux | grep vsphere-ui.launcher

获取内容:

/usr/Java/JRE-VMware/bin/VSP here-ui。launcher-xmx 854m-XX:compressed class spacesize=256m-xs 320k-XX:ParallelGCThreads=1-DJ ava。io。tmpdir=/usr/lib/VMware-VSP here-ui/server/work/tmp-dorg。月食。处女座。内核。home=/usr/lib/VMware-VSP here-ui/server-DPS _ BASEDIR=/storage/VSP here-ui/-

证实这里是VSP用户界面的启动参数修改成功

(2)调试vmware-analytics.launcher

定位vmware-analytics.launcher,执行命令:

PS-aux | grep VMware-分析。发射者

得到默认的启动参数:

根2434 12.9 2.5 2730380 420720?sl 07:41 1:07/usr/Java/JRE-VMware/bin/VMware-分析。launcher-xmx 139m-XX:compressed class space size=64m-XSS 256k-XX:ParallelGCThreads=1-dorg。阿帕奇。卡特琳娜。启动。exit _ ON _ INIT _ FAILURE=TRUE-danalytics。logdir=/var/log/VMware/analytics-danalytics。datadir=/存储/分析-数据分析。部署节点类型文件=/etcbuild信息-数据分析。agents dir=/etc/VMware-analytics/agents-XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/var/log/VMware/analytics-XX:error file=/var/log/VMware/analytics/Java _ error % p . log-XX:printgc details-XX:PrintGCDateStamps-XX:printfreferencegc-XX:usegclogfilerotion-XX:numberofgclogfilesize=10-XX:GCLogFileSize=1024k-xlogg

修改启动参数,加入调试参数:

-Xdebug-Xrunjdwp:transport=dt _ socket,server=y,suspend=n,address=8003

在末尾使用,将进程放置到后台运行

在重新启动前,先需要停止服务VMware-分析:

服务控制停止vmware分析

使用新的参数启动vmware-analytics.launcher:

/usr/Java/JRE-VMware/bin/VMware-analytics。launcher-Xdebug-Xrunjdwp:transport=dt _ socket,server=y,suspend=n,address=8003-xmx 139m-XX:compressed class spacesize=64m-XSS 256k-XX:ParallelGCThreads=1-dorg。阿帕奇。卡特琳娜。启动。exit _ ON _ INIT _ FAILURE=TRUE-danalytics。logdir=/var/log/VMware/analytics-danalytics。数据库信息-数据分析。agents dir=/etc/VMware-analytics/agents-XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/var/log/VMware/analytics-XX:error file=/var/log/VMware/analytics/Java _ error % p . log-XX:printgc details-XX:PrintGCDateStamps-XX:printfreferencegc-XX:usegclogfilerotion-XX:numberofgclogfilesize=10-XX:GCLogFileSize=1024k-xlogg

注:

如果想重新调试,需要做以下操作:

停止服务:VMware-分析:服务-控制-停止VMware-分析

结束进程:kill -KILL pid

以新的参数启动vmware-analytics.launcher。如果想要以正常的参数启动,只需要重新启动服务VMware-分析:服务-控制-启动VMware-分析

0x04 本地使用IDEA进行远程调试

1.下载jar文件

本地使用想法进行远程调试时,本地和远程的代码需要保持一致,也就是说,我们需要拿到vCenter服务器上待调试进程加载的冲突文件

vCenter服务器的相关冲突文件位于以下两个路径:

/等等

/usr/lib

您可以通过以下命令将所有与vCenter servers相关的jar文件复制到同一路径,然后统一下载:

mkdir /tmp/jar

find /etc/-name '*。jar' |xargs -n1 -i cp {} /tmp/jar

查找/usr/lib/-name '*。jar' |xargs -n1 -i cp {} /tmp/jar

注:

如果要查找所有jar文件的内容,可以通过以下命令将与vCenter servers相关的所有jar文件解压缩到同一路径:

find /etc -name '*。jar' | xargs -n 1 unzip -d /tmp/data/

查找/usr/lib/-name '*。jar' | xargs -n 1 unzip -d /tmp/data/

统一下载所有与vCenter servers相关的jar文件后,保存文件夹为c:\testjar\

2.批量导入jar文件

要创建新的java项目,请选择文件-项目结构.并在Libraries下新建项目库-Java,并将其设置为c:\testjar\配置后的结果如下

4-1.png

3.添加断点

打开。类文件,并在适当的位置添加断点,如下图所示。

4-2.png

4.设置远程调试参数

在菜单栏的顶部,选择添加配置.并在弹出的页面中选择远程JVM调试,填写远程调试参数。您需要修改以下参数:

主持

港口

使用JDK选择JDK 5-8。

例子如下

4-3.png

5.开启Debug模式

回到IDEA主页,选择刚才的配置文件,点击调试图标(快捷键Shift F9)

如果远程调试成功,断点图标会发生变化,并添加一个复选标记,如下图所示。

4-4.png

此时,控制台页面如下所示:

已连接到目标虚拟机,地址:“:”,传输:“套接字”

0x05 小结

在我们搭建好VMware VCenter Server的漏洞调试环境之后,就可以开始研究漏洞了。

留下回复

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。