查看: 1331|回复: 5
收起左侧

[讨论] 后门病毒伪装PDF文档,利用钓鱼邮件实现远控

[复制链接]
火绒工程师
发表于 2024-8-13 18:37:28 | 显示全部楼层 |阅读模式
本帖最后由 火绒工程师 于 2024-8-13 17:56 编辑

近期,火绒威胁情报中心在日常巡视中发现一恶意 GitHub 存储仓库存在病毒风险行为,火绒安全工程师第一时间提取样本进行分析。分析中发现该样本通过混淆 JavaScript 作为执行体,先下载 PDF 文档用以迷惑用户,接着下载另一个带有成熟后门功能的样本混淆 JavaScript 执行控制功能。结合相关威胁情报和攻击者的 TTP(Tactics, techniques, and procedures),可以确认利用的是名为 WSHRAT 的成熟 JavaScript 后门,并基于钓鱼邮件进行分发。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。
火绒查杀图

恶意 GitHub 仓库作者信息如下,项目和账号均为近期设立,此外,根据相关威胁情报,还关联到其它同类恶意仓库,这里仅以当前仓库的 Cleodf 项目进行分析展示:
恶意仓库截图

样本执行流程如下所示:

执行流程图

一、样本分析
Tran_ID-Details009192_End_Ids_58788719853478_Pdf.js
该样本一打开就是大型 JavaScript 混淆:
混淆代码示例

简单查看该混淆脚本,可以发现其加密字符串集中来源于 _0x28502,在需要时逐层解密:

部分字符串解密

由于混淆较多,这里直接以动态分析搭配行为监测为主, "Tran_ID-Details009192_End_Ids_58788719853478_Pdf.js" 是第一阶段的 downloader,会下载下一阶段用的 JavaScript 文件和一个 PDF 文件并打开用以迷惑用户,安全分析工具监测行为如下:
安全分析工具行为监测

该 downloader 会解密出域名 "ddfcbb9325637bcdeff.mxttbszhh1.free.hr",随后拼接路径 "/oauth/pdf/Monetary_Funding_Sheet_2024.js",通过 GET 请求获取下一阶段 JavaScript 文件,放置在开机启动目录中以执行持久化操作:
获取 JavaScript 文件
文件下发展示

接着继续拼接路径 "/oauth/pdf/Monetary_Funding_Sheet_2024.pdf" 下载 PDF 到 "C:\User\Administrator" 目录下,随即打开文档以迷惑受害者,让受害者以为自己打开的是正常的 PDF 加载程序:
获取 PDF 文件
PDF 内容截图

目前该 PDF 链接地址已被标记为钓鱼文档:
钓鱼文档标记

Monetary_Funding_Sheet_2024.js
下载的另一个混淆 JavaScript 名为 "Monetary_Funding_Sheet_2024.js",这是一个 WSHRAT JavaScript 后门,且与前面用的是同一套混淆方法,部分内容截图如下所示:
混淆代码展示

"Monetary_Funding_Sheet_2024.js" 在执行过程中会链接第一个 url:"https://pastie.io/raw/yjuddx",通过 pastie.io 网址做中转获取真实 C2 IP "45.88.91.57":
获取 C2 IP
网页内容截图

Pastie.io 是一个在线的代码分享工具,类似于 Pastebin 和 GitHub Gists。用户可以在 Pastie.io 上创建代码片段或文本片段,并生成一个唯一的 URL,而在 URL 路径中添加 raw 后会得到只包含文本的页面,没有任何其它杂乱元素,方便分享和访问,这里是被恶意软件作为中转:
Pastie 网页展示

"Monetary_Funding_Sheet_2024.js" 接着会把自身复制到 AppData\Roaming 目录下:

文件复制展示

然后拼接字符串 WScript.exe //B "C:\Users\Administrator\AppData\Roaming\Monetary_Funding_Sheet_2024.js" 写入到注册表 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" 中,进行第二个持久化操作。其中 /B 参数将启用 “批处理模式” 并禁用执行期间可能发生的任何潜在警告或警报:
写入开机自启动注册表

最后继续用命令 WScript.exe //B "C:\Users\Administrator\AppData\Roaming\Monetary_Funding_Sheet_2024.js" 执行复制的文件,退出当前进程:
启动子进程

"C:\Users\Administrator\AppData\Roaming\Monetary_Funding_Sheet_2024.js" 被执行后才会进入最后的 while 循环,该循环负责与 C2 IP "45.88.91.57" 的通信操作:
通信循环

其会先解密出请求路径 "/is-ready" 拼接到前面获取的 C2 中,接着把收集到的本地相关信息作为 user-agent 字段数据回传给 C2:
构造数据包
流量包截图

user-agent 字段中包含了 "Monetary_Funding_Sheet_2024.js" 在运行过程中收集的相关信息,整理格式如下:
格式整理

随后根据 C2 回传的指令,在 switch 中进行匹配以执行指定的操作,从而实现远程控制。
"Monetary_Funding_Sheet_2024.js" 涉及的操作指令包括 execute、update、uninstall、send、site-send、recv、enum-driver、enum-faf、enum-process、cmd-shell、delete、exit-process、sleep :
操作指令匹配

下图是国外研究人员在 Houdini is Back Delivered Through a JavaScript Dropper 捕获到的不带混淆的 Houdini RAT,这是 WSHRAT 的前身,可以看到控制命令基本相同:
Houdini RAT 功能代码

此外,在分析 "Monetary_Funding_Sheet_2024.js" 时根据其 C2 IP "45.88.91.57" 关联到另一篇出自 JAMESWT 写的关于 Twitter 威胁情报,该研究人员列出了其它同源的样本。目前,火绒对这些关联样本均支持查杀:
Twitter 情报


二、附录
C&C:
HASH:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +3 收起 理由
白露为霜 + 3 版区有你更精彩: )

查看全部评分

abc531005
发表于 2024-8-15 08:08:24 | 显示全部楼层
火钳刘明
aikafans
发表于 2024-8-15 16:14:59 | 显示全部楼层
不错不错
kafan988
发表于 2024-8-15 16:27:48 | 显示全部楼层
谢谢攻城狮
Tony_zhaoo
头像被屏蔽
发表于 2024-8-25 23:03:37 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
beianks
发表于 2024-8-28 11:00:01 | 显示全部楼层
这个还真值得重视一下 github上的文件不能乱下载了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-22 01:16 , Processed in 0.130950 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表