MuddyWater活动于2017年初首次出现,当时它针对沙特政府发动了通过微软Office Word 宏部署的PowerShell脚本攻击。在2018年3月,我们对另一起具有MuddyWater特征的活动进行了详细分析。
在2018年5月,我们发现了一个新的样本(检测为W2KM_DLOADR.UHAOEEN),它可能与本次活动有关。与之前的活动一样,这些样本再次涉及嵌入了恶意宏的Microsoft Word文档,该宏能够执行PowerShell(PS)脚本,从而导致后门载荷。在分析的样本中,一个显著的区别是,它们不直接下载Visual Basic(VBS)脚本和PowerShell组件文件,而是在文档本身上编码所有脚本。这些脚本将被解码并删除,以执行有效载荷,而无需下载组件文件。
如前所述,我们对样本的分析揭示了可能将其与MuddyWater活动相关联的特征,特别是:
l 交付方法,其中涉及使用嵌入宏的恶意文档作为潜在受害者的诱饵
l 宏脚本的混淆方法,这将导致预期的后门载荷。这种方法通常用于MuddyWater活动中使用的样本
感染链
图1.比较以前和当前活动中使用的感染链
技术细节
我们分析的样本是一个Word文档,用来引诱毫无戒心的受害者。但是,与以前的活动样本不同,诱饵文档涉及不同的主题。新的诱饵文档没有使用政府或电信相关文件,而是作为奖励或促销,这可能表明目标不再局限于特定的行业或组织。
图2.当前活动使用的诱饵文档的示例
该文档旨在诱骗用户,使宏能够查看其全部内容。然而,这个宏的真正目的是允许它在用户不知情的情况下执行恶意程序。
一旦宏被启用,如果打开使用相同模板的新文档或当模板本身作为文档被打开时,它将使用DoCuffTyOnOpen()事件自动执行恶意例程。
图3.通过Document_Open()执行恶意例程
恶意宏的代码片段使用了三个main函数,具体为:
l 红色框中包含的函数是Document_Open()事件,其中所有子函数将被执行/调用。。
l 绿色框中的代码处理文档正文中显示的图像。
l 蓝色框中的代码构建了主要的Powershell命令和脚本。这些将被执行以执行主例程。
图4.恶意宏代码片段,用彩色框标记以显示不同的功能
解码和去混淆
代码分析揭示了一个PowerShell脚本,能够解码恶意文档的内容,从而导致执行另一个编码的PowerShell脚本。
图5.示例代码中包含的Powershell脚本
图6.第二个编码的PowerShell脚本,在解码第一个脚本之后执行
这将导致更具可读性的PowerShell脚本能够在%Application Data% Microsoft CLR *目录中丢弃各种组件。主要的PowerShell文件invoker.ps1使用这些组件运行最终的有效载荷PRB-Backdoor,之前在2018年5月已经由其他安全研究人员进行了分析。
图7:在%Application Data% Microsoft CLR *目录中丢弃的组件
PRB-Backdoor是一个后门,它的命名取自于最终的PowerShell脚本有效载荷中使用的函数,如下图所示。
图8. PRB-Backdoor的命名来自PS函数
后门与其命令与控制(C&C)服务器hxxp:// outl00k [。] net进行通信,以发送和接收以下命令:
Command(命令) |
Details(细节) |
PRB-CREATEALIVE |
初始化与C&C服务器的连接 |
PRB-CREATEINTRODUCE |
将受影响的机器注册到C&C服务器。 |
PRB-History |
从不同的浏览器收集浏览历史记录,并使用“sendfile”函数将其发送到C&C服务器 |
PRB-PASSWORD |
窃取在浏览器历史记录中列出或找到的密码 |
PRB-READFILE |
读取文件 |
PRB-WRITEFILE |
写入文件 |
PRB-Shell |
执行shell命令 |
PRB-Logger |
调用“日志记录器Logger”功能,用于记录键盘敲击 |
PRB-Shot |
触发SNAP功能,用于捕捉屏幕截图 |
PRB-funcupdate |
更新功能 |
sysinfo |
收集系统信息 |
Start_Dns |
初始化DNS会话/连接 |
如果这些样本确实与MuddyWater相关,这意味着MuddyWater背后的威胁行为者正在不断升级他们的工具和技术,使它们更加有效和持久。
妥协指标(IoCs)
检测为W2KM_DLOADR.UHAOEEN
l 240b7d2825183226af634d3801713b0e0f409eb3e1e48e1d36c96d2b03d8836b
审核人:yiwang 编辑:边边
发表评论
您还未登录,请先登录。
登录