逆向工程恶意软件,第 6 部分:系统级或行为分析

欢迎回来,我有抱负的恶意软件分析师!

原文链接:https://www.hackers-arise.com/post/2018/10/08/Reverse-Engineering-Malware-Part-6-System-Level-or-Behavioral-Analysis

在我关于逆向工程恶意软件的介绍性教程(第 1-5 部分)中,我们介绍了许多新概念。现在是时候将其中一些概念付诸实践并开始分析一些样本恶意软件了!

在本系列的第 1 部分中,我指出了分析恶意软件的两种主要方法;(1) 代码级别和 (2) 系统级别或行为。作为一般规则,在做任何事情时都应该首先使用最简单的方法(否则,您可能会在不必要的时候花费大量时间、精力和资源),这同样适用于分析恶意软件。系统或行为分析比代码级分析简单得多,所以让我们从那里开始。

在这种类型的分析中,我们对恶意软件的作用更感兴趣。它是否对注册表进行任何 (1) 更改,(2) 它运行哪些进程,(3) 运行哪些文件,以及 (4) 它建立了哪些网络连接?从这些容易获得的信息中可以确定很多东西。

在本教程中,我们将使用一种称为 svrcp.exe 特洛伊木马的简单恶意软件,因为没有更好的名称。不同的软件供应商对其进行识别和命名不同,例如 IRC.SRVCP.Trojan、TROJ_SRVVP 或 Troj/Narnar 等。

由于其相对简单,它通常用于开始恶意软件分析。该木马在 2000 年左右首次被发现,可以通过 IRC 通道上的私人消息进行控制。它很可能用于分布式密码破解和/或 DDoS 攻击。

我们将在这里使用它来介绍一些关于恶意软件行为/系统分析的介绍性概念。

第 1 步:创建安全工作区

第一步是创造一个安全的环境。我将使用安装了 Windows 7 的 VirtualBox。我已经确定网络连接设置为仅主机或内部网络,因此恶意软件无法连接到我的沙盒环境之外。现在,请确保在开始之前拍摄系统快照,以便在运行恶意软件后将系统恢复到初始状态。

步骤 #2 安装 SysInternals

接下来,如果您还没有安装 sysinternals 从 Microsoft 到您的沙盒系统(您可能需要对您的沙盒系统进行 NAT 执行此操作,但请记住在完成此操作后将其与 Internet 隔离)。您可以在此处下载 sysinternals。(有关 sysinternals 的更多信息,请参阅我的教程,数字取证,第 8 部分

步骤#3:运行恶意软件

将 svrcp.exe 目录安装到沙盒系统后,右键单击并以管理员身份运行文件 srvcp.exe

当你这样做时,打开你的任务管理器以确保恶意软件正在运行。

步骤#4:检查注册表的持久性

如果恶意软件要持久存在(每次系统重新启动时重新启动),它可能需要在启动时启动软件的众多键之一下更改注册表(请参阅我关于数字取证的文章,第 5 部分:在注册表中查找证据有关注册表项的更多信息)。

在这种情况下,因为 svrcp.exe 最初是为 Win NT 环境设计的,它会尝试在以下位置添加注册表项;

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft|Windows\CurrentVersion\Run

它添加了一个名为Service Profiler的条目和一个密钥srvcp.exe ,该密钥 将在每次系统启动时启动恶意软件。

如果我们打开进程监视器并按名称(svrcp.exe)过滤进程,我们可以查看恶意软件尝试执行的每个操作。如果我们向下滚动一点,我们可以看到查询 HKLM 并在 HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run 设置值的过程,从而使恶意软件持久化。

如果我们返回进程资源管理器并删除 svrcp.exe 的过滤器,我们可以再次看到所有进程。请注意,svrcp.exe 以 PID(进程 ID)67988 运行。

现在,让我们右键单击 svrcp.exe 进程并选择“属性”。

你应该得到一个像下面这样的屏幕。让我们单击右上角的字符串选项卡。

字符串选项卡将开始搜索代码中可识别的字符串(ASCII 文本)。很多时候,我们可以在字符串中找到注释和其他有用的信息。正如我们稍后将在这些课程中看到的,这些字符串用于解密一些代码和密码。

第 7 步:使用 TCPView 查看 TCP 套接字和连接

要查看到我们的测试 Win 7 系统的所有 TCP 套接字和连接,我们可以从 sysinternals 套件中打开 TCPView。再次,我们可以看到 svrcp.exe 进程打开了一个 TCP 套接字,但还没有完成连接。如果我们允许沙盒系统连接到 Internet,该进程将通过该进程访问其 C&C 服务器。

第 8 步:打开 gus.ini

现在,让我们打开与可执行文件位于同一目录中的 gus.ini 文件。该文件包含恶意软件用于登录其 C&C 服务器的关键信息。请注意,它使用“mikey”的 Nick(昵称),“mikag soup”的 Channel,然后尝试连接到端口 6666 上的多个 IRC 服务器(例如irc.mcs.net:6666)。

当它连接到 IRC 服务器时,攻击者可以通过私人消息向恶意软件发送命令,从而控制恶意软件和受感染的系统。

结论

恶意软件分析是数字取证领域中最有价值的技能之一。它需要对 Windows 进程和一些汇编程序有高水平的理解。分析恶意软件的第一步也是最简单的一步就是观察其行为。从它的行为中,我们可以大致看出作恶者的意图。

在我的下一个教程中,我们将深入挖掘并在代码级别查看此恶意软件。

发表评论

您的电子邮箱地址不会被公开。