8

如何量身打造恶意软件分析环境(上篇)

 3 years ago
source link: http://netsecurity.51cto.com/art/202101/641915.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

UbiMR3V.jpg!mobile

概述

对于每个恶意软件研究人员来说,通常第一件事情就是搭建得心应手的恶意软件分析环境。当所有的系统配置和软件安装完成后,就可以正确地分析和研究恶意软件了。在这篇文章中,将为读者分享我们自己的分析环境搭建经验和所需脚本,以帮助大家少走些弯路。

在这篇文章中,将为大家介绍:

· 下载、安装和配置一个免费的Windows 10和一个免费的REMnux Linux虚拟机。

· 建立虚拟专用网络,以便在虚拟机之间进行通信。

· 使用SentinelLabs RevCore Tools搭建自定义的Windows恶意软件环境。

· 学习如何从Windows 10虚拟机中捕获网络流量。

安装虚拟机

当运行多个虚拟机时,主机操作系统会开始变慢,所以设置每个虚拟机的最佳需求来优化其性能至关重要。在设置本篇文章中的虚拟机时,笔者建议至少为Windows 10虚拟机分配两个处理器核心与4GB内存,为Linux虚拟机分配两个处理器核心与2GB内存。

下载免费的Windows 10安装包

实际上,微软为用户提供了一个免费的虚拟机,来测试IE和Edge网页浏览器。要下载微软的虚拟机,请导航至https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/,下载MSEdge on Windows 10 zip文件,然后,选择自己喜欢的虚拟机平台,目前我使用的是VM Fusion。

AVZryar.jpg!mobile

下载REMnux Linux

接下来,我们要下载的虚拟机是REMnux Linux。REMnux发行版是一个基于Ubuntu的Linux发行版。它为探索网络交互行为和研究恶意软件的系统级交互提供了许多非常棒的工具。要下载REMnux,请导航至https://docs.remnux.org/install-distro/get-virtual-appliance,并下载相应的虚拟机平台。

AvyMniE.jpg!mobile

安装和配置专用隔离自定义网络。

在分析恶意软件时,搭建一个隔离的、受控的网络环境是极其重要的,因为它与恶意软件的交互级别很高。VMware Fusion允许我们修改关键的网络设置并添加虚拟专用网络配置以用于主机之间的分析。在这个实验室环境中,我们只添加了两台虚拟机,但实际上,您可以根据自己的需要,在这个网络中添加更多虚拟机。这个网络的创建给出如下所示:

· 选择选项卡VMware Fusion->Preferences->Network,并点击锁形图标进行修改。

· 选择“+”按钮,以便在“Custom”窗口中创建一个vmnet#。

· 不要选择“Allow Virtual machines on this network to connect to external networks (using NAT)”选项。

· 添加子网IP,这里输入的是10.1.2.0。

· 点击Apply按钮

ARvQnyI.jpg!mobile

安装Windows 10

创建好自定义网络,并下载两个虚拟机后,接下来要做的就是解压MSEdge Windows 10。由于我使用的是VMware Fusion,因此,这里将介绍如何导入其虚拟映像;不过,其他平台导入虚拟机的过程与此类似,这里就不做介绍了。

打开VMware Fusion,并执行以下操作:

· 解压zip文件后,进入MSEdge-Win10-VMware文件夹。

· 通过File->Import MSEdge_Win10_VMware选中VMware Fusion,点击Continue按钮,并保存虚拟机;注意,导入镜像可能需要几分钟时间。

· 导入镜像后,点击Customize Settings按钮。

· 点击进入Processors & Memory选项卡,确认配置为两个处理器核心,内存为4096MB。

· 在启动MSEdge Win10虚拟机之前,先为其建立一个“快照”,并起一个类似“VM Clean Import”之类的名字。

· 启动虚拟机时,如果提示要升级虚拟机以获得更大的功能兼容性支持,选择升级Upgrade。

· 虚拟机的密码是Passw0rd!

· 打开命令提示符激活虚拟机,输入slmgr.vbs /ato。

· 按照提示安装VMware的“Virtual Tools”并重启虚拟机。

· 虚拟机重启后,登录并立即建一个快照,并给它一个描述性的名称,例如“Activation and VM Tools Install”。

fAnUVvY.jpg!mobile

安装REMnux

我们下载的REMnux虚拟机的安装文件为.ova格式。在这里,我们建议您浏览docs.REMnux.org网站,并确认下载的OVA文件的哈希值是否正确。

zqeEveE.jpg!mobile

如果您使用的是VirtualBox,则可以直接导入REMnux;如果您使用的是VMware Fusion或VMware Workstation,请按照以下说明导入REMnux:

· 选择File->Import->Choose File… ,然后选择remnux-v7,点击Continue按钮,然后继续单击Save按钮。

· 导入完成后,点击“Customize Settings”选项。

· 点击进入“System Settings”下的“Processors & Memory”窗格,保持两个处理器核心的设置不变,并将内存容量从4096MB减少为2048MB。

· 对于REMnux网络配置,设置略有不同:我们要添加一个网络适配器。

注意:我这样配置这个虚拟机是处于多种考虑:首先,如果需要更新或下载其他软件,网络适配器配置可以节省时间;其次,这里考虑到了是否允许恶意软件callout。

一旦导入完成,请进入“Settings”菜单,选择Network Adapter。之后,请点击Add Device… 选项,然后选择Network Adapter和Add…选项。注意,一定要选中“Share with my Mac”单选按钮。接着,返回“Settings”主面板,选择“Network Adapter 2”。此后,点击vmnet2单选按钮,并选择“Show All”。

启动REMnux虚拟机时,如果提示要升级虚拟机以获得更大的功能兼容性支持,请选择升级。

REMnux启动后,需要输入相关凭证,其中,用户名为remnux,密码为malware。

最好修改虚拟机的密码,相关命令如下所示:

$passwd 
      UNIX password: malware 
      Enter new UNIX password: (your choice) 

下一步是配置网络设置。如果您输入ifconfig -a,应该会看到两个网络适配器。

为第一个网络适配器选择NAT。这样,虚拟机将从VMware虚拟DHCP服务器获得该网络的地址。这时,可以ping一下google,看看能够正常连接,或者打开Firefox浏览器,连接到任何网站,以确认能否访问互联网。如果遇到问题,那么,可以在终端输入命令:$ sudo dhclient -r ,以便获取一个IP。

对于第二个适配器ens37,请输入下列命令:

$ sudo ifconfig ens37 10.1.2.1 netmask 255.255.255.0 

AfyUFjM.jpg!mobile

点击“Snapshot”按钮,并将其命名为“Clean Snapshot”。

更新并升级REMnux:

$ sudo apt-get update; sudo apt-get upgrade 

安装SentinelLabs RevCore Tools

之所以要创建一个SentinelLabs VM Bare Bones恶意软件分析工具包,原因之一是在安装FlareVM时,发现其中含有许多我用不到的工具,而且安装时间需要至少40分钟。所以,我们打算创建一个只包含核心工具和系统配置的脚本,只要能够满足分析恶意软件的最低需求即可。

为此,可以按照下面的步骤在MSEdge WIndows 10上安装SentinelLabs RevCore Tools:

导航至SentinelLabs RevCore Tools的github页面并下载zip安装文件。

解压,并将SentinelLabs_RevCore_Tools_codeSnippet.ps1 脚本拖到桌面上。

如果您使用的是上面提到的免费下载的Windows 10虚拟机,请进入步骤4;如果您使用的是自己的Windows虚拟机,请继续这些子步骤:

· 不要只拖动SentinelLabs_RevCore_Tools_codeSnippet.ps1,而是将整个文件夹拖到虚拟机桌面上。

· 打开SentinelLabs_RevCore_Tools_codeSnpippet.ps1文件,修改-PackageName之后的第4行,修改url并将其改为桌面上的目录位置。例如,将“https://raw.githubusercontent.com/SentineLabs/SentinelLabs_RevCore_Tools/master/SentinelLabs_RevCore_Tools.ps1”改为“c:\Users\yourUsername\Desktop\SentinelLabs_RevCore_Tools-main\SentinelLabRevCoreTools.ps1”。

最后,修改SentinelLabsRevCoreTools.ps1。在第105-117行,将IEUser替换为您使用的用户配置文件名称。保存所有文件,并运行脚本:

· Install-ChocolateyShortcut -ShortcutFilePath "C:\Users\IEUser\Desktop\HxD.lnk" -TargetPath "C:\Program Files\HxD\HxD.exe"

· Install-ChocolateyShortcut -ShortcutFilePath "C:\Users\YourUser Profile\Desktop\HxD.lnk" -TargetPath "C:\Program Files\HxD\HxD.exe"

转到第5步。

在Windows 10搜索栏中,键入powershell,右键单击并以管理员身份运行。导航至Powershell脚本SentinelLabs_RevCore_Tools_codeSnippet.ps1所在位置,然后运行该脚本:

.\SentinelLabs_RevCore_Tools_codeSnippet.ps1

该脚本将导致两次自动重新启动,每次重启后您都需要通过用户密码进行登录。第一次重新启动将继续禁用各种系统服务,否则这些服务可能会阻止恶意软件分析并继续安装核心工具。第二次重启后,脚本将结束运行,并确认所有配置和安装。

下面列出了已安装的工具和修改的系统配置。当看到提示“Type ENTER to exit”时,不要忘了建立一个快照。

工具:

Checksum, 7zip, Process Explorer, Autoruns, TCPview, Sysmon, HxD, PEbear, PEStudio, PEsieve, Cmder, NXlog, X64dbg, X32dbg, Ollydbg, IDA-Free, Cutter, Ghidra, Openjdk11, Python3, PIP, PIP pefile, PIP Yara。

· 我经常使用的一款工具是Hiew,但是Chocolatey并没有将其收录进来。我的建议是下载并试用免费版本。

系统配置:

· 禁用下列功能:Bing搜索,游戏栏提示,计算机还原,UAC,系统更新,防火墙,Windows Defender,操作中心

· 设置窗口主题,设置墙纸,创建工具快捷方式

E3I3QvJ.png!mobile

小结

对于每个恶意软件研究人员来说,通常第一件事情就是搭建得心应手的恶意软件分析环境。当所有的系统配置和软件安装完成后,就可以正确地分析和研究恶意软件了。在这篇文章中,将为读者分享我们自己的分析环境搭建经验和所需脚本,由于篇幅过大,我们将分为上下两篇进行解释。更多精彩内容,敬请期待!

(未完待续)

本文翻译自:https://labs.sentinelone.com/building-a-custom-malware-analysis-lab-environment/如若转载,请注明原文地址。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK