北极星(NorthStar)攻击行动的完整分析过程(上)
2020-11-28 11:30:00 Author: www.4hou.com(查看原文) 阅读量:206 收藏

McAfee的高级威胁研究(ATR)近日发布了一项研究,该研究揭露了先前未被发现的有关“北极星行动”的细节和其潜在受害者的信息。初步研究表明,该行动利用社交媒体网站、鱼叉式钓鱼和武器化文件来攻击目标。早期的分析集中在攻击者的初始攻击载体、如何安装第一阶段的植入程序,以及它如何与命令和控制(C2)服务器交互。

通过深入调查这是一次针对航空航天和国防部门的网络间谍活动,目的是在受害者的机器上安装数据收集植入程序,以进行监控和数据过滤。攻击者的目标是澳大利亚、以色列、俄罗斯的互联网服务提供商(ISPs)以及俄罗斯和印度的国防承包商的IP地址。这些攻击使用了之前未被发现的间谍软件工具——Torisma。

受攻击的网站

北极星C2行动基础设施由意大利和其他国家/地区的受侵害域组成,被攻击的域名分别属于服装公司、拍卖行和印刷公司。这些URL托管了恶意的DOTM文件,其中包括恶意的ASP页面。

hxxp://fabianiarte.com:443/uploads/docs/bae_defqa_logo.jpg
hxxps://fabianiarte.com/uploads/imgproject/912EC803B2CE49E4A541068D495AB570.jpg
https://www.fabianiarte.com/include/action/inc-controller-news.asp

域名fabianiarte.com(fabianiarte.it)被攻击后用来托管后端服务器代码和恶意DOTM文件。该域托管了DOTM文件,用于模拟在“北极星行动”中观察到的国防承包商的工作概况,但该域还包括一些基本的后端服务器代码,研究人员怀疑这些代码是植入时所使用的。日志文件和副本大量出现与该域的入侵有关,根据研究人员对缓存数据的分析,该网站在2020年9月7日被泄漏。

在此日志和其他入侵数据缓存中发现了两个DOTM文件,基于恶意VB脚本中的硬编码值,这些DOTM文件属于攻击活动510和511。

22it-34165.jpg
21it-23792.jpg

逆向分析技术的发展

研究人员发现了两个DOTM文件,用于后端有关的数据缓存。在长达7个月的时间里,在分析与C2服务器相关联的第一阶段植入程序时,研究人员发现攻击者正在尝试进行混淆处理。

这些DOTM文件出现在7月份,其中包含的第一阶段植入程序与研究人员在最初研究中记录的位置相同。然而,以前来自其他恶意DOTM文件的植入程序都是使用base64双重编码的,并且植入程序本身没有被混淆。然而,与研究人员最初的研究相比,该方法有一些显著的变化:

1.嵌套在DOTM文件中的第一阶段植入是在Visual Basic宏中使用三重base64编码;

2.提取的DLL(desktop.dat)与Themida打包程序一起打包,试图使分析更加困难;

3.从DOTM文件中提取的第一阶段植入程序包含一个加密的配置文件和一个中间dropper DLL。配置文件一旦解密,就包含了第一阶段植入的信息。这些信息包括C2的URL和称为“Torisma”的第二阶段有效载荷的解密密钥。

1.png

解密配置的内容

由于配置文件包含有关如何与C2通信的信息,因此它还存储参数选项(ned,gl,hl)。在本例中,研究人员看到了未知的第四个参数nl,但是它似乎没有在服务器端ASP代码中实现。攻击者可能计划在将来实现它。

2.png

nl参数

此外,通过分析受攻击服务器的后端组件,研究人员可以绘制出攻击者攻击活动的时间表。例如,上面提到的DOTM文件是在2020年7月放置在受攻击的C2服务器上的。一些涉及后端操作的主要恶意组件是在2020年1月安装在该服务器上的,这表明该C2服务器已经运行了7个月。

北极星活动的后端分析

Inc-Controller-News.ASP

整个攻击中包含了由DOTM文件提供的第一阶段植入程序,该研究发现了植入程序使用的特定参数,并将其发送到C2服务器。

对植入程序“wsdts.db”的进一步分析表明,攻击者会收集受害者系统的信息。例如:

1.获取系统磁盘信息;

2.获取可用磁盘空间信息;

3.获取计算机名和登录用户名;

4.处理信息;

收集到这些信息后,它们将使用参数(ned、gl、hl)与C2服务器通信。

这些参数由一个混淆的服务器端ASP页面解释,基于发送的值将取决于对受害者采取的措施。2020年1月,服务器端的ASP页被放置在受感染的服务器上。

此外,根据这些信息,攻击者还针对运行IIS的Windows服务器来安装C2组件。

服务器端ASP页面包含一个高度混淆的嵌入VBScript,一旦被解码,它就会显示旨在与第一阶段植入程序进行交互的代码。 ASP页面是用VBScript编码的。编码方法导致混淆VBScript代码。通过使用这些有限参数,第一阶段的植入程序与服务器端ASP页面进行交互。

3.png

编码VBScript

一旦对VBScript进行了解码,它将显示出相当复杂的函数集。这些函数导致在受害者的系统上安装更多植入程序。这些植入程序被称为Torisma和Doris,两者都是base64编码。根据脚本中包含的逻辑,一旦满足了条件,它们就会通过二进制流直接加载到内存中。

4.png

解码VBScript

ASP服务器端脚本包含用于创建二进制流的代码,研究人员怀疑将Torisma植入程序写入该二进制流。研究人员还发现,Torisma植入程序嵌入在ASP页中,并且对base64 blob进行解码可以揭示AES加密的有效载荷,该ASP页表明存在解码该植入程序并将其传递给受害者的逻辑。

function getbinary(sdata)
const adtypetext = 2
const adtypebinary = 1
dim binarystream
dim aa
aa = “adodb.stream”
set binarystream = createobject(aa)
binarystream.type = adtypetext
binarystream.charset = “unicode”
binarystream.open
binarystream.writetext sdata
binarystream.position = 0
binarystream.type = adtypebinary
binarystream.position = 2
getbinary = binarystream.read
end function

根据发送的值,攻击者会对目标受害者执行其他操作。对服务器端脚本的进一步分析表明,存在依赖于某种机制的逻辑,该机制让攻击者将受害者的IP地址放置到一个允许列表文件中。除非首先满足此条件,否则第二阶段的植入程序不会传播给受害者。这暗示了一种可能性,即攻击者正在后台查看数据并选择受害者,这很可能是通过另一个ASP页面执行的。

服务器端ASP页面包含解释通过以下参数发送的数据以执行附加代码的代码。这些参数的值由最初由DOTM文件传播的第一阶段植入程序发送,这些参数在研究人员最初的研究中已经讨论过了,但是可以访问C2后端代码揭示了有关其真实用途的其他信息。

6.png

URL查询字符串以以下格式发送到C2服务器:

http://hostname/inc-controller-news.asp?ned=campaigncode&gl=base64encodeddata&hl=0

此外,还存在用于获取受感染受害者IP地址的代码;此信息用于检查IP地址是否被允许(获取第二阶段)或IP地址是否已被阻止(防止第二阶段)。如前所述,将受害者的IP地址添加到伪造的MP3文件中很可能是通过识别通过第1阶段植入程序的传入连接来手动执行的。

8.png

逻辑的完整代码获取用于连接客户端计算机并将受害者条目写入日志文件的IP地址,在分解这些代码时,研究人员可以看到使用了最有趣的不同函数,这些日志文件也基于变量strlogpath存储在受感染服务器的WWW根目录中。

从下面的vbscript代码片段中,研究人员可以看到“gl”和“hl”参数用于查询受害者(gl)和操作系统架构(32位或64位)的系统信息:

strinfo=replace(request.form(“gl “),””,” + “):strosbit=replace(request.form(“hl “),””,” + “)

受害者日志

攻击者通过在服务器端ASP代码中实现的日志函数来追踪受害者。此外,如上所述,后端服务器代码能够基于第一阶段植入连接执行受害者日志记录。此日志文件存储在受攻击C2服务器的WWW根目录中。下面的代码片段将以[date, IP Address, User Agent, Campaign Code (NED), System Info (GL), OS Architecture (HL)]的格式将数据写入日志文件。

10.png

服务器端ASP代码将通过检查伪装成MP3文件的两个服务器端文件中是否存在IP,来检查IP地址是否是允许列表或块列表的一部分。 IP地址以MD5哈希的格式存储,作为创建MD5哈希的函数包含在服务器端代码中,该代码基于变量strWorkDir在受攻击服务器的WWW根目录中查找这些文件。

使用“允许列表”可能表明它包含了其预定目标的列表。

11.png

IP允许列表/黑名单检查

对于MD5哈希生成,系统似乎对IP地址使用了非标准形式的哈希。在大多数情况下,将使用内置的Microsoft加密服务提供程序来生成MD5。然而,在本例中,攻击者选择使用自定义方法。

使用此方法检索IP地址并对其进行哈希处理:

12.png

以下函数(ipopk)设置为从存储哈希IP的文件中读取,稍后将在条件块语句中使用。下面的代码将打开并读取文件,如果没有数据,ipok的标志将为0,如果有数据,则结果为1。

13.png

以下代码是确定受感染的受害者是否应该接受Torisma植入程序的逻辑,根据代码中描述的特定条件,使用了一系列条件来做出决策:

1.如果受害者的IP地址在允许列表上,并且操作系统体系结构位值为“1”(类似于64位),则Torisma 64位版本植入程序将发送给受害者,并且在日志文件中,术语“case_1_64”表示发送了Torisma植入程序的64位版本。

2.第二种情况也是如此,但现在是32位版本的操作系统(值0),术语“ case_1_86”,表示发送了32位的Torisma植入版本。

3.如果受害人的ip地址在具有32/64位操作系统架构的阻止列表中,则将被称为“doris_x86”和“doris_x64”的无意义载荷发送给受害人。例如,在研究人员发现的示例中,“doris_x86”的值为:doris_x86 =“ddddddd”。

4.如果受害者返回了条件“24”,则将日志记录写入值“ case_3”,并且没有发送植入程序,并且http响应状态为405。

5.如果以上条件都不满足,则将“case_4”写入日志文件,不发送任何植入程序,并再次发送http响应状态405。

HTTP 405响应代码表示服务器已知该请求方法,但目标资源不支持该请求方法。

14.png

向受害者提供第二阶段植入程序的逻辑

Torisma植入程序

研究人员可以说,“北极星行动”的主要目标之一是根据一套逻辑将Torisma植入程序安装在目标受害者的系统上。此外,最终目标是在Torisma感染后执行自定义shellcode,从而根据特定的受害者配置文件运行自定义操作。如前所述,Torisma是基于从受害者发送到命令和控制服务器的数据来传播的。此过程依赖于从DOTM文件中嵌入的VB宏提取的第一阶段植入程序。

15.png

一般流程和组件关系

此外,Torisma是作为base64编码的blob嵌入到服务器端ASP页面中的先前未知的第二阶段植入程序。嵌入式是64位和32位版本,具体取决于受害者发送的操作系统结构标识值,并将确定发送哪个版本。此外,由于受害者与命令和控制服务器之间的交互作用,该植入程序被直接加载到内存中。在这个特定的案例中,攻击者竭尽全力对第一和第二阶段的植入程序进行混淆、加密和包装。

一旦Torisma通过Base64被解码,植入程序将进一步使用AES密钥加密并压缩。服务器端ASP页面不包含任何逻辑来解密Torisma植入程序,而是依赖于包含在第一阶段植入程序中的解密逻辑,解密密钥与命令和控制服务器的URL一起存在于加密的配置文件中。

如果要由事件响应者恢复被攻击的服务器代码,这将使植入程序的恢复更加困难。

解密方法是由第一阶段植入程序使用存储在配置文件中的解密密钥执行的,该密钥是静态的32位AES密钥,可以使用解密密钥78b81b8215f40706527ca830c34b23f7来解码Torisma。

此外,在解密Torisma二进制文件后,发现它还被lz4压缩,这给了它另一层保护。解压缩代码后,研究人员现在就可以分析Torisma及其函数,从而进一步了解北极星行动和第二阶段植入程序。

研究人员分析的植入程序的变体是在2020年2月7日创建的,然而,考虑到inc-controller-news.asp是在2020年初被放在C2上,这意味着已经进行了多次更新。

根据分析,Torisma将使用以下URL发送和接收信息。

hxxps://www.fabianiarte.com/newsletter/arte/view.asp
hxxps://www.commodore.com.tr/mobiquo/appExtt/notdefteri/writenote.php
hxxp://scimpex.com:443/admin/assets/backup/requisition/requisition.php

加密配置文件

Torisma也像第一阶段植入一样使用加密的配置文件,以表示它作为命令和控制与之通信的URL等。

116.png

配置文件解密

除通过C2信道发送的通信外,还使用算法VEST对Torisma的配置文件进行了加密。根据研究人员的研究,这种加密方法在任何地方都不常用,实际上,它只是一种建议使用的密码方法,并未成为通用标准。

此外,从后端恢复的FOUND002.CHK文件用于更新配置,并且仅包含扩展名为.php的URL。这些URL的页面扩展名为.php,这表明某些后端可能是用PHP编写的。目前尚不清楚带有.PHP页面的服务器在总体攻击中所扮演的角色。尽管研究人员可以基于Torisma中的字符串和函数来确认,但仍有一些代码设计用来通过页面view.asp发送和接收文件。根据研究人员的分析显示,此view.asp页是Torisma植入程序的后端。在本文的后半部分研究人员将详细介绍view.asp,但是该页面包含基本函数,可以处理请求,发送和接收与Torisma植入程序感染的受害者的数据。

下一篇文章,我将重点对攻击中使用的主要函数进行分析。

本文翻译自:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/operation-north-star-behind-the-scenes/如若转载,请注明原文地址


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