虚拟化技术应用越来越广泛,在国内虚拟化市场,按销售额已经五年成两位数增长了。对于我们取证业行来说也迫切需要了解一些虚拟化相关的知识,今天美亚技术专家为大家带来使用Linux KVM虚拟化技术的取证研究。
什么是KVM?
KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,操作简单使用方便。是Linux系统中主流的虚拟化解决方案之一。
KVM虚拟机的创建
创建KVM虚拟机可以通过命令方式,也可以通过图形化管理界面方式,创建虚拟取对取证没有太大帮助,但创建虚拟机时硬盘文件存放位置是我们取证必须确认的,因此为了直观显示并了解硬盘文件存储位置,此处使用图形化界面简单演示:
使用命令virt-manager或是在桌面环境中找到”System Tools”并打开虚拟机管理程序” Virtual Machine Manager”,管理程序运行后如下图所示。
选择New 会弹出如下图显示的新建虚拟机对话框。
根据自已需要设置好相关选项,硬盘文件存储位置设置如下图所示。
从上图可以看见,我们可以创建新的硬盘文件,也可以选择已经有的硬盘文件。此处我们选择第二项“select managed or other existing storage“并点击”Browse“浏览,会弹出如下图对话框,对话框中已经显示了默认硬盘文件位置。
我们可以选择新建卷“New Volume“或是本地浏览“Browse Local“,本地浏览可以把硬盘文件存放在其它位置。如下图所示,是在tmp目录下建的一个11111111的硬盘文件,并且文件没有后缀,因为linu不以后缀来识别文件类型。
硬盘的文件格式有很多种,最常使用的是raw、qcow2、vmdk,不同linux版本会有不同,如下图所示是ubuntu 16.04版本所支持的硬盘文件格式。
如果都按默认方式创建硬盘文件存储目录在/var/lib/libvirt/images/
以上就是创建虚拟机的流程,硬盘存储相关的设置,正常取证过程中虚拟机都已创建成功,我们怎么来确认创建好的虚拟机硬盘文件存储在那呢?
KVM如何取证?
对取证来说最主要的就是要提取存储在虚拟里面的数据。怎样确认数据存储位置,如何获取相关的数据,然后用取证工具分析呢?
一、如何确认KVM虚拟机文件存储位置
方法一:使用命令查硬盘文件存储位置
查看KVM虚拟机列表
[root@Bance ~]# virsh list –all
命令运行成功后会得到如下画面。如下图所示,可以看到有三台虚拟机。
查看xp虚拟机的配制文件
[root@Bance ~]# virsh edit xp
命令运行成功能会显示如下图画面。
如上图所示配制文件的disk type选项就定义了xp虚拟机硬盘文相关信息,source file 中定义的/var/lib/libvirt/images/xp.img就是xp虚拟硬盘存储路径。
我们可通过“ll /var/lib/libvirt/images/“确认硬盘文件是否存在,如下图所示。
方法二:使用图形化界面查看硬盘文件位置
使用命令virt-manager或是在桌面环境中找到”System Tools”并打开虚拟机管理程序” Virtual Machine Manager”,如下图所示。
打开管理程序后如下图显示,从图中也可以看到三个虚拟机。
双击xp虚拟机打开如下界面。
选择“Details“可以查查xp虚拟机的祥细信息。
我们要查看硬盘文件相关信息,只需选择disk相关的选项,如下图所示。
确认位置后,把相应文件下载到本地使用取证大师分析。
方法三:若对配制文件较熟悉,证据固定后可直接通过取证大师查看。
默认情况配制文件在/etc/libvirt/qemu/,使用取证大师加载并查看配制文件如下图所示:
二、如何导出文件虚拟机硬盘文件
方法一:如果证据已固定,并且已通过配制文件确认硬盘文件存储位置,可直接使用取证大师导出。
取证大师的使用我想大家都很熟悉了,就不在此赘述了。
方法二:如果设备是大型商用平台,无法针对服务器证据固定,只能远程操作时,可使用FTP之类的工具把我们需要的文件下载到本地。
如下图所示,是使用Xftp工具下载我们需要的硬盘文件。
三.如何分析KVM硬盘文件
文件导出后可以使用取证大师等取证软件直接分析,目前取证大师可以支持*.img 和*.qcow2格式取证分析。
总结:虚拟化应用越来赵广泛的今天,对虚拟化解决方案取证也是我们工作中可能会遇到的情况,今天分享给大家的也是个人研究的结果,无法涵盖所有取证中遇到的问题,就像KVM虚拟化解决方案,不同linux系统都会有一些差异,如有遇到需要取证的情况,切勿按部就班,需要根据实际情况融会贯通。