漏洞取证
对Linux磁盘映像进行取证分析通常是事件响应的一部分,以确定是否发生了破坏。 与Microsoft Windows取证相比,Linux取证是一个与众不同的世界。 在本文中,我将分析来自可能受到威胁的Linux系统的磁盘映像,以确定事件的人员,事件,时间,地点,原因以及方式,并创建事件和文件系统时间轴。 最后,我将从磁盘映像中提取感兴趣的工件。
在本教程中,我们将以创造性的新方式使用一些新工具和一些旧工具来对磁盘映像进行取证分析。
场景
磁盘映像
为了对服务器进行取证分析,我要求PFE向我发送USB驱动器上pfe1的取证磁盘映像。 他们同意并说,“ USB已寄出”。 USB驱动器到货,我开始检查其内容。 为了进行取证分析,我使用运行SANS SIFT发行版的虚拟机(VM)。 SIFT工作站是一组免费的开源事件响应和取证工具,旨在在各种环境中执行详细的数字取证检查。 SIFT有各种各样的取证工具,如果没有我想要的工具,我可以轻松安装一个,因为它是基于Ubuntu的发行版。
经检查,我发现USB不包含磁盘映像,而是VMware ESX主机文件的副本,这些文件是PFE混合云中的VMDK文件。 这不是我所期望的。 我有几种选择:
- 我可以联系PFE,更明确地表达我对他们的期望。 在这样的订婚初期,这可能不是最好的选择。
- 我可以将VMDK文件加载到诸如VMPlayer之类的虚拟化工具中,并使用其本机Linux程序作为实时VM运行它以执行取证分析。 至少有三个原因不这样做。 首先,将VMDK文件作为实时系统运行时,文件和文件内容的时间戳将被更改。 其次,由于服务器被认为已被破坏,因此必须将VMDK文件系统的每个文件和程序都视为已被破坏。 第三,在受损系统上使用本机程序进行取证分析可能会带来无法预料的后果。
- 要分析VMDK文件,我可以使用libvmdk-utils软件包,该软件包包含用于访问存储在VMDK文件中的数据的工具。
- 但是,更好的方法是将VMDK文件格式转换为RAW格式。 这将使在磁盘映像中的文件上运行SIFT分发中的各种工具变得更加容易。
为了从VMDK转换为RAW格式,我使用qemu-img实用程序,该实用程序允许离线创建,转换和修改图像。 下图显示了将VMDK格式转换为RAW格式的命令。
图1:将VMDK文件转换为RAW格式
接下来,我需要从磁盘映像中列出分区表,并使用mmls实用程序获取有关每个分区的起始位置(扇区)的信息 。 该实用程序显示卷系统中分区的布局,包括分区表和磁盘标签。 然后,我使用起始扇区,并使用fsstat实用程序查询与文件系统关联的详细信息,该实用程序显示与文件系统关联的详细信息。 下图显示了mmls
运行的mmls
和fsstat
命令。
![mmls命令输出 mmls command output](https://opensource.com/sites/default/files/u128651/linuxfilesystemforensics_2.png)
图2: mmls
命令输出
我从mmls
输出中学到了一些有趣的东西:Linux主分区从扇区2048开始,大小约为8 GB。 DOS分区(可能是引导分区)的大小约为8 MB。 最后,大约有8 GB的交换分区。
![fsstat命令输出 fsstat command output](https://opensource.com/sites/default/files/u128651/linuxfilesystemforensics_3.png)
图3: fsstat
命令输出
运行fsstat
告诉我有关该分区的许多有用信息:文件系统的类型,上次将数据写入文件系统的时间,是否已干净地卸载文件系统以及文件系统的安装位置。
我准备挂载分区并开始分析。 为此,我需要读取指定原始图像上的分区表,并在检测到的分区段上创建设备映射。 我可以通过mmls
和fsstat
的信息手动完成此操作,也可以使用kpartx为我完成此操作。
图4:使用kpartx创建回送设备
我使用选项创建只读映射( -r
),添加分区映射( -a
)并提供详细输出( -v
)。 loop0p1
是/dev/mapper
下的设备文件名,我可以使用它访问分区。 要安装它,我运行: