3CX供应链攻击样本分析

admin 2023年4月26日00:41:00评论19 views字数 2248阅读7分29秒阅读模式
3CX供应链攻击样本分析

本文为看雪论坛优秀文章

看雪论坛作者ID:megaparsec



ffmpeg.dll


3CX供应链攻击样本分析

3CXDesktopApp.exe 会侧加载 ffmpeg.dll,ffmpeg.dll 中包含恶意代码,也包含正常的功能。
 
创建名为 AVMonitorRefreshEvent 的事件,修改当前模块的文件名,将 d3dcompiler_47.dll 文件侧加载到系统中 。

3CX供应链攻击样本分析

读取 d3dcompiler_47.dll 中加密的 Shellcode,该 Shellcode 以 8 字节序列 "0xFE 0xED 0xFA 0xCE 0xFE 0xED 0xFA xCE" 开始。

3CX供应链攻击样本分析

用 RC4 算法解密 d3dcompiler_47.dll 中加密的shellcode ,密钥为 3jB(2bsG#@c7。

3CX供应链攻击样本分析



d3dcompiler_47.dll


d3dcompiler_47.dll (MD5:82187AD3F0C6C225E2FBA0C867280CC9),在此 dll 中可定位到加密的shellcode。

3CX供应链攻击样本分析



解密的dll


解密之后的 dll(MD5:9B406B9CE0DF2D7D88EEAB56E14B333B)

3CX供应链攻击样本分析

DllGetClassObject 会分配一段内存之后,创建一个新的线程并启动该线程。

3CX供应链攻击样本分析

在新线程中,首先获取系统时间,并转换为64位的整数,该整数作为生成随机数所需的种子,根据指定文件是否可访问来读取或写入一个名为 "manifest" 的文件,写入内容为随机数据。

3CX供应链攻击样本分析

打开注册表 HKEY_LOCAL_MACHINESoftwareMicrosoftCryptography,读取 MachineGuid 的键值数据,获取计算机的唯一标识符。

3CX供应链攻击样本分析

下载 ico 文件,图标编号会在运行时随机生成 (rand()% 15 + 1),并直到图标成功下载,下载地址:https://raw.githubusercontent.com/IconStorages/images/main/icon[1-15].ico

3CX供应链攻击样本分析

从文件末尾向后搜索,直到遇到标记 “$” ,提取标记之后的数据,然后 base64 解码,AES-GCM 解密其 C2 配置。

3CX供应链攻击样本分析



ICO文件


其中一个 ICO 文件末尾文件内容如下:

3CX供应链攻击样本分析

该 ICO 文件 MD5:1640f48cc05c58f4cc077503a5361cea,来自 https://unit42.paloaltonetworks.com/3cxdesktopapp-supply-chain-attack/

解密脚本:https://github.com/volexity/threat-intel/blob/main/2023/2023-03-30%203CX/attachments/decrypt_ico.py

3CX供应链攻击样本分析

解密结果为:https://azureonlinestorage.com/azure/storage ,这是其中一个 C2 地址。通过 C2 服务器下载 config.json 配置文件,最终会产生最终有效载荷文件。



最终payload


最终payload为64位的 dll (MD5:7FAEA2B01796B80D180399040BB69835),
DllGetClassObject 函数中包含恶意代码,通过 NetWkstaGetInfo、RtlGetVersion 获取当前计算机的工作站信息和当前操作系统的版本信息。

3CX供应链攻击样本分析

将获取的数据格式化,以便于向 C2 传输数据。

3CX供应链攻击样本分析

检索 AppDataLocalGoogleChromeUser Data、AppDataLocalMicrosoftEdgeUser Data 、AppDataLocalBraveSoftwareBrave 目录下的 History 文件和 AppDataRoamingMozillaFirefoxProfiles 下的 places.sqlite 文件,即查找 Chrome、Edge、Brave、Firefox 浏览器的储存历史记录的数据库文件。

3CX供应链攻击样本分析

复制数据库文件,然后通过执行SQLite语句 SELECT url, title FROM urls ORDER BY id DESC LIMIT 500 、SELECT url, title FROM moz_places ORDER BY id DESC LIMIT 500 在 urls 和 moz_places 表中查询 url 和 title 字段,并按照 id 值的倒序进行排序,返回前 500 条记录,再把相关数据发送至 C2 服务器。

3CX供应链攻击样本分析



参考

https://www.splunk.com/en_us/blog/security/splunk-insights-investigating-the-3cxdesktopapp-supply-chain-compromise.html

https://unit42.paloaltonetworks.com/3cxdesktopapp-supply-chain-attack/

https://news.sophos.com/en-us/2023/03/29/3cx-dll-sideloading-attack/




3CX供应链攻击样本分析


看雪ID:megaparsec

https://bbs.kanxue.com/user-home-917207.htm

*本文由看雪论坛 megaparsec 原创,转载请注明来自看雪社区

3CX供应链攻击样本分析

# 往期推荐

1、在 Windows下搭建LLVM 使用环境

2、深入学习smali语法

3、安卓加固脱壳分享

4、Flutter 逆向初探

5、一个简单实践理解栈空间转移

6、记一次某盾手游加固的脱壳与修复


3CX供应链攻击样本分析



3CX供应链攻击样本分析

球分享

3CX供应链攻击样本分析

球点赞

3CX供应链攻击样本分析

球在看

原文始发于微信公众号(看雪学苑):3CX供应链攻击样本分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月26日00:41:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   3CX供应链攻击样本分析https://cn-sec.com/archives/1689765.html

发表评论

匿名网友 填写信息