要点
- Elastic 用户受到保护,免受针对 3CX 用户的供应链攻击
- Elastic 安全实验室和其他研究团队正在积极调查执行流程如何运作
- 无论您使用何种反恶意软件技术,都不应将针对 3CX 的 shellcode 和进程注入警报添加到例外列表
序言
2023 年 3 月 29 日,CrowdStrike 报告了一起可能影响 3CX VOIP 软电话用户的供应链漏洞 如 Reddit 帖子中所述。Elastic 安全实验室继续监控遥测数据,寻找威胁活动的证据,并将在获得更多证据后提供更新。目前了解到的最早的潜在恶意活动时期是在 2023 年 3 月 22 日左右 如 Todyl 报告的那样。
3CX 表示,它被 600,000 多家公司和 12,000,000 多名用户使用,因此 Elastic 安全实验室正在发布一份分类分析,以协助 3CX 客户初步检测 SUDDENICON,后续的恶意软件和入侵分析将在稍后发布。
在此信息更新中,Elastic 安全实验室提供以下内容: - 与恶意软件活动相关的潜在恶意域 - 可能受影响的 3CX Windows 和 MacOS 客户端的文件哈希值 - 可能与此活动相关的 Elastic 查询和预构建保护措施 - 用于识别 SUDDENICON 恶意软件的 YARA 规则
SUDDENICON 分类分析
3CXDesktopApp 安装程序 MSI 似乎包含恶意代码,该代码在安装后等待 7 天,然后从 GitHub 下载其他文件并与恶意命令和控制域通信。客户端应用程序将 ffmpeg.dll
和 d3dcompiler_47.dll
写入磁盘,后者包含我们称之为 SUDDENICON 的有效负载。我们采样中的两个库似乎都被后门植入了。应该注意的是,ffmpeg.dll
和 d3dcompiler_47.dll
都是合法的文件名,不应仅基于它们创建规则。
ffmpeg.dll
二进制文件通过查找 FEEDFACE 字节序列并使用静态 RC4 密钥 (3jB(2bsG#@c7
) 解密,从 d3dcompiler_47.dll
中提取 SUDDENICON。然后将生成的有效负载作为第二阶段有效负载加载到内存中。预先添加到有效负载的 shellcode 存根用于将其映射到内存中,与 APPLEJEUS 加载程序存根相似,后者与 DPRK 相关联。成功执行后,此 shellcode 存根将一个新文件 (manifest
) 写入磁盘,时间戳为 7 天后,用于实现一个计时器,在此之后恶意软件会连接到 C2 基础设施。
C2 域是通过下载并对附加在 IconStorages Github 存储库中暂存的图标文件的尾随字节进行 base64 解码来检索的(此存储库已被 Github 删除)。此存储库由 GitHub ID 120072117
于 2022 年 12 月 8 日创建,最近一次更新于 2023 年 3 月 16 日。最初连接到活动的 C2 服务器后,恶意软件会执行包含机器标识符的 POST。然后它下载并解密一个新的可执行文件。
对新可执行文件的初步分析似乎是信息窃取器。一旦分析完成,我们将发布更新。
3CX 的首席执行官已建议卸载该软件;少量社区论坛帖子概述了安全工具如何对潜在的恶意软件行为做出反应,并且 CrowdStrike 和 SentinelOne 已发布初步信息。似乎该威胁能够通过更新通道引入由对手创建的恶意软件,覆盖 3CXDesktopApp 的其他良性组件。用户也可能意外地自我感染。
检测逻辑
预防
- 内存威胁检测警报:Shellcode 注入
- Windows.Trojan.SuddenIcon
狩猎查询
KQL 和 EQL 的事件都通过使用 Elastic Defend 集成的 Elastic Agent 提供。狩猎查询可能会返回高信号或误报。这些查询用于识别潜在的可疑行为,但需要进行调查以验证结果。
KQL 查询
以下 KQL 查询可用于识别执行 raw.githubusercontent.com 名称解析的 3CX 签名软件,其中与此威胁相关的恶意应用程序已暂存
process.name : "3CXDesktopApp.exe" and dns.question.name : "raw.githubusercontent.com"
以下 KQL 查询可用于识别此活动的几个基于主机的指标
dll.hash.sha256 : "7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896" 或 dll.hash.sha256 : "c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02"
EQL 查询
在 Kibana 的安全解决方案的“时间线”部分下的“关联”选项卡中,可以使用以下 EQL 查询来搜索类似的行为。
以下 EQL 查询可用于分析 3CX 软件和子软件
any where process.code_signature.subject_name == "3CX Ltd" or process.parent.code_signature.subject_name == "3CX Ltd"
以下 EQL 查询可用于识别执行 raw.githubusercontent.com 名称解析的 3CX 签名软件,其中与此威胁相关的恶意应用程序已暂存
network where process.code_signature.subject_name == "3CX Ltd" and dns.question.name == “raw.githubusercontent.com”
以下 EQL 查询可用于识别 3CXDesktopApp 客户端写入的文件
file where event.type == "creation" and (host.os.type == "windows" and file.path : "*:\\Users\\*\\AppData\\Local\\Programs\\C3XDesktopApp\\app\\*" and file.name : ("manifest")) or (host.os.type == "macos" and file.path : "*/Library/Application Support/3CX Desktop App/" and file.name : ("UpdateAgent", ".main_storage", ".session-lock"))
以下 EQL 查询可用于识别此活动的几个基于主机的指标
sequence by host.name, process.entity_id[process where process.code_signature.subject_name:"3CX Ltd"][library where dll.hash.sha256:"c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02","7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896"][network where dns.question.name:"raw.githubusercontent.com"]
如果 DLL 更新,以下 EQL 查询可用于识别此活动
库中,进程的 process.code_signature.subject_name 为 "3CX Ltd",且 dll.code_signature.trusted 不为 true,且 dll.name 不以 process.name 开头,并且 /* 从进程可执行目录加载的 DLL */ dll.path 的子字符串(从 0 开始,长度为 dll.path 的长度减去 dll.name 的长度加 1)以 process.executable 的子字符串(从 0 开始,长度为 process.executable 的长度减去 process.name 的长度加 1)结尾。
YARA
Elastic Security Labs 已经发布了 两个针对恶意 shellcode 的 YARA 签名,我们将该 shellcode 称为 SUDDENICON。
防御建议
启用了预防模式下 shellcode 保护的 Elastic Endgame 和 Elastic Endpoint 客户阻止了 SUDDENICON 的执行,尽管任何受感染的客户端软件可能都需要删除。由于 shellcode 的延迟检索和注入,3CXDesktopApp 用户可能在休眠时间(大约 7 天)过去后才会看到警报。使用仅检测模式的 shellcode 保护的客户应启用预防以降低感染风险。不要为此类警报创建例外。
参考
以下内容在上述研究中被引用: - https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/ - https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/ - https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign
指标
潜在恶意域名
粗体域名表示在我们的分析中观察到的域名。
- akamaicontainer[.]com
- akamaitechcloudservices[.]com
azuredeploystore[.]com
- azureonlinecloud[.]com
- azureonlinestorage[.]com
- dunamistrd[.]com
- glcloudservice[.]com
- journalide[.]org
msedgepackageinfo[.]com
- msstorageazure[.]com
msstorageboxes[.]com
officeaddons[.]com
officestoragebox[.]com
- pbxcloudeservices[.]com
- pbxphonenetwork[.]com
- pbxsources[.]com
- qwepoi123098[.]com
- sbmsa[.]wiki
sourceslabs[.]com
visualstudiofactory[.]com
zacharryblogs[.]com
可能受影响的 3CXDesktopApp 版本和哈希值
客户端哈希:dde03348075512796241389dfea5560c20a3d2a2eac95c894e7bbed5e85a0acc
操作系统:Windows 安装程序哈希:aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868
安装程序文件名:3cxdesktopapp-18.12.407.msi
客户端哈希:fad482ded2e25ce9e1dd3d3ecc3227af714bdfbbde04347dbc1b21d6a3670405
操作系统:Windows 安装程序哈希:59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983
安装程序文件名:3cxdesktopapp-18.12.416.msi
客户端哈希:92005051ae314d61074ed94a52e76b1c3e21e7f0e8c1d1fdd497a006ce45fa61
操作系统:macOS 安装程序哈希:5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290
安装程序文件名:3CXDesktopApp-18.11.1213.dmg
客户端哈希:b86c695822013483fa4e2dfdf712c5ee777d7b99cbad8c2fa2274b133481eadb
操作系统:macOS 安装程序哈希:e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec
安装程序文件名:3cxdesktopapp-latest.dmg