导语:Google Threat Intelligence发现了一款名为Coruna的强大iOS漏洞利用工具包,该工具包横跨多个威胁攻击者和全球攻击活动。这再次证明了复杂网络能力的扩散速度之快,以及商业间谍软件市场的活跃程度。
一、发现概述
Google威胁情报小组(GTIG)发现了一款针对苹果iPhone的新型强大漏洞利用工具包,名为”Coruna”。该工具包针对运行iOS 13.0(2019年9月发布)至iOS 17.2.1(2023年12月发布)版本的苹果设备。
Coruna漏洞利用工具包包含五条完整的iOS漏洞利用链,共计23个漏洞。该工具包的核心技术价值在于其全面的iOS漏洞收集,其中最先进的漏洞利用技术采用了非公开的利用技术和缓解措施绕过方法。
# 来源:Google Cloud Blog
Coruna漏洞利用工具包是复杂能力扩散的又一个典型案例。在2025年期间,GTIG追踪了其在高度针对性攻击活动中的使用情况:最初由一家监控供应商的客户使用,随后观察到UNC6353(疑似俄罗斯间谍组织)在针对乌克兰用户的供应链攻击中部署了该工具包,最后在UNC6691(来自中国的金融动机威胁攻击者)的大规模攻击活动中发现了完整的漏洞利用工具包。
这种扩散是如何发生的尚不清楚,但表明”二手”零日漏洞市场非常活跃。除这些已识别的漏洞外,多个威胁攻击者现在已经获得了可重复使用和修改的高级利用技术。
根据Google的披露政策,我们分享此研究以提高业界的安全意识。我们还已将所有已识别的网站和域名添加到Safe Browsing中,以保护用户免受进一步攻击。Coruna漏洞利用工具包对最新版本的iOS无效,强烈建议iPhone用户将设备更新到最新版本的iOS。如果无法更新,建议启用Lockdown Mode以增强安全性。
二、发现时间线
# 来源:Google Cloud Blog
首次发现:商业监控供应商的角色
2025年2月,我们捕获了由监控公司客户使用的iOS漏洞利用链的部分内容。这些漏洞被集成到一个此前未见过的JavaScript框架中,该框架使用了简单但独特的JavaScript混淆技术。
[16, 22, 0, 69, 22, 17, 23, 12, 6, 17].map(x => {return String.fromCharCode(x ^ 101);}).join("")
i.p1=(1111970405 ^ 1111966034);
JavaScript框架使用这些构造来编码字符串和整数。
该框架启动了一个指纹识别模块,收集各种数据点以确定设备是否真实,以及运行的是何种特定iPhone型号和iOS软件版本。根据收集的数据,它加载适当的WebKit远程代码执行(RCE)漏洞利用,然后是指针身份验证代码(PAC)绕过。
# 来源:Google Cloud Blog
当时,我们恢复了交付给运行iOS 17.2设备的WebKit RCE,并确定这是CVE-2024-23222,这是一个此前被识别为零日漏洞的漏洞,Apple在2024年1月22日在iOS 17.3中修补了该漏洞,但未向任何外部研究人员致谢。下图展示了RCE漏洞利用的开头部分,完全按照在野外发现的形式交付。
# 来源:Google Cloud Blog
政府支持的威胁攻击者使用
2025年夏季,我们注意到相同的JavaScript框架托管在cdn.uacounter[.]com上,该网站作为隐藏iFrame加载在许多受感染的乌克兰网站上,涵盖工业设备、零售工具到本地服务和电子商务网站。该框架仅向来自特定地理位置的选定iPhone用户交付。
框架完全相同并交付相同的漏洞利用集。我们收集了WebKit RCE,其中包括CVE-2024-23222、CVE-2022-48503和CVE-2023-43000,然后服务器被关闭。我们提醒并与CERT-UA合作清理了所有受感染的网站。
从中国诈骗网站获取完整漏洞链
年底时,我们在大量与中国金融相关的虚假网站上发现了相同的JavaScript框架,投放了完全相同的iOS漏洞利用工具包。这些网站试图说服用户使用iOS设备访问这些网站,下图取自虚假的WEEX加密货币交易所网站。
# 来源:Google Cloud Blog
通过iOS设备访问这些网站时,无论地理位置如何,都会注入一个隐藏的iFrame来投放漏洞利用工具包。作为示例,下图展示了在3v5w1km5gv[.]xyz上发现的相同CVE-2024-23222漏洞利用。
# 来源:Google Cloud Blog
我们检索了所有混淆的漏洞利用,包括最终有效载荷。经过进一步分析,我们注意到攻击者部署了漏洞利用工具包的调试版本,留下了所有漏洞利用的明文,包括其内部代码名称。正是在那时,我们了解到该漏洞利用工具包在内部可能被称为Coruna。
总共收集了数百个样本,涵盖五条完整的iOS漏洞利用链。该漏洞利用工具包能够针对运行iOS 13.0(2019年9月发布)至iOS 17.2.1(2023年12月发布)的各种iPhone型号。
三、Coruna漏洞利用工具包
围绕漏洞利用工具包的框架设计得非常出色;所有漏洞利用片段自然连接在一起,并使用常见的工具和漏洞利用框架组合在一起。该工具包执行以下独特操作:
-
如果设备处于Lockdown Mode或用户处于私密浏览模式,则退出。 -
使用独特的硬编码Cookie以及生成资源URL的方式。 -
资源通过哈希引用,需要使用 sha256(COOKIE + ID)[:40]派生唯一Cookie来获取其URL。 -
RCE和PAC绕过以未加密形式交付。
该工具包包含一个二进制加载器,用于在WebKit中RCE后加载适当的漏洞利用链。在这种情况下,二进制有效载荷具有独特的元数据,指示它们的真实身份、支持的芯片和iOS版本。
这些有效载荷具有以下特征:
-
具有独特的元数据,指示其真实身份、支持的芯片和iOS版本。 -
从以.min.js结尾的URL提供。 -
使用ChaCha20加密,每个blob使用唯一密钥。 -
打包在自定义文件格式中,以0xf00dbeef作为文件头。 -
使用Lempel-Ziv-Welch(LZW)算法压缩。
下图展示了从网络角度看待运行iOS 15.8.5的iPhone XR感染的情况,图中标注了浏览这些虚假金融网站时的不同部分。
# 来源:Google Cloud Blog
四、漏洞利用及其代码名称
该漏洞利用工具包的核心技术价值在于其全面的iOS漏洞收集。这些漏洞包含大量文档,包括用原生英语编写的文档字符串和注释。最先进的漏洞利用技术采用了非公开的利用技术和缓解措施绕过方法。下表提供了我们 ongoing分析 regarding the various exploit chains的摘要;但是,由于完整调查仍在进行中,某些CVE关联可能会发生变化。总共有23个漏洞,覆盖iOS 13到iOS 17.2.1版本。
| 类型 | 代码名称 | 目标版本(包含) | 修复版本 | CVE |
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Photon和Gallium是利用的漏洞,这些漏洞也是Kaspersky在2023年发现的Triangulation行动中作为零日漏洞使用的漏洞。Coruna漏洞利用工具包还嵌入了可重复使用的模块,以简化上述漏洞的利用。例如,有一个名为rwx_allocator的模块,使用多种技术来绕过各种缓解措施,防止在用户空间分配RWX内存页面。内核漏洞利用还嵌入了各种内部模块,允许它们绕过基于内核的缓解措施,如内核模式PAC。
五、最终有效载荷
在漏洞利用链的末尾,一个名为PlasmaLoader的分阶段二进制文件(由GTIG追踪为PLASMAGRID)使用com.apple.assistd作为标识符,促进与漏洞利用建立的内核组件的通信。该加载器将自己注入powerd,这是一个在iOS上以root身份运行的守护进程。
注入的有效载荷没有表现出我们通常期望从监控供应商那里看到的功能,而是窃取金融信息。该有效载荷可以从磁盘上的图像中解码QR码。它还有一个模块用于分析文本blob,以查找BIP39单词序列或非常特定的关键词,如”backup phrase”或”bank account”。如果在Apple Memos中找到此类文本,它将被发送回C2。
更重要的是,该有效载荷能够远程收集和运行其他模块,从http://<C2 URL>/details/show.html检索配置。配置以及其他模块被打包为受唯一硬编码密码保护的7-ZIP存档。配置以JSON编码,简单地包含模块名称列表及其各自的URL、哈希和大小。
{
"entries":[
{
"bundleId":"com.bitkeep.os",
"url":"http://<C2URL>/details/f6lib.js",
"sha256":"6eafd742f58db21fbaf5fd7636e6653446df04b4a5c9bca9104e5dfad34f547c",
"size":256832,
"flags":{
"do_not_close_after_run":true
}
}
...
]
}
正如预期的那样,绝大多数已识别的模块都表现出统一的设计;它们都放置了用于窃取以下应用程序的加密钱包或敏感信息的函数钩子:
-
com.bitkeep.os -
com.bitpie.wallet -
coin98.crypto.finance.insights -
org.toshi.distribution -
exodus-movement.exodus -
im.token.app -
com.kyrd.krystal.ios -
io.metamask.MetaMask -
org.mytonwallet.app -
app.phantom -
com.skymavis.Genesis -
com.solflare.mobile -
com.global.wallet.ios -
com.tonhub.app -
com.jbig.tonkeeper -
com.tronlink.hdwallet -
com.sixdays.trust -
com.uniswap.mobile
所有这些模块都包含用中文编写的适当日志:
<PlasmaLogger> %s[%d]: CorePayload 管理器初始化成功,尝试启动...
此日志字符串表示CorePayload Manager已成功初始化。
某些注释还包含表情符号,并以可能由LLM生成的方式编写,如下所示:
<PlasmaLogger> %s[%d]: [PLCoreHeartbeatMonitor] ✅ 心跳监控已启动 (端口=0x%x),等待 CorePayload 发送第一个心跳...
网络通信通过HTTPS进行,收集的数据使用AES加密并POST,使用静态字符串的SHA256哈希作为密钥。某些HTTP请求包含其他HTTP标头,如sdkv或x-ts,后跟时间戳。该植入程序包含硬编码的C2列表,但如果服务器没有响应,则有回退机制。该植入程序嵌入了使用字符串”lazarus”作为种子生成可预测域列表的自定义域生成算法(DGA)。这些域将有15个字符,并使用.xyz作为TLD。攻击者使用Google的公共DNS解析器来验证这些域是否处于活动状态。
六、结论
Google一直是Pall Mall进程的坚定参与者,该进程旨在建立共识并推进限制间谍软件行业危害的努力。这些努力建立在早期政府行动的基础上,包括美国政府为限制政府使用间谍软件而采取的措施,以及首次此类国际承诺,以开展类似工作。
七、致谢
我们要感谢Google Project-Zero和Apple Security Engineering & Architecture团队在整个调查过程中的合作。
八、妥协指标(IOC)
文件指标
植入程序
| bundleId | SHA-256 |
|---|---|
|
|
|
模块
| bundleId | SHA-256 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
网络指标
UNC6353指标
| 交付Coruna漏洞利用工具包的URL |
|---|
|
|
UNC6691指标
| 交付Coruna漏洞利用工具包的URL |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| PLASMAGRID C2域名 |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
原文来源:Google Cloud Blog – Google Threat Intelligence Group
引用链接
[1]http://cdn[.]uacounter[.]com/stat[.]html: http://cdn%5B.%5Duacounter%5B.%5Dcom/stat%5B.%5Dhtml
[2]https://ai-scorepredict[.]com/static/analytics[.]html: https://ai-scorepredict%5B.%5Dcom/static/analytics%5B.%5Dhtml
[3]https://m[.]pc6[.]com/test/tuiliu/group[.]html: https://m%5B.%5Dpc6%5B.%5Dcom/test/tuiliu/group%5B.%5Dhtml
[4]http://ddus17[.]com/tuiliu/group[.]html: http://ddus17%5B.%5Dcom/tuiliu/group%5B.%5Dhtml
[5]https://goodcryptocurrency[.]top/details/group[.]html: https://goodcryptocurrency%5B.%5Dtop/details/group%5B.%5Dhtml
[6]http://pepeairdrop01[.]com/static/analytics[.]html: http://pepeairdrop01%5B.%5Dcom/static/analytics%5B.%5Dhtml
[7]https://osec2[.]668ddf[.]cc/tuiliu/group[.]html: https://osec2%5B.%5D668ddf%5B.%5Dcc/tuiliu/group%5B.%5Dhtml
[8]https://pepeairdrop01[.]com/static/analytics[.]html: https://pepeairdrop01%5B.%5Dcom/static/analytics%5B.%5Dhtml
[9]https://ios[.]teegrom[.]top/tuiliu/group[.]html: https://ios%5B.%5Dteegrom%5B.%5Dtop/tuiliu/group%5B.%5Dhtml
[10]https://i[.]binaner[.]com/group[.]html: https://i%5B.%5Dbinaner%5B.%5Dcom/group%5B.%5Dhtml
[11]https://ajskbnrs[.]xn--jor0b302fdhgwnccw8g[.]com/gogo/list[.]html: https://ajskbnrs%5B.%5Dxn--jor0b302fdhgwnccw8g%5B.%5Dcom/gogo/list%5B.%5Dhtml
[12]https://sj9ioz3a7y89cy7[.]xyz/list[.]html: https://sj9ioz3a7y89cy7%5B.%5Dxyz/list%5B.%5Dhtml
[13]https://65sse[.]668ddf[.]cc/tuiliu/group[.]html: https://65sse%5B.%5D668ddf%5B.%5Dcc/tuiliu/group%5B.%5Dhtml
[14]https://sadjd[.]mijieqi[.]cn/group[.]html: https://sadjd%5B.%5Dmijieqi%5B.%5Dcn/group%5B.%5Dhtml
[15]https://mkkku[.]com/static/analytics[.]html: https://mkkku%5B.%5Dcom/static/analytics%5B.%5Dhtml
[16]https://dbgopaxl[.]com/static/goindex/tuiliu/group[.]html: https://dbgopaxl%5B.%5Dcom/static/goindex/tuiliu/group%5B.%5Dhtml
[17]https://w2a315[.]tubeluck[.]com/static/goindex/tuiliu/group[.]html: https://w2a315%5B.%5Dtubeluck%5B.%5Dcom/static/goindex/tuiliu/group%5B.%5Dhtml
[18]https://ose[.]668ddf[.]cc/tuiliu/group[.]html: https://ose%5B.%5D668ddf%5B.%5Dcc/tuiliu/group%5B.%5Dhtml
[19]http://cryptocurrencyworld[.]top/details/group[.]html: http://cryptocurrencyworld%5B.%5Dtop/details/group%5B.%5Dhtml
[20]https://iphonex[.]mjdqw[.]cn/tuiliu/group[.]html: https://iphonex%5B.%5Dmjdqw%5B.%5Dcn/tuiliu/group%5B.%5Dhtml
[21]http://goodcryptocurrency[.]top/details/group[.]html: http://goodcryptocurrency%5B.%5Dtop/details/group%5B.%5Dhtml
[22]https://share[.]4u[.]game/group[.]html: https://share%5B.%5D4u%5B.%5Dgame/group%5B.%5Dhtml
[23]https://26a[.]online/group[.]html: https://26a%5B.%5Donline/group%5B.%5Dhtml
[24]https://binancealliancesintro[.]com/group[.]html: https://binancealliancesintro%5B.%5Dcom/group%5B.%5Dhtml
[25]https://4u[.]game/group[.]html: https://4u%5B.%5Dgame/group%5B.%5Dhtml
[26]http://bestcryptocurrency[.]top/details/group[.]html: http://bestcryptocurrency%5B.%5Dtop/details/group%5B.%5Dhtml
[27]https://b27[.]icu/group[.]html: https://b27%5B.%5Dicu/group%5B.%5Dhtml
[28]https://h4k[.]icu/group[.]html: https://h4k%5B.%5Dicu/group%5B.%5Dhtml
[29]https://so5083[.]tubeluck[.]com/static/goindex/group[.]html: https://so5083%5B.%5Dtubeluck%5B.%5Dcom/static/goindex/group%5B.%5Dhtml
[30]https://seven7[.]vip/group[.]html: https://seven7%5B.%5Dvip/group%5B.%5Dhtml
[31]https://y4w[.]icu/group[.]html: https://y4w%5B.%5Dicu/group%5B.%5Dhtml
[32]https://7ff[.]online/group[.]html: https://7ff%5B.%5Donline/group%5B.%5Dhtml
[33]https://cy8[.]top/group[.]html: https://cy8%5B.%5Dtop/group%5B.%5Dhtml
[34]https://7uspin[.]us/group[.]html: https://7uspin%5B.%5Dus/group%5B.%5Dhtml
[35]https://seven7[.]to/group[.]html: https://seven7%5B.%5Dto/group%5B.%5Dhtml
[36]https://4kgame[.]us/group[.]html: https://4kgame%5B.%5Dus/group%5B.%5Dhtml
[37]https://share[.]7p[.]game/group[.]html: https://share%5B.%5D7p%5B.%5Dgame/group%5B.%5Dhtml
[38]https://www[.]appstoreconn[.]com/xmweb/group[.]html: https://www%5B.%5Dappstoreconn%5B.%5Dcom/xmweb/group%5B.%5Dhtml
[39]https://k96[.]icu/group[.]html: https://k96%5B.%5Dicu/group%5B.%5Dhtml
[40]https://7fun[.]icu/group[.]html: https://7fun%5B.%5Dicu/group%5B.%5Dhtml
[41]https://n49[.]top/group[.]html: https://n49%5B.%5Dtop/group%5B.%5Dhtml
[42]https://98a[.]online/group[.]html: https://98a%5B.%5Donline/group%5B.%5Dhtml
[43]https://spin7[.]icu/group[.]html: https://spin7%5B.%5Dicu/group%5B.%5Dhtml
[44]https://t7c[.]icu/group[.]html: https://t7c%5B.%5Dicu/group%5B.%5Dhtml
[45]https://7p[.]game/group[.]html: https://7p%5B.%5Dgame/group%5B.%5Dhtml
[46]https://lddx3z2d72aa8i6[.]xyz/group[.]html: https://lddx3z2d72aa8i6%5B.%5Dxyz/group%5B.%5Dhtml
[47]https://anygg[.]liquorfight[.]com/88k4ez/group[.]html: https://anygg%5B.%5Dliquorfight%5B.%5Dcom/88k4ez/group%5B.%5Dhtml
[48]https://goanalytics[.]xyz/88k4ez/group[.]html: https://goanalytics%5B.%5Dxyz/88k4ez/group%5B.%5Dhtml
[49]http://land[.]77bingos[.]com/88k4ez/group[.]html: http://land%5B.%5D77bingos%5B.%5Dcom/88k4ez/group%5B.%5Dhtml
[50]https://land[.]bingo777[.]now/88k4ez/group[.]html: https://land%5B.%5Dbingo777%5B.%5Dnow/88k4ez/group%5B.%5Dhtml
[51]http://land[.]bingo777[.]now/88k4ez/group[.]html: http://land%5B.%5Dbingo777%5B.%5Dnow/88k4ez/group%5B.%5Dhtml
[52]http://land[.]777bingos[.]xyz/88k4ez/group[.]html: http://land%5B.%5D777bingos%5B.%5Dxyz/88k4ez/group%5B.%5Dhtml
[53]https://btrank[.]top/tuiliu/group[.]html: https://btrank%5B.%5Dtop/tuiliu/group%5B.%5Dhtml
[54]https://dd9l7e6ghme8pbk[.]xyz/group[.]html: https://dd9l7e6ghme8pbk%5B.%5Dxyz/group%5B.%5Dhtml
[55]https://res54allb[.]xn--xkrsa0078bd6d[.]com/group[.]html: https://res54allb%5B.%5Dxn--xkrsa0078bd6d%5B.%5Dcom/group%5B.%5Dhtml
[56]https://fxrhcnfwxes90q[.]xyz/group[.]html: https://fxrhcnfwxes90q%5B.%5Dxyz/group%5B.%5Dhtml
[57]https://kanav[.]blog/group[.]html: https://kanav%5B.%5Dblog/group%5B.%5Dhtml
[58]https://3v5w1km5gv[.]xyz/group[.]html: https://3v5w1km5gv%5B.%5Dxyz/group%5B.%5Dhtml













暂无评论内容