【实战】记一次攻防演练之vcenter后渗透利用(上)

简介: 【实战】记一次攻防演练之vcenter后渗透利用

1. 说明


很早之前的一次攻防演练,主要是从web漏洞入手,逐渐学习vcenter后利用技术。过程由于太长,很多细节都省略了,中间踩坑、磕磕绊绊的地方太多了。。。

由于敏感性,很多地方都是打码或者是没有图,按照回忆整理的,见谅!


1. confluence漏洞


根据打点的记录,找到了一个confluence的界面:


1.1 反弹shell


经过验证,存在cve-2022-26134漏洞,直接利用漏洞反弹shellvps

经过分析,当前为实体机,但是权限较低,这也正常,大部分都是这个权限。


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. 1. 找到mdb文件,生成证书文件,再生成cookie,进后台。
  2. 2. root权限添加新用户。
  3. 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老板的基础上学习到的:

https://daidaitiehanhan.github.io/2022/04/18/vCenter2021%E5%87%A0%E4%B8%AA%E6%BC%8F%E6%B4%9E%E5%8F%8A%E5%90%8E%E6%B8%97%E9%80%8F/#%E6%8F%90%E6%9D%83

不懂的,可以先看这个。

流程就是:在这里获取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

相关文章
|
关系型数据库 MySQL 数据库
Docker部署Mysql数据库详解
Docker是一种流行的容器化平台,可以简化应用程序的部署和管理。在本博客中,我们将探讨如何使用Docker部署两个广泛使用的数据库:MySQL。我们将提供详细的步骤和相应的命令,以帮助您轻松地在Docker容器中设置和运行这个数据库。
2608 0
|
安全 网络安全 PHP
CISP-PTE综合靶机-WinServer2008学习
CISP-PTE综合靶机-WinServer2008学习
1239 0
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
164233 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
9月前
|
安全 测试技术 网络安全
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
614 11
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
|
11月前
|
存储 安全 API
阿里云先知安全沙龙(上海站) ——红队武器开发之基于合法服务的隐蔽C2
C2(命令与控制)是攻击者远程控制受感染主机的技术。通过合法服务平台(如Slack、Telegram等)的API,攻击者可以隐蔽地传输指令和数据,避免被传统检测机制发现。合法服务具备以下优势: 1. **隐蔽性强**:流量隐藏在正常通信中,难以被检测。 2. **开发成本低**:无需自行开发服务端,减少工作量。 3. **抗封禁能力**:合法域名/IP不易被封禁,威胁情报不会标黑。 4. **团队协作**:天然支持多成员协同作战。 示例包括SaaiwC组织利用Telegram和APT29组织利用Zulip平台进行数据传输和控制。
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
505 5
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
1151 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
324 0
|
存储 安全 Shell
【实战】记一次攻防演练之vcenter后渗透利用(下)
【实战】记一次攻防演练之vcenter后渗透利用
818 0
下一篇
oss云网关配置