来源:iForensics
ID:iForensics-2016
我们在工作中经常会接触到各种各样的虚拟机镜像,常见的镜像文件格式有:raw、qcow2、qed、qcow、luks、vdi、vmdk、vpc、VHDX等。本文以最常用的qcow2格式为例进行分析。
一、分析环境搭建
安装操作系统,本文测试用的操作系统为CentOS 7.5.1804;安装qemu及其它软件包,安装命令:#yum install qemu-kvm qemu-img libvirt libvirt-client libvirt-pythonvirt-manager virt-install virt-viewer virt-top;安装libguestfs-tools工具包,安装命令:#yum install libguestfs-tools,如果需要支持windows系统镜像,还需要执行安装命令:#yum install libguestfs-winsupport。
二、镜像文件的静态分析
1、使用镜像管理工具qemu-img分析镜像
#qemu-img info
//读取镜像文件的基本信息:镜像文件类型、镜像大小、backing file等。
#qemu-img snapshot -l
//读取镜像文件的快照信息。
#qemu-img snapshot -a
//从快照恢复。
#qemu-img convert -f -O
//转换镜像文件的格式,将镜像文件转换为我们需要的格式,支持的格式有:raw、qcow2、qed、qcow、luks、vdi、vmdk、vpc、VHDX。
2、使用libguestfs-tools分析镜像文件
#virt-df //查看镜像的空间使用情况
#virt-filesystems -a -l //读取镜像文件的文件系统
#virt-inspector //检查镜像文件,读取操作系统、挂载点、文件系统、已安装应用程序等信息
#virt-ls -l //读取镜像文件的文件列表
#virt-log -a //读取镜像文件的日志
#virt-customize -a [--options] //自定义虚拟机
例如:#virt-customize -a CentOS-7-x86_64-GenericCloud-1703.qcow2 --root-password password:toor //修改镜像文件的root用户密码为toor
#guestmount -a -i --ro //以只读方式将镜像挂载到本地
#guestmount -a -i --rw //以读写方式将镜像挂载到本地
#guestfish [--ro|--rw] -a //以只读或读写方式加载一个镜像文件,通过提供的shell接口,可以直接对镜像内的文件进行分析,guestfish支持的所有命令通过help --list获取,如果运行guestfish的run命令报错,则需要运行#export LIBGUESTFS_BACKEND=direct。
三、镜像文件的动态分析
镜像文件的动态分析也就是将镜像运行起来,在操作系统运行状态下,分析它的进程、网络连接、服务、日志等数据,很多取证仿真软件也支持镜像文件,我们今天使用的软件是virt-manager,它是KVM的图形界面管理工具,virt-manager支持的操作系统有:Linux、Windows、BSD、macOS、Solaris等,支持的镜像文件格式有:raw、qcow2、qed,启动virt-manager的命令为:#virt-manager,对运行状态下镜像的详细分析方法,本文就不赘述了。
四、小结
以上是针对镜像文件分析的一些方法,本文仅仅列举了部分软件,也欢迎各位批评指正。
Windows 10正式宣布沙盒功能:轻量化虚拟机
https://c.m.163.com/news/a/E3DC9K4D05313F7K.html?spss=newsapp&from=timeline&isappinstalled=0&spssid=3e8a2528cce8c02cc3b0c2ae58df82be&spsw=2