freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻击技术研判 | 上游供应商沦陷典例-3CX供应链攻击事件
2023-04-17 11:04:39
所属地 北京

组织名称LABYRINTH CHOLLIMA 
关联组织Lazarus
战术标签打击突破、命令控制、防御规避
技术标签供应链攻击、恶意安装包、DLL侧载、图片隐写、公共服务C2
情报来源

https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/

https://www.elastic.co/cn/security-labs/elastic-users-protected-from-suddenicon-supply-chain-attack

https://asec.ahnlab.com/en/51090/

情报背景

近期知名企业网络电话系统提供商3CX遭受了一起供应链攻击事件,Win/Mac平台的多个版本的安装包被植入恶意代码,使全球约60万家企业用户受到潜在威胁。

自2020年SolarWinds供应链攻击事件为全球敲响警钟,攻击链攻击事件因其隐蔽性与广泛的影响范围越发为安全厂商等组织所关注。藉由端侧的异常行为捕获预警,CrowdStrike等安全厂商对本次攻击事件相继发出预警,载荷特征与历史IOC情报将攻击者关联至LABYRINTH CHOLLIMA APT组织。

攻击过程分析

攻击者通过对上游软件供应商3CX的攻击,将植入了恶意代码Win/Mac的多个产品版本安装包托管于官方升级服务器,并通过自动升级过程分发至下游客户主机高权限执行。所涉及的恶意版本安装包均具有软件供应链3CX的有效签名,由此可推测恶意代码植入过程应发生于安装包最终签名发布之前。

值得注意的是攻击者在Win/Mac平台采取了相似的恶意代码植入策略:“利用开源第三方库ffmpeg的动态库侧载截至执行流程恶意代码”,并在最终使用了同一批C2基础设施地址进行命令控制。区分于Win平台,Mac平台变种没有从github拉取C2配置的过程,而是直接使用硬编码的C2地址。


图1 3CX供应链攻击事件攻击流程图


从软件供应链安全的角度进行分析,3CX供应链攻击事件中所呈现的软件安装包被植入恶意代码的最终结果,可能涉及软件供应链生命周期中包括“开发安全”与“交付使用安全”的多个环节阶段,潜在涉及一系列供应链攻击技术。如何全面有效地拆解与评估供应链安全产品全生命周期的安全风险是亟需解决的问题。

绿盟科技在2022年发布了《软件供应链安全技术白皮书》,靶向聚焦、着力剖析供应链风险产生的内部动因和运行机理。与白皮书一起发布的《软件供应链安全风险表》对供应链产品在开发与交付生命周期全过程的风险控制进建立了模型。此处使用该模型对3CX供应链攻击事件所涉及的生命周期安全风险与攻击技术进行了评估。

表 3CX事件供应链攻击技术与脆弱性

此类因上游软件供应商失陷,导致恶意代码被分发至下游的供应链攻击事件,天然具备以下两方面的隐蔽性:

  • 投递过程隐蔽性:恶意软件投递过程发生在应用程序后台自动升级的过程中,整个过程用户缺乏感知。
  • 执行主体隐蔽性:由于执行的恶意代码往往寄宿于具备签名的可信中软件,甚至由于业务需求存在于安全产品白名单,相关恶意行为更难被发现与预警。

攻击技术分析

要点1:基于开源组件动态库的执行流劫持

如前文所述攻击者在Win/Mac平台的变种均采用执行流劫持(T1574)的手段,利用可信可执行程序加载包含恶意代码的恶意动态库。相较于直接将恶意代码植入主程序,隐藏于第三方依赖库在更隐蔽的同时依然可以借助执行主体的可信身份。除此之外,考虑到软件编译签名与安装器打包可能在不同的环境完成,在打包过程植入动态库文件相比修改软件源码复杂度与控制权限要求更小。

虽然两个平台的载荷形态有细微差别(Windows平台的DLL与Mac平台的dylib),但劫持对象的选择与流程上却是一致的:”利用带毒开源组件动态库FFmpeg劫持带签名的主程序“。FFmpeg是遵循GPL/LGPL开源协议的开放源代码自由软件,因其易用性与音视频处理的强大功能被软件项目广泛使用。FFmpeg项目遭受恶意代码植入的疑虑应运而生,但官方第一时间进行澄清:”FFmpeg仅提供“源代码“形式的分发,FFmpeg源代码仓库并未受到投毒攻击,任何编译为二进制形式的分发皆是厂商的自主行为。”

图2 FFmpeg官方对受感染动态库的澄清

分发动态库形式的开源组件是绕过开源协议限制的常用手段。GPL等部分开源协议具有”传染性“,也即涉及GPL协议的任何源码修改使用均应开源项目代码。出于商业利益考虑,大量软件供应商会自行编译并以动态库形式分发开源组件。这种规避风险的无意之举进一步造成了以动态库形式分发的开源组件的碎片性,用户对于分散各处的库文件习以为常。即便攻击行为暴露也能借助”开源组件仓库投毒“方向的质疑分散一部分火力,也是攻击者选择开源组件动态库作为恶意代码注入对象的另一个重要原因。

图3 开源协议与传染规避

要点2:借助代码托管平台与图片隐写的C2配置分发

攻击者借助Github代码托管平台实现Windows平台变种的C2通讯配置的分发,并通过图片隐写的技术增强了信息埋藏的隐蔽性。攻击者以匿名身份创建托管ICO图标的代码仓库,并以Base64的形式在图标末尾附加加密的C2连接配置。15个图标文件中共埋藏着14个C2回连地址,攻击者通过图标文件的随机拉取,任意选择一个地址进行回连。

图4 附加于图标文件末尾的加密C2配置

Github作为公开代码存储站点相比自建域名具备更高的可信度,帮助攻击者隐藏C2通讯相关的流量行为。相较于明文形式存储恶意代码,埋藏数据的图标文件对平台与第三方都更加具有迷惑性。

此外,借助对第三方平台文件的访问与修改能力,攻击者可实现对多阶段攻击活动的精准控制,例如通过文件更新修改回连的C2地址,在必要时删除相关仓库以销毁攻击活动痕迹。

结论

(一)CX供应链攻击事件是继SolarWinds事件之后又一上游供应商被攻陷,影响蔓延至下游客户的典型案例。在此类事件中,攻击者利用下游客户对于上游供应商天然的信任关系以掩盖企图,延缓暴露周期。以攻击者视角分析,自上游软件供应商的供应链攻击的攻击范围广,但因其广撒网的特性增加了暴露风险。参考SolarWinds攻击事件,攻击者可能对目标进行甄别:仅对攻击列表白名单中的重要目标实施上线,对安全厂商分析环境与敏感机构等加入黑名单。

(二)”雁过留痕“,终端遥测与预警是应对高水平对抗活动的有力手段。针对进程注入等异常行为的检测预警是本次事件中帮助安全厂商发现本次供应链攻击的重要手段,对于事中警告阻断或事后溯源复盘均有重要意义。除此之外,基于C2基础设施IP的溯源归因仍是溯源攻击组织身份的重要手段,可见威胁情报在预警、归因和监测已知威胁中的重要性。

尽管针对下游客户的攻击链分析、攻击组织归因已初步披露,上游软件供应商3CX的失陷细节仍未明晰。参考SolarWinds事件中供应商沦陷过程的长周期隐蔽性攻击所披露的大量细节,该事件目前的曝光程度仍是“冰山一角”,攻击者对于3CX的入侵程度与控制周期的后续进展仍值得持续关注。

参考文献

[1] 《软件供应链安全技术白皮书》, 绿盟科技, https://nti.nsfocus.com/api/v2/report/pdf/?file=Software_Supply_Chain_Security_Technical_White_Paper_20220718.pdf

# APT组织 # Lazarus # 攻击组织 # 攻击技术研判
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录