九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

admin 2023年10月31日01:35:03评论32 views字数 6281阅读20分56秒阅读模式

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)



九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

写在前边


本文旨在为读者提供关于恶意样本分析的重要知识和技术。以下为本文的条例概述:


1.来源:
本文为笔者于自身工作期间进行关于恶意样本分析的内部培训、根据培训内容所整理的精选文章。完整内容将分为多篇在本公众号进行发表,欢迎大家关注。


2.使用目的:
本文仅供学术交流使用,旨在促进行业内的知识分享和合作。


3.发展和创新:
a.恶意样本分析领域不断发展和创新。
b.本文将介绍重要概念、工具和技术,帮助读者更好地理解和应对恶意软件的威胁。


4.鼓励学术交流:
我们欢迎读者对本文分享、提出反馈意见和讨论本文的内容。


通过以上条例的概述,本文将为读者提供系统的恶意样本分析知识,并促进学术交流和行业内的合作与发展。


往期内容请参见合集《恶意样本分析实战》系列。


一、沙盒分析与虚拟化技术


在样本分析中,沙盒分析和虚拟化技术扮演了关键角色。这一部分已在先前文章中详细探讨,因此本节将提供简明扼要的总结(往期内容请参见合集《恶意样本分析实战》系列。


A、沙盒分析的原理和优势


沙盒分析基于隔离的原理,将恶意样本置于一个受控的虚拟环境中,以模拟真实系统的行为。它的优势在于:

  • 隔离性:恶意代码无法影响主机系统,因为它在隔离的环境中运行。

  • 观察性:分析员可以监控恶意代码的行为,包括文件操作、系统调用、网络通信等。

  • 安全性:即使恶意代码是具有破坏性的,也不会对实际系统产生影响。


B、虚拟化技术在样本分析中的作用


虚拟化技术是将一个物理计算机分割成多个虚拟机实例的方法。在样本分析中,虚拟化技术用于创建隔离的环境,以运行恶意样本,从而避免对真实系统的影响。虚拟机的快照功能允许分析员在分析过程中保存虚拟机状态,以便后续的回溯和比较。


C、常见的沙盒环境和虚拟化平台


  • Cuckoo Sandbox:它是一个流行的开源沙盒,可以模拟恶意代码的执行,并生成行为分析报告。

  • FireEye Sandbox:一款商业化的动态分析平台,提供高级恶意软件分析功能。

  • VMware Workstation / VirtualBox:这些虚拟化平台允许您创建虚拟机,以在其中运行恶意代码进行分析。

D、在受控环境中执行恶意样本


当您需要分析可疑恶意样本的行为和潜在威胁时,将其置于沙盒环境或虚拟机中是一个明智的选择。在执行期间,记录样本的文件操作、系统调用、网络流量等信息,以深入了解其功能和意图。这种分析可帮助您识别样本是否试图建立远程连接或修改系统文件等恶意活动。


在下一部分中,我们将专注介绍如何使用VMware Workstation创建一个受控的虚拟环境,用于运行和分析可疑的恶意样本。以下是简要概述的一般步骤:


  1. 安装VMware Workstation:首先,确保您已经安装了VMware Workstation虚拟化软件,它允许您在主机操作系统上创建和管理虚拟机。

  2. 创建虚拟机:使用VMware Workstation创建一个新的虚拟机。在创建过程中,您可以选择虚拟机的操作系统和配置选项,确保虚拟环境与您的需求相匹配。

  3. 安装操作系统:在虚拟机中安装操作系统,可以选择使用通用的或者自定义的操作系统镜像。确保虚拟机处于隔离环境中。

  4. 快照设置:在运行之前,创建虚拟机的快照。这样,您可以在分析过程中保存虚拟机的状态,以备将来回溯和比较。

  5. 运行恶意样本:将可疑的恶意样本引入虚拟机环境,并运行它。监控其行为,包括文件操作、系统调用、网络流量等。

  6. 记录分析数据:在执行期间,记录关键的分析数据,例如文件的创建和修改、注册表变化、进程活动以及与外部服务器的通信。

  7. 分析结果分析恶意样本的行为,以确定其功能、意图和潜在威胁。例如,检查是否有网络连接尝试或者对系统文件的恶意修改。

  8. 洞察力和下一步行动:利用分析的结果提供有价值的洞察力,帮助决定下一步的安全应对措施,例如制定恶意软件的清除或阻止策略。


请注意,这只是高层次的概述,具体的分析过程和步骤可能因情况而异。在进行样本分析时,请始终保持数据记录和谨慎的态度,以确保不会对真实系统造成潜在风险。



二、行为分析与动态分析


A、行为分析的定义和重要性


行为分析是针对恶意软件或样本的行为模式和活动进行分析的方法。它专注于研究恶意代码在运行时对系统和环境所带来的影响,而不仅仅局限于对其代码结构的观察。


行为分析的重要性在于协助安全专业人员深入理解恶意软件的实际功能、意图以及可能带来的潜在危害。


B、动态分析工具和平台概述


动态分析通常涉及在受控环境中运行恶意样本,以观察其行为和影响。

在这一阶段,我们需要使用以下工具和平台:

平台:沙盒环境,虚拟机,动态分析平台。

工具

  1. 文件查看(上一章有提到,在此不再赘述)。

  2. 行为监控工具:用于监测恶意样本在运行时的行为,包括文件操作、注册表修改和网络通信等。这些工具有助于分析员了解样本的功能和意图。

  3. 逆向工具:允许分析员反汇编、反编译以及分析恶意代码的内部结构和算法。一些常用的逆向工具包括IDA Pro、Ghidra和OllyDbg。

C、动态分析的步骤和方法


动态分析通常涵盖以下步骤:

  1. 样本准备:将恶意样本加载到分析环境中,如沙盒或虚拟机。

  2. 监视与记录:监控样本在运行时的活动,包括文件创建、注册表修改、网络通信等。

  3. 行为捕捉:记录样本的行为,例如尝试与远程服务器通信、文件操作等。

  4. 行为分析:分析捕获的行为,了解样本的功能和意图。这可能包括文件操作、系统修改、数据泄露等。

  5. 网络流量分析:捕获并分析与样本相关的网络通信,以便识别其与命令与控制服务器的连接。

D、实际案例:软件的行为分析过程



1、分析前系统内状况


在进行恶意样本分析之前,有几个关键的系统状况需要审查和记录,以便后续分析的对比和评估。


进程状况



在系统处于相对干净的状态时,建议进行以下操作:

  • 查看并记录系统上的进程列表。这有助于您了解正常运行时的进程情况,以便在分析恶意样本时进行对比。

  • 优先终止不必要的进程,确保系统状态尽可能干净,以便更容易识别新出现的恶意进程。

网络状况



注意以下网络方面的情况:

  • 观察当前网络连接和活动,记录正常的网络通信模式。

  • 检查开放的端口和网络服务,以了解系统的正常网络配置。

注册表状态



注册表是系统关键组件之一,检查其状态可以提供重要信息:

  • 使用工具如 Regshot,记录系统的原始注册表状态(创建快照A)。这将帮助您后续检测任何恶意注册表修改。


    九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)



2、样本运行后分析


在运行恶意样本后,您需要采取一些措施来监控其行为和与外部通信,以下是一些措施:


启用网络监控



开启网络监控以捕获与外部通信的活动。为了实现这一点,您可以使用网络抓包工具如Fiddler,并进行以下配置:

  • 确保安装并启动Fiddler。

  • 在设置中开启对HTTPS的解密,这可能需要您安装并信任Fiddler的根证书,以便可以分析加密的HTTPS流量。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

此外,还有其他网络监控工具可供选择,包括:

Wireshark:在虚拟机内启动Wireshark,选择网卡(例如eth0)以捕获网络请求。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

Burp Suite:如果您熟悉Burp Suite,并且已经配置了Java环境和安装了证书,您可以使用它来监视和分析网络通信。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


注册表变化



九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

注册表是层次结构数据库,由嵌套容器和数据组成。在Windows系统中,操作注册表通常并不直观,因此推荐使用专门的工具进行操作和分析。


为了分析恶意样本对注册表的影响,您可以采取以下步骤:

  1. 在系统初始化阶段,创建注册表快照(Snapshot A),记录系统的初始状态。

  2. 运行恶意样本,让其影响系统并修改注册表。

  3. 运行结束后,使用同一软件(如Regshot)创建注册表快照(Snapshot B)以记录变化。

该软件将自动比较快照B与快照A的差异,并以HTML格式展示出来,如下图所示:

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

在分析注册表变化时,需要注意:

  • 过滤正常活动:Windows系统在运行过程中会产生一些正常的注册表变化,这些变化可能是由操作系统、应用程序或更新引起的。您需要根据经验来筛选出这些正常变化,专注于不寻常的或与恶意活动相关的变化。

  • 持续学习与经验积累:随着您进行更多的恶意样本分析,您将逐渐熟悉正常和异常的注册表变化模式。这将有助于您更准确地识别可能的威胁。


进程附加排查



有些恶意程序在运行时,不直接加载其恶意代码部分,而是通过调用其他系统进程来加载,以规避杀毒软件的检测。


为了排查这种情况,您可以使用工具如 LastActivityView 来监控恶意程序运行期间的进程变化。


1、LastActivityView

运行这个工具以监控系统中进程的活动。


① 运观察进程关联

比如现在运行TIM这个软件,可以发现:运行该程序并不是直接加载而是先通过 QQSCLAUNCHER.EXE程序才运行了TIM.EXE程序,后又运行了QQEXTERNAL.EXE程序,才完成了整个程序的运行过程。


(而我只单单点击了TIM.EXE程序,其他两个程序都是在后台进行运行的,我并不知情。所以很多恶意程序也是这个思路。)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

② 运行程序的详情

双击该条信息,可以查看具体的进程信息。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

③ 生成报告

生成HTML报告。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

这种进程关联排查方法可以帮助您发现恶意程序可能利用其他进程来隐藏其存在,从而更全面地分析恶意程序的行为。


2、Peocess Monitor

进程监控器(Process Monitor)是一个强大的工具,可以生成关于系统上活动进程的详尽日志,以及按活动顺序列出的细节。每一行都包括进程名称、进程标识符(PID)、执行的操作和操作所依赖的路径。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

定义过滤器

进程监控器会捕获大量数据,其中大部分是系统正常进程产生的“噪音”,与我们的样本无关。为了减少这些干扰,我们设置过滤器,使工具仅显示进程名称为”样本名称“的条目。这将使我们更专注于与样本相关的活动。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

进程监控器捕获的关于brbbot.exe的活动显示了在Regshot报告基础上扩展的细节:

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


查看捕获的网络连接包



九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

Wireshark日志显示,受感染的系统对brb.3dtuts.by进行了可疑的DNS查询。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

未解析DNS请求

该日志包括试图通过使用DNS来解决主机名brb.3dtuts.,如上图所示捕获内容。在这个截图的情况下,被感染的系统有192.168.87.135这个IP地址,它把192.168.87.131当作它的DNS服务器。你的实验室里的IP地址可能是不同的。


请注意,由于我们在虚拟集群中没有启用DNS服务,对这个查询的响应是一个ICMP目的地不可达(端口不可达)消息,表明系统不能处理这个连接尝试。


需要注意的是,在我们的虚拟集群中并未启用DNS服务,因此对该查询的响应是一个 ICMP 目的地不可达(端口不可达)消息,表示系统无法处理此连接尝试。


解析主机名

在进行行为分析时,一种常见的方法是为样本提供其所需的网络资源,以便让其发挥出原有的恶意功能。我们可以通过我们局域网内的 Linux 虚拟机来模拟这种情况。


1、搭建DNS服务器--Fakedns.py

下载网址:https://code.activestate.com/recipes/491264-mini-fake-dns-server/

*左右滑动查看更多

该脚本可以自动的将运行它的主机IP地址用来响应DNS查询。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

2、nslookup--查询解析

当在虚拟机中运行fakedns时,它将在UDP端口53上监听DNS连接,并以Linux的IP予以解析。这样一来,每当一个样本试图解析一个主机名时,我们就讲其重定向到我们的Linux虚拟机了。


尝试用nslookup解决一些主机名来测试它的操作;例如:

nslookup google.com

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


再次抓取网络请求

我们通过引入一个假的DNS服务器,这样可以让样本可以有下一步的动作。


这时就能看到我们的Fakedns响应他的请求,我们将这个请求包进行导出,对其进行分析。


防火墙排查




打开防火墙设置界面

控制面板->系统和安全->Windows Defender 防火墙->高级设置。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

PS:可以看到具体的入站(他人访问该计算机)和出战(该计算机访问其他机器)规则。


导出规则

规则有很多,可以在测试前对所有规则进行导出。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

对比前后规则变化

在其运行后在重复次操作,对前后文本内容进行对比,查看被非法添加的值。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

文本内容与设置中格式相同,会依次显示名称、所属组、配置文件(访问权限)、该程序本地地址等关键信息,对相关信息进行仔细筛查。


工具

Windows Firewall Control:可以监控防火墙的相关操作,然而其本质都是为了比较其变化。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

端口排查



远控木马以及后门程序这类程序可能会开启危险端口,让用户计算机不知不觉的受害。所以排查是否在未授权的情况下被开启了未知端口,也是给恶意行为定性的一个重要指标。


使用命令查询端口情况

① 查看所有端口情况

使用CMD属于以下命令查看所有端口情况:

netstat -ano

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

② 查看指定端口情况

netstat -aon|findstr "提示的端口"

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

③ 根据端口匹配的PID查询具体程序

结合步骤2查询到了该端口调用程序的PID,可查询到该端口具体为何程序在使用。

tasklist|findstr "上述步骤2获取的46端口进程PID"

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)*左右滑动查看更多


九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

可以得出该程序进程名,以及程序大小,依次更好的排查恶意程序是否有释放其他文件。


④ 导出端口开启情况

在具体的排查中,由于端口开启过多,可以导出当前端口情况。

netstat -ano >>1.txt


会在当前路径下把命令得到的回显输出到1.txt中。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

工具

① TCPView:该工具查看端口和线程,且工具大小只有400kb左右大小,方便便携。且该程序支持图形化界面和命令行。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

Windows下运行Tcpview.exetcpvcon.exe为Tcpview.exe的命令行版本Tcpview.exe使用说明:使用方法:tcpvcon[-a][-c][-n][进程名称或PID]
-a显示所有端点(默认为显示已确定的TCP连接)。
-c打印输出为CSV对照文本。-n不解析地址。


② *天管理工具

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


释放文件排查



文件排查是一项重要的任务,用于检测恶意程序在运行时释放文件或木马,并在运行结束后删除这些文件,以保持用户不知情。由于文件释放路径不可控,手动监测很难完全覆盖所有情况,因此我们需要借助工具来实现对程序的直接监控。


我们可以利用以下工具来进行监控:


FolderChangesView

该程序选择监控相关文件夹下的任何变动,打开软件即可设置监控文件夹,也可以对该文件下某一文件进行排除监控。


① 监控文件夹

比如现在监控WIn系统的下载路径。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

对其路径内进行解压该程序压缩包文件,便得到了该文件夹下内文件变动情况。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

详细信息在后方显示,包括修改时间、创建时间、该时间第一次发生为何时。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

双击某一条也可以直接查看详情。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

② 生成报告

可以直接生成一个完整信息的HTML报告。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

ProcessActivityView

这个工具可以针对某一程序来显示文件的行动,并创建一个应用程序对文件访问的日志。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

① 已存在进程监控

可以针对已存在进程进行监控。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

② 创建新进程监控

也可以新生成进程,对其监控。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

DLL引用查看

该项多为逆向分析调试事,对源代码分析得到。不过在实际运行时,也可以借助工具实现监控该程序运行状态中使用了哪些DLL。


PE Tools

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

(未完待续)


往期回顾

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)


关于安恒信息安全服务团队
安恒信息安全服务团队由九维安全能力专家构成,其职责分别为:红队持续突破、橙队擅于赋能、黄队致力建设、绿队跟踪改进、青队快速处置、蓝队实时防御,紫队不断优化、暗队专注情报和研究、白队运营管理,以体系化的安全人才及技术为客户赋能。

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

原文始发于微信公众号(安恒信息安全服务):九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月31日01:35:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   九维团队-青队(处置)| 《恶意样本分析实战》系列之手动分析技术(上)http://cn-sec.com/archives/2160107.html

发表评论

匿名网友 填写信息