【行业资讯】虚拟机镜像分析
来源:iForensics
我们在工作中经常会接触到各种各样的虚拟机镜像,常见的镜像文件格式有: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 //转换镜像文件的格式,将镜像文件转换为我们需要的格式,支持的格式有: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
#guestmount -a
#guestfish [--ro|--rw] -a
三、镜像文件的动态分析
镜像文件的动态分析也就是将镜像运行起来,在操作系统运行状态下,分析它的进程、网络连接、服务、日志等数据,很多取证仿真软件也支持镜像文件,我们今天使用的软件是virt-manager,它是KVM的图形界面管理工具,virt-manager支持的操作系统有:Linux、Windows、BSD、macOS、Solaris等,支持的镜像文件格式有:raw、qcow2、qed,启动virt-manager的命令为:#virt-manager,对运行状态下镜像的详细分析方法,本文就不赘述了。
四、小结
以上是针对镜像文件分析的一些方法,本文仅仅列举了部分软件,也欢迎各位批评指正。