1. 说明
很早之前的一次攻防演练,主要是从web
漏洞入手,逐渐学习vcenter
后利用技术。过程由于太长,很多细节都省略了,中间踩坑、磕磕绊绊的地方太多了。。。
由于敏感性,很多地方都是打码或者是没有图,按照回忆整理的,见谅!
1. confluence漏洞
根据打点的记录,找到了一个confluence
的界面:
1.1 反弹shell
经过验证,存在cve-2022-26134
漏洞,直接利用漏洞反弹shell
到vps
:
经过分析,当前为实体机,但是权限较低,这也正常,大部分都是这个权限。
1.2 提权
先进行信息搜集,看下内核版本之类的:
看到了当前为centos
,尝试使用cve-2021-4034
进行提权,将文件传到机器上之后,再进行编译,然后执行:
此时顺利获取到了root
权限。
在此期间,发现机器中还有的门罗币的一些操作:
因为当前机器仅支持密钥登录,在密钥中看到了明显的入侵痕迹。所以就不进行登陆了。
至此,入口机的操作到此结束。
2. 内网扫描
在入口机上发现了一共有两个有效子网ip,对其分别进行了扫描,发现如下:
对192.168.122.1/24
扫描,只发现了一个ip,也就是当前正在使用的ip地址,虽然发现了一些其他的漏洞,但是参考意义不大:
对10.110.11.1/24
段进行扫描的时候,发现了一些有用的漏洞,其中包含vcenter
的,由于内容太多,在这里分享一部分:
[+] NetInfo: [*]10.110.11.10 [->]a1-dc [->]10.110.11.10 [+] https://10.110.11.30 poc-yaml-vmware-vcenter-unauthorized-rce-cve-2021-21972
在这里发现了一台dc
(自己标注的主机名)和一个cve-2021-21972
漏洞的机器,那下面就转战vcenter
了。毕竟vcenter
被称为小域控。
当然,在这里还需要搭建隧道等,我在这里就对此省略不提了。
3. vcenter漏洞
对于这种vcenter
漏洞和后渗透来说,先拿到shell
,提权到root
,进后台,操作机器。一般进后台有三种方法:
- 1. 找到
mdb
文件,生成证书文件,再生成cookie
,进后台。 - 2.
root
权限添加新用户。 - 3. 重置管理员密码,使用新账密进入后台。
3.1 版本探测
首先是版本探测:
当前版本是6.7.2
,虽然扫出来的是21972
漏洞,但是很多时候这种机器有概率存在cve-2021-22005
漏洞,之所以尝试22005
,主要是21972
获得的权限不是root
的,到时候还需要提权,很麻烦。
3.2 getshell
在这里使用的是cve-2021-22005
,挂上代理之后,先上传作者的木马上去,直接一把梭:
这样的好处是作者的木马是网页版的命令执行,有些时候会显示似乎是已经上传成功了,但是验证的时候没有回显,以前遇到过好多次都是误报。
证明确实存在22005
这个漏洞,那就上传自己的马儿上去:
在这里上传的是蚁剑的,因为在这里最初尝试过哥斯拉的,发现上传了无法连接,最后蚁剑是忽略了https
证书才能连接:
当前权限是root
。
理论上接下来就是获取cookie
到后台,再操作机器。。。。。
整个流程看起来非常的流畅。但是坑的点随之而来~
3.3 获取cookie(失败)
以下的操作可以参考这个链接,我都是在这个链接和s老板的基础上学习到的:
不懂的,可以先看这个。
流程就是:在这里获取cookie
之后,然后直接登录vcenter
的网页版后台(想着都很美)
一般来说,对mdb
数据操作,有两种方法:
- • 一个是在
vcenter
机器上用脚本获取 - • 第二种是下载到本地用脚本获取。
3.3.1 本地执行脚本
找到mdb
数据,然后解密:
/storage/db/vmware-vmdir/data.mdb
在执行的时候,在蚁剑上使用命令行执行会特别慢,只能获取到一个文件,因为当前vcenter
的机器出网,所以直接反向弹到vps
上,用root
权限的交互式命令行来执行,同样的问题,执行反馈特别慢,而且执行会出现一些莫名其妙的错误:
直接告诉我证书为空,我尼玛。。。
最后发现,可能的原因是mdb
文件太大了,文件1个G还要多,没法搞(只是怀疑),一般攻防里面这种文件大概不超过100M
。
3.3.2 本地执行
挂隧道,用小水管,把文件慢慢慢慢慢慢慢下载到本地来,再试试本地:
直接g,看来这种方法肯定是不行了。
3.4 添加用户(失败)
按照大佬的方法,此时来添加新用户到vcenter
后台,用户添加脚本:
https://github.com/3gstudent/Homework-of-Python/blob/master/vCenterLDAP_Manage.py
看似很轻松的操作,我开始按照提示先添加账号,再添加到管理组:
在添加到管理组的时候,和别的师傅不一定的点就是在这里发生了报错:
果然,登录的时候直接g。。。
3.5 重置密码(成功)
没有办法了,来重置密码吧,虽然还有其他的路子(菜)
重置密码会修改管理员的密码,所以这个操作需要谨慎
首先查询域名,再在shell
中执行重置密码的功能:
查询域名:
/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost
重置密码,在shell
中执行:
/usr/lib/vmware-vmdir/bin/vdcadmintool
选择3,输入用户名:Administrator@xxxxx
,然后回车即可:
终于,进入后台了,一共99
台机器,其中那个dc
机器也在里面:
到这就结束了吗?更大的困难还在后面。。。
眼看dc机器在里面,那就想办法登录上去,由于dc机器正在运行,且锁屏,所以就有了下文去想办法获取dc机器的hash
。
4. dc机器hash获取
在这里获取hash
有两个大方向:
- • 做快照,下载快照,用
Volatility
来取证获取hash
(适合流量无线和下载比较快的) - • 做克隆,
cd
盘启动,抓hash
4.1 打快照下载法
这种适合网速不错、能短时间下载下来的。
然后再dc中找到自己的存储位置,再去找对应的存储,下载文件:
将vmem
文件下载下来:
当前下载非常的慢,所以找了一个winxp
的试试:
获取信息,然后hashdump
: