目录
2.1 虚拟机的结构
2.2 创建恶意代码分析机
2.2.1 配置VMware
2.2.2 断开网络
2.2.3 创建主机模式网络
2.2.4 使用多个虚拟机
2.3 使用恶意代码分析机
2.3.1 让恶意代码连接到互联网
2.3.2 连接和断开外围设备
2.3.3 拍摄快照
2.3.4 从虚拟机传输文件
2.4 使用VMware进行恶意代码分析的风险
2.5 记录/重放:重复计算机运行轨迹
2.6 小结
专用的物理机和虚拟机,都应该被连接到一个隔离网络
有些可能会检测虚拟机,来表现出不同的行为来阻扰分析
安装VMTools
虚拟机(VM)-->安装VMware Tools(Install VMware Tools)
会让鼠标和键盘工作更加敏捷,还可以共享文件夹,拖放文件
VWware提供了几种网络选项,后面会介绍到
可以在配置中选择是否自动连接网络
主机模式(Host-only)网络,可以在宿主操作系统和客户操作系统之间创建一条隔离的私有局域网,在分析恶意代码时,这是通常采用的联网方式。主机模式的局域网并不会连接到互联网,这意味着恶意代码会被包含在你的虚拟机中,同时也允许某些网络连接
注意:配置宿主计算机时,最好是确保打上了最新的补丁
当启用主机模式时,VMware将在宿主计算机和虚拟机中都创建一个虚拟网络适配器。然后将他们进行连接,而与宿主的物理网络适配器没有任何关联,宿主计算机的物理网络适配器仍然连接到互联网访问其他外部网络
最后一种配置方组合了所有最好的选项。它要求多个虚拟机通过一个私有局域网进行连接,但是断开这个局域网和互联网以及宿主主机的连接,这样恶意代码可以连接到网络,但是不会连接到任何业务主机。也就是虚拟机之间进行连接,与物理机没有关系
把虚拟机加到分组之后,可以统一管理他们的电源与联网设置。
要创建一个新的虚拟机分组,选择FIle-->New-->Team
为了尽可能检查所分析的恶意代码样本的功能,必须要模拟出恶意代码所依赖的所有网络服务
比如需要连接到一个HTTP服务器,下载其他恶意代码,这就需要为它提供一个域名系统(DNS)服务器的访问,来解析出服务器的IP地址,比如就是一个响应请求的HTTP服务器。
在还没有弄清楚恶意代码联网的时候会做些什么之前,不要直接连接到互联网上
将VMware连接到互联网的最普遍的方式,是使用桥接模式网络适配器,它允许虚拟机与物理机器一样连接到相同的物理网卡上。另一种连接互联网的方式是使用VM的网络地址转换(NAT)模式。
NAT模式会共享宿主机器与互联网之间的IP连接。宿主机器就像是一个路由器,负责对所有来自虚拟机的连接进行翻译,让它们看起来像是从宿主机的IP地址发出的一样。这种模式在宿主机连接网络而虚拟机难以获得配置连接到同一网络的场景下很有用
例如宿主机器使用的是无线网卡,虚拟机就可以很容易通过NAT模式连接到网络,甚至无线网络启用了WIFI保护访问(WPA)或者WEP协议。又或者主机的连接网络只允许特定的网络适配器连接,NAT允许虚拟机通过宿主主机进行连接,从而绕过网络的访问控制。
外围设备,比如CD-ROM USB,对虚拟机构成一个特殊问题,大多数设备要么被连接到宿主机器上,要么被连接到虚拟机上,但不能同时连接两者
有时候虚拟机处于活跃状态,插上USB之后就被识别到虚拟机中了,可以设置
VM-->Setting-->USB Controller,取消选中Automatically connect new USB devices复选框,就可以防止USB自动连接到虚拟机
在配置好环境之后先保存一个快照,作为纯净的环境
快照可以有分支,当在样本1的时候回到了纯净环境,再从纯净环境保存了另一个快照,那么就会有分支
在恢复快照之前,把一些重要文件拖出来保存再恢复快照
一种方法是直接拖拽文件
另一种是利用VMware的共享文件夹。VMware的共享文件夹在客户操作系统和宿主操作系统上都能够访问,类似windows的共享文件夹
一些恶意代码会检测虚拟机环境,这会导致可能走向不同的流程
共享文件夹和文件的拖拽也可能存在漏洞,所以虚拟机最好是打好了最新的补丁
记录/重放:可以记录所发生的一切,在重放期间,每一个原始记录到的指令都会被同样的执行
视频捕捉功能:可以记录屏幕的视频输出,它实际地执行了操作系统和应用软件的每一条CPU指令,而且不像一个视频输出,你可以在任何点上中断执行,然后与计算机进行交互,并且对虚拟机进行修改。比如在一个没有undo操作的程序中犯了一个错,你可以和恢复到犯错之前的一个状态
后续将在第八章详细介绍这个功能
在分析的时候要注意已经是在一个安全的环境下运行恶意代码了。