在RTM之后。 对感染了银行木马的计算机的法医调查



关于RTM银行木马对会计师和财务总监(包括Group-IB 专家)的攻击,已经有很多报道,但是到目前为止,在公共领域还没有关于感染RTM的设备的案例研究。 为了纠正这种不公正现象,IB集团计算机取证研究的领先专家之一Oleg Skulkin详细介绍了如何对被银行木马感染的计算机进行取证调查,作为事件响应/调查的一部分。

一切如何开始


研究人员于2015年12月了解了RTM犯罪集团的活动。 从那时起,分发该木马的网络钓鱼邮件就以令人羡慕的稳定性发送到了潜在受害者的电子邮箱。

如您所知,从9月到12月,RTM组发送了11,000多个恶意电子邮件。 网络犯罪分子不会止步于已取得的成就,正如我们在保护客户的传感器上以及在收集有关当前威胁的数据的框架中记录的所有新邮件所证明的那样。

在本文中,我将告诉您如何对感染了银行Trojan RTM的计算机驱动器的映像进行取证调查,或仅对取证进行取证。

必要的入门

想象一下,我们不知道RTM计算机是否受到感染,而仅是折衷的事实,其结果就是盗窃钱财-这将使我们能够更有趣地构建研究过程,并使它适用于其他情况。 我还想提请注意以下事实:在本文的框架中,我不会过多关注木马的逆向工程:首先,这不是法医的能力,其次,我的同事Semyon Rogachev已经在Habré上详细介绍了这一事实。

因此,我们所拥有的只是“ E01”格式(包含映像文件格式)的计算机驱动器映像。 首先,很高兴找出其中的内容。 当然,至少由于操作系统是来自操作系统及其版本,因此至少要依赖于我们必须调查的某些取证工件。

1.我们将使用Brian Carrier的侦探工具包中的mmls实用程序:



我们有什么? 几个类似于Windows的NTFS分区。 我们需要确保-我们将尝试查找注册表文件,例如SOFTWARE。

2.我们将使用实用程序fls(Sleuth套件)和findstr在主文件表(MFT)中找到相应的记录号:



好的,现在我们可以使用icat(Sleuth Kit)复制我们需要进一步分析的文件:

icat -o 718848 E:\ RTM.E01 234782>软件

因此,我们有了一个SOFTWARE注册表文件,例如可以使用RegRipper Harlan Carvey从中提取最重要的信息。 我们当前对Microsoft \ Windows NT \ CurrentVersion部分的内容感兴趣:



现在我们知道正在研究的计算机正在运行带有Service Pack SP1的Windows 7 Professional,这意味着我们知道我们可能会遇到哪些司法鉴定物以及我们可能需要哪些鉴定物。

从哪里开始我们的搜索? 回想一下杰西·科恩布鲁姆(Jesse Kornblum)的悖论:“恶意软件可以隐藏,但必须运行。” 一个好的开始可能是在系统中寻找可能的锁定机制,该机制允许恶意程序在计算机重新启动后重新启动。

让我们从一个简单的例子开始:从具有最新修改日期的用户目录(C:\ Users \%username%\)中获取NTUSER.DAT注册表文件 ,并使用相同的RegRipper从中提取数据。 如果要再次使用fls和findstr获取文件的记录号,则需要在fls中添加–p选项-这将使实用程序显示文件的完整路径。 为什么需要这个? 事实是每个用户在目录中都有一个NTUSER.DAT文件,而SOFTWARE是整个系统的唯一文件,因此在这种情况下,获取特定文件的记录号很重要。 通常,根本不需要使用侦探工具,而是有一些更方便的工具,例如FTK Imager ,这是一个免费的AccessData开发工具,不仅可以用于创建法医副本,还可以用来检查其内容:



让我们从低落的果实开始,即所谓的“运行键”



那我们有什么呢? 该部分的最后修改时间为11月7日,我们看到当用户登录时,apg.exe文件是从非标准位置启动的。 让我们看看在b7mg81目录中还能找到什么:



TeamViewer? 有趣 让我们仔细看看apg.exe-使用PPEE



看起来像TeamViewer,已注册为TeamViewer,所以是TeamViewer吗? 好像是这样 但这不是那么简单。 让我们看一下导入表:



因此,msi.dll,我们已经在某个地方看到了此文件,它不是C:\ Windows \ System32,而是相同的b7mg81目录。 从大小来看,它与原始msi.dll没有关系,这意味着它可用-DLL搜索顺序劫持 :操作系统开始从当前目录中搜索必需的库,这意味着将加载合法的msi.dll而不是合法的msi.dll。在b7mg81中。

另一个有趣的文件是TeamViewer.ini


这里是反取证:根据配置文件判断,我们的TeamViewer没有保留任何日志,并且显然被用作RAT。 好吧,还不错。 现在是时候找出它是否完全开始了。

Windows上有很多工件表明可执行文件正在运行。 让我们继续使用注册表,这次使用SYSTEM文件 。 为了从中提取数据,您可以再次使用RegRipper。

我们对ControlSet001 \ Control \会话管理器\ AppCompatCache感兴趣。 在这里,我们找到可执行文件的列表,这些文件具有它们的路径,最后修改的日期(根据$ STANDARD_INFORMATION属性),以及指示该文件是否启动的标志:



太好了,我们的文件至少启动了一次。 因此,我们有一个“枢轴点”,我们知道11月7日,TeamViewer出现在计算机的驱动器上,该驱动器没有保留日志,并且很可能对用户不可见,因为它代替了合法的库,而是将其中的一个装入了库中。目录。

现在该开始建立时间表了。 我认为使用侦探工具包可以构建足够的内容。 让我们从我们已经知道的fls实用程序开始:

fls.exe -m“ C:/” -o 718848 -r -z GMT D:\ RTM.E01> bodyfile.txt

现在使用mactime将生成的文件转换为时间轴:

mactime.pl -d -b bodyfile.txt> timeline.csv

Eric Zimmerman的“ 时间轴资源管理器”中分析时间轴非常方便。 我们的时间轴将仅包含文件系统事件。 如果希望它包含注册表,杂志等中的更改,则可以使用plaso。 就我个人而言,我很少使用它,因为数据处理需要很长时间,并且结果通常是多余的。

返回时间轴。 b7mg81目录创建于2018年11月7日13:59:37:


在此之前的两秒钟,创建了21DA.tmp文件:


如果您在VirusTotal上查找其校验和,那么我们将得到非常有趣的结果:



显然,我们的RAT已从该文件中解压缩。 继续:


甚至在更早的时候,创建的LocalDataNT目录中就有很多有趣的文件。 看一下WinPrintSvc.exe,例如:


远程实用程序是另一个远程管理工具。 这是几秒钟前创建的另一个可疑文件:


检查其校验和:


几种防病毒产品立即将其检测为“ RemoteAdmin ”。 显然,他是远程实用程序的来源。 检查是否启动了检测到的RAT。 这次,我们将使用C:\ Windows \ AppCompat \ Programs中的AmCache.hve注册表文件(相同的RegRipper将允许我们以可消化的形式从中获取数据):


如您在插图中所见,AmCache使我们不仅可以获取首次启动的日期,还可以获取文件的校验和。

因此,我们有两个RAT,但是它们来自何处? 好问题! 如果您仍然滚动时间轴,那么我们将看到创建一个相当可疑的目录和文件的痕迹:


尽管扩展名很奇怪,fnbfdnja.hej的标题很熟悉:


VirusTotal校验和搜索将向我们显示什么? 这是什么:


如您在插图中所看到的,某些防病毒软件可以肯定地检测到我们的文件-我们正在处理RTM 。 VT可以为我们提供更多帮助。 如果我们查看“关系”标签,我们将看到:


看来我们找到了这个场合的英雄-这是“ Oct.exe的文档”。 也许不是,尽管校验和相同,但与我们的文件关联的名称却不同。 因此,再次是.exe,这意味着我们再次需要查找启动的痕迹。 就个人而言,我真的很喜欢使用注册表,因此我将再次使用已经众所周知的NTUSER.DAT和RegRipper文件。 这次来看看UserAssist-从中我们可以得到文件的名称和路径,文件的上次启动日期以及启动次数。 文件“ Documents for October.exe”不可见,但是另一个文件可见:

C:\用户\%用户名%\桌面\文档environment.exe

好吧,这似乎是我们所需要的。 没错,这是一个小问题-在正确的位置没有文件。 返回时间轴。 创建fnbfdnja.hej文件后,将发生以下情况:


Temp目录中的文件可能属于RTM,但我们对它们不感兴趣。 我们对文件$ R6K21RQ.exe和$ I6K21RQ.exe感兴趣。 这正是放置在“回收站”中的文件的样子-第一个文件包含数据本身,第二个文件包含元数据。 如果我们查看$ I6K21RQ.exe的内容,我们会立即看到所需文件的路径-“ Documents environment.exe”。

现在该看看VT将为我们提供哪些校验和了:


我们看到我们已经熟悉的检测-“ RTM”。 事实证明,我们文件的校验和与校验和“ Documents for October.exe”重合。 此外,VT还知道其他几个具有相同校验和的文件:


得到某种折衷的网络指标会很好。 我们没有内存转储,也没有网络流量转储,我该怎么办? 交换文件! 但是如何在大海捞针中找针呢? VT这一次在“行为”选项卡上也可以为我们提供一些帮助:


听起来像C2,对不对? 让我们看看交换文件(pagefile.sys)中是否存在类似的内容。 当然有:


因此,我们确认文件与185.141.61 [。] 246进行了交互。 让我们尝试找到更多的网络指标。 RAT之一是TeamViewer,我们将尝试查找与其ID类似的内容。 为此,例如,您可以使用正则表达式:


太好了,我们还有另一个网络指标-195.123.219 [。] 87。 当然,交换文件不仅适合于查找网络指示器。 如果返回到VT上的“行为”选项卡,我们将看到我们的文件在调度程序中创建了任务。 如果我们查看“ fnbfdnja.hej”行,则会发现:


创建的任务通过rundll32.exe启动fnbfdnja.hej。

好了,该舍入了。 现在该确定文件“ Documents environment.exe”的来源了。 我们已经知道这是RTM,并且由于它是RTM,因此最可能的感染媒介是网络钓鱼电子邮件。 在这种情况下,受害者使用Microsoft Outlook,因此我们在通常的位置找到了带有邮件的.ost文件,并在其中找到了相同的网络钓鱼电子邮件:


但是,我不想在此完成文章,而是在另一个有趣的工件上。 如果我们回到NTUSER.DAT文件并查看Software \ Microsoft \ WindowsNT \ CurrentVersion \ Winlogon部分中“ Shell”参数的值,则将看到以下内容,而不是通常的“ explorer.exe”:


这意味着在用户登录而不是启动资源管理器之后,系统将关闭,并完成本文的完成。

Source: https://habr.com/ru/post/zh-CN449100/


All Articles