自学内容网 自学内容网

从取证视角看虚拟化——以 ESXi 为例

引言

涉网犯罪正在以前所未有的速度发展,其手法越来越复杂,隐蔽性也越来越强。而虚拟化的迅速普及,为涉网犯罪提供了新的土壤,也为电子取证工作带来了前所未有的挑战。虚拟化的应用,使得网络犯罪的痕迹更加难以追踪。犯罪分子可以轻松地在虚拟机之间转移数据和证据,甚至在云端进行犯罪活动,将犯罪行为隐藏在复杂的网络架构中。此外,虚拟化环境的动态性也给取证工作带来了巨大的难度。传统的取证方法在应对虚拟化环境下的犯罪时,显得力不从心。传统的取证工具和方法往往依赖于取证软件的分析,而虚拟化环境的特性使得传统的取证方法难以发挥作用。因此,理解虚拟化,掌握从取证视角分析虚拟化环境的能力,对于有效打击网络犯罪至关重要。本文将从取证的角度出发,并结合比武赛题,来深入探讨虚拟化技术在网络犯罪中的应用,以及如何利用新的技术和方法应对这一挑战。

虚拟化介绍

在开始介绍 ESXi 取证方法之前,我们先来了解一下虚拟化和 ESXi 平台的一些应知应会概念

什么是虚拟化

想象你有一间大房间,你希望将其分割成多个小房间,每个房间都可以独立使用,有自己的门、窗和家具,彼此之间不会互相干扰。在计算技术中,虚拟化正是这样一种技术,它可以将一台物理服务器分割成多个虚拟服务器,每个虚拟服务器都像是一台独立的计算机,拥有自己的操作系统和应用程序。这种分割就是通过虚拟化软件来实现的。

管理维护一个传统数据中心往往是耗时且费用昂贵的工作,并且存在一系列问题,例如:

  1. 服务器资源浪费: 传统的物理服务器资源利用率通常较低,一台服务器可能只运行了很少的应用,导致大量的资源闲置浪费。

  2. 能源利用率低下: 传统数据中心需要大量的电力来运行服务器和冷却设备,能源利用率普遍偏低,造成环境污染和经济损失。

  3. 应用上线速度缓慢: 传统的物理服务器配置、部署和维护都需要耗费大量时间,导致应用上线速度缓慢,无法满足快速发展的业务需求。

  4. 老旧硬件/系统的长期保留: 为了避免数据丢失和系统崩溃,传统数据中心往往需要保留大量的旧硬件和系统,造成资源浪费和维护成本增加。

虚拟化技术的出现,为解决这些问题提供了一个有效的解决方案。虚拟化可以整合物理资源,让一台物理机同时运行多个虚拟机。

虚拟化带来的优势:

  1. 提高资源利用率:虚拟化技术可以将一台物理服务器的资源分配给多个虚拟机,从而提高服务器资源利用率,降低硬件成本。

  2. 提升能源效率:通过整合物理资源,减少服务器数量,可以显著降低数据中心的电力消耗,提高能源利用率,减少碳排放。

  3. 加速应用上线速度:虚拟化环境中,应用部署和配置变得更加便捷快速,可以缩短应用上线时间,提升业务敏捷性。

  4. 简化管理维护:虚拟化技术简化了服务器管理和维护工作,可以集中管理虚拟机,提高管理效率,降低运营成本。

总而言之,虚拟化技术能够有效解决传统数据中心存在的诸多问题,提高资源利用率、提升能源效率、加速应用上线速度、简化管理维护,最终帮助企业实现数据中心运营成本的降低和业务效率的提升。

越来越多的个人也使用虚拟化的方式,在主机内部安装多个路由或者其他操作系统,Oneforall,以期实现更多复杂的功能,榨干硬件性能。

虚拟化平台——ESXi

ESXi,全称 VMware ESXi,是 VMware 公司推出的业界领先的服务器虚拟化平台,它是一个精简的、基于内核的虚拟化程序,专门为在 x86 平台上运行虚拟机而设计。ESXi 采用直接虚拟化技术,直接在硬件之上运行虚拟机,减少了虚拟化层级的开销,提供更高的性能和更低的延迟。同时,ESXi 拥有完善的容错机制,如虚拟机高可用性(HA)、虚拟机故障转移(FT)等,确保虚拟机的高可用性,并提供强大的安全功能,包括虚拟机隔离、访问控制、加密存储等,保证虚拟环境的安全性和稳定性。ESXi 还提供简化的管理界面和强大的管理工具,方便用户管理和监控虚拟机,提高管理效率。此外,ESXi 支持各种硬件平台和操作系统,与各种软件应用程序兼容,提供良好的兼容性。它可以管理虚拟机、资源、存储、网络、安全和监控,应用场景包括数据中心虚拟化、桌面虚拟化和云计算平台构建。总而言之,ESXi 是一个功能强大、性能可靠、安全稳定、易于管理的服务器虚拟化平台,是构建虚拟化环境的理想选择,为企业提供高效、可靠、安全的数据中心解决方案。

vSphere 和 ESXi,VCenter 的区别

ESXi 架构

想象一下你家里的电脑,它就是一个服务器。你想让这台电脑更强大,于是你决定把它分成多个虚拟机,每个虚拟机就像一台独立的电脑,可以运行不同的软件和操作系统。

ESXi 就是这台电脑的“操作系统”,它可以让你的服务器运行虚拟机。它本身是一个非常精简的操作系统,只负责管理虚拟机,不提供其他功能。

vCenter 就相当于一个“管理员”,它可以管理多个 ESXi 主机,就像管理一个大型机房。它可以监控所有主机和虚拟机的运行状态,进行资源分配,提供备份和恢复功能,还能帮助你自动化管理虚拟机。

vSphere 就是 VMware 公司提供的一个完整的虚拟化解决方案,它包含了 ESXi、vCenter 和其他一些工具,比如 vMotion、DRS 等。它就像一个“全家桶”,可以帮助你轻松构建和管理一个强大的虚拟化环境。

所以,简单来说:

  • ESXi 是“虚拟化主机”,负责运行虚拟机。
  • vCenter 是“虚拟化管理员”,负责管理多个 ESXi 主机。
  • vSphere 是“虚拟化解决方案”,包含 ESXi、vCenter 和其他工具,提供完整的虚拟化功能。

就像你家里的电脑需要操作系统来运行,服务器也需要 ESXi 来运行虚拟机。而如果你的服务器数量很多,你需要 vCenter 来帮助你统一管理它们。vSphere 则包含了所有这些功能,让你轻松构建一个强大的虚拟化环境。

CPU 虚拟化

CPU 虚拟化

CPU 虚拟化的主要特点:

  1. 硬件虚拟化:ESXi 使用 Intel VT-x 或 AMD-V 技术,直接在硬件层面实现虚拟化,避免了软件模拟带来的性能损耗。

  2. 多核 CPU 分配:ESXi 可以将物理 CPU 的多个核心分配给不同的虚拟机,并根据需要动态调整分配比例,保证虚拟机性能。

  3. CPU 资源控制:ESXi 提供多种 CPU 资源控制机制,例如 CPU 限制、优先级设定、CPU 热插拔等,可以有效控制虚拟机 CPU 使用量,防止资源争夺。

  4. CPU 性能监控:ESXi 提供丰富的 CPU 性能监控指标,帮助用户了解虚拟机 CPU 使用情况,并及时进行优化。

内存虚拟化

内存虚拟化

内存虚拟化的主要特点:

  1. 内存过载:ESXi 支持内存过载功能,允许虚拟机使用的内存总量超过物理主机内存容量,利用“气球驱动器”技术动态调整虚拟机内存使用量,避免内存浪费。

  2. 内存资源控制:ESXi 提供多种内存资源控制机制,例如内存限制、内存预留、内存热插拔等,可以有效控制虚拟机内存使用量,保证系统稳定性。

  3. 内存性能监控:ESXi 提供丰富的内存性能监控指标,帮助用户了解虚拟机内存使用情况,并及时进行优化。

物理和虚拟网络

物理和虚拟网络

ESXi 虚拟网络的核心组件包括:

  1. 虚拟交换机 (vSwitch):作为虚拟机和物理网络之间的桥梁,vSwitch 提供连接和管理虚拟机网络流量的功能。

  2. 网络适配器 (vNIC):虚拟机使用的网络接口,每个虚拟机可以配置多个 vNIC。

  3. 端口组 (Port Group):用于将 vNIC 分组,并根据特定规则管理网络流量。

  4. 分布式交换机 (vDS):用于在多个 ESXi 主机之间创建统一的网络管理,并提供高级功能,例如 VLAN 标签、链路聚合和网络安全策略。

ESXi 虚拟网络的主要优势:

  1. 隔离性:通过 vSwitch 和端口组,你可以将虚拟机划分到不同的网络,实现相互隔离,提高安全性。

  2. 灵活性:可以根据需要创建不同类型的网络,例如 VLAN、网络隔离、QoS 和负载均衡等。

  3. 易于管理:使用 vCenter Server 可以集中管理虚拟网络,简化配置和维护。

  4. 扩展性:可以轻松扩展网络,满足不断增长的虚拟化需求。

虚拟主机通过虚拟网卡的 MAC 地址与外界通讯而不是主机的物理网卡的 MAC 地址与外界通讯。

文件系统和 VMFS

文件系统和 VMFS

VMware vSphere VMFS (Virtual Machine File System) 是一种分布式的存储架构,可以让多台 ESXi 主机同时访问存储。它是一个高性能、可扩展的文件系统,专为满足虚拟化环境的特殊需求而设计。

VMFS 的主要特点:

  1. 高性能: 专门为虚拟机访问进行了优化,能够提供快速的数据访问速度,并支持大量并发访问。

  2. 可扩展性: 支持将多个磁盘合并成一个大的存储空间,允许存储大量虚拟机。

  3. 可靠性: 支持 RAID 以及其他数据保护机制,确保数据安全性和可靠性。

  4. 易于管理: 提供了简单的管理工具,方便用户创建、管理和维护 VMFS 数据存储。

VMFS 的局限性:VMFS 文件系统只能在 ESXi 平台上使用,不能用于其他操作系统或虚拟化平台。

文件系统和 VMFS_2

vSphere Client

用户界面

vSphere 7 以后已经不再支持 C/S 架构的 vSphere Client

image-20240618192733574

通过 ESXi Host 客户端访问

https://ESXi_Server_Name/ui

image-20240618164634372

通过 vCenter Web 客户端访问

https://vCenter_Server_Name/ui

image-20240618164852543

ESXi 主机

通过 SSH 访问

我们需要通过 ESXi Host 客户端中开启 SSH 服务

image-20240619002306481

image-20240619002523430

利用 SSH 连接,我们可以挂载或修复 ESXi 的数据盘

通过 DCUI(Direct Console User Interface)访问

F2 进入 DCUI 界面

image-20240619002554562

image-20240619002627499

利用 DCUI,管理员可以执行以下操作:

  1. 设置 root 密码(仅限复杂密码)
  2. 锁定模式
    1. 正常锁定模式:可以通过 DCUI 和 vCenter Server 登录,Host Web Client 被禁用了
    2. 严格锁定模式:只能从 vCenter Server 登录
    3. 例外(异常)用户列表:锁定模式下可以访问 ESXi 主机的特殊用户

取证方法

本小节,我们主要结合比武赛题,以取证的视角还原犯罪过程,以期在实战中遇到该 ESXi 平台不至于不知所措。

ESXi 仿真

因为现有的取证仿真类软件并没有完美支持 ESXi 平台的仿真,在仿真 ESXi 平台时,会破坏镜像中原有的引导或驱动。而将磁盘镜像文件单独拖出分析,会破坏原有网络拓扑,使用自定义 NAT 设置网段工作量大,因此我们只能使用手动挂载的方式来对 ESXi 平台进行仿真,以保证原有网络拓扑不变。

FTK Image

使用 FTK 挂载 E01 镜像需要注意几个问题

  1. 低版本的 FTK
  2. 关掉杀软等会占用磁盘的软件
  3. 有几块挂几块,一次性挂挂好,可读可写
  4. 开启 CPU 虚拟化,如果使用了 WSL2 的话会打不开 ESXi 中的虚拟机

image-20240618161048034

image-20240618144833077

管理员身份 运行 Vmware Workstation

接下来新建虚拟机,过程中未截图的均为默认选项,CPU 和内存都要给足。

image-20240618144925916

image-20240618144945325

image-20240618145113688

这里的 PhysicalDrive 与我们 FTK 挂载上的相对应,先挂载系统盘,稍微再挂载数据盘

image-20240618145156233

创建虚拟机成功后再添加一块新的磁盘,步骤与上面相同

image-20240618145301817

上述操作完成后,即可成功仿真

image-20240618145748376

Asrenal Image Mounter

使用 Asrenal Image Mounter 对镜像进行只读挂载

image-20240617153208281

将挂载后的镜像进行格式转换,转换为 vmdk 类型

image-20240617153534851

image-20240617153718890

image-20240617153801113

将所有 E01 镜像转换为 vmdk 类型后,进入到虚拟机中进行挂载,与 FTK 挂载的方式相似

image-20240618145949921

缺点是镜像转换格式的时间较长,不适合在比武中使用,但是胜在仿真过程十分稳定,不用担心磁盘报错等问题

ESXi 绕密

本个案例里,ESXi 平台的版本为 6.7.0,只有 ESXi7 及以下才可以实现绕密

先使用 FTK 进行挂载

image-20240618181513123

创建虚拟机后手动加一块 linux 的 iso 镜像,我这里用的是 Ubuntu 24.04 的 iso 镜像

image-20240618182332283

选择打开电源时进入固件

image-20240618182404958

进入 bios 配置界面,Boot 菜单中选择 CD 打开

image-20240618182532703

image-20240618184612136

找到 state.tgz 位置

image-20240618191807450

image-20240618191920581

image-20240618192039125

cp /media/ubuntu/586C-10CC2/state.tgz /tmp
cd /tmp
tar xzf state.tgz
tar xzf local.tgz
cd etc
cp shadow shadow.bak
nano shadow # 将 shadow 中 root 的密码哈希置空
cd ..
tar czf local.tgz etc
tar czf state.tgz local.tgz
cp /tmp/state.tgz /media/ubuntu/586C-10CC2

重启后即可用空密码登录

网络配置

本个案例里,在 ESXi 平台设置了 DNS 服务器,并且设置了限制域名访问

我们需要进入 ESXi DCUI(Direct Console User Interface)去查看网络状况

image-20240618130144487

image-20240618130233271

image-20240618130417902

image-20240618130602398

image-20240618130533634

在得到 ip 地址,子网掩码,网关 ip 地址,DNS 服务器地址后,我们对 Vmware 的虚拟网卡进行配置,将他们一一对应

image-20240618150522524

image-20240618150548232

image-20240618150607618

如果想在物理机中通过域名访问 vSphere 还需要修改 NAT 网卡的属性

image-20240618174929937

image-20240618150640569

在网络全都配置完毕后,即可通过域名来访问 ESXi 平台

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们在 VMware Workstation 中,也可以连接 ESXi 服务器,这样方便我们对虚拟主机进行后续勘验工作

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

image-20240619001558762

信息挖掘

在 vCenter Web 客户端中我们可以通过虚拟交换机了解以下信息,在这个 ESXi 平台中虚拟主机的数量以及 VLan 的划分

image-20240619003516463

通过数据存储卷的信息,可以知道数据的挂载点,我们也可以通过 SFTP 从挂载点中拖出虚拟机的磁盘文件,通过取证软件,对虚拟机进行单独分析,但是这样失去了案件的连贯性,破坏了原有的网络拓扑,不推荐这么做。

image-20240619004832972

image-20240619004758983

我们在未知密码、不破坏原有网络拓扑的情况下,无法使用仿真软件自动绕密,那么该如何对 ESXi 平台中的主机进行勘验呢?这就要求我们熟练掌握常见 Windows、Linux 主机的 手工 绕密方法,而不是依赖仿真软件的一把梭。

Windows 手动绕密

个人主机

随着 Windows 10/11 逐步变得普遍,一般用户也许会绑定微软账户使用。在这样的前提下,修改 SAM 重置密码已经不可能了,因为这部分的密码可能不存放在 SAM 文件。而 Windows Login Unlocker 支持解绑微软账户,强制转变为本地账户使用。因此笔者这里将 Windows Login Unlocker 这款软件刻录到了 iso 中。

选择打开电源时进入固件,进入 bios 配置界面,Boot 菜单中选择 CD 打开

image-20240619112201091

image-20240619111326885

image-20240619111351215

之后重启,即可空密码登录系统

域控主机

上述操作只能修改用户密码,并不能修改域控密码

将域控主机关机,继续从 CD 启动

image-20240619112052239

image-20240619112333325

进入“修复计算机”->“疑难解答”->“命令提示符”

image-20240619112347570

image-20240619112406008

image-20240619112439436

image-20240619112726537

cd ..
cd Windows\System32
copy C:\Windows\System32\Magnify.exe Magnify.exe.bak
copy C:\Windows\System32\cmd.exe C:\Windows\System32\Magnify.exe # 用cmd.exe替换放大镜的程序

执行命令后,重启正常进入系统

image-20240619112854354

image-20240619113038851

net user administrator Modify@123 # 将管理员账户 "administrator" 设置密码为 "Modify@123"

命令执行后即可用设置的密码登录域控主机

image-20240619113246381

Linux 手动绕密

CentOS

选中救援模式,按 e 进入单用户模式

image-20240619115151226

ro 改为 rw init=/sysroot/bin/sh 后,按 Ctrl X 进入 shell 界面

image-20240619115303743

image-20240619115543352

重启后即可登录系统

Ubuntu

如果开机显示 grub 选项界面,那么选择“Advanced options for Debian”,按 e 进入

image-20240619131926876

image-20240619124747178

ro 改为 rw single init=/bin/bash 后进入 shell 界面

image-20240619131622755

之后的操作与 CentOS 相同

如果开机不能进入 grub 选项界面,那么我们选择在开机时点按 esc 键,只需按一次即可,不可长按
image-20240619160004710

openEuler

按 e 进入 rescue 模式后要输入账号密码

image-20240619135550021

账号密码为 root/openEuler#12

image-20240619142244741

image-20240619142336932

修改 rorw init=/bin/bash,进入 shell 界面

结语

ESXi 作为企业级的虚拟化解决方案,广泛应用于各类数据中心和服务器环境中,其高度的灵活性和资源整合能力使得网络犯罪的手法更加复杂,取证工作也因此变得更加困难。

本文详细地介绍了什么是虚拟化,虚拟化平台 ESXi 的所应用到的一些概念,也从取证视角介绍了该如何还原网络拓扑,如何挖掘 ESXi 平台中的信息。通过对本文的学习,可以很好的帮读者学习和理解 ESXi,并且可以为读者在今后的取证工作中遇到 ESXi 主机取证提供参考。


原文地址:https://blog.csdn.net/weixin_72667582/article/details/145093148

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!