导语:18,280次访问、7台真实受害设备、完整的多阶段利用链——这是Coruna(科鲁纳)iOS漏洞利用套件泄漏出来的C2(命令与控制)后台截图。不是某次理论推演,是攻击者亲眼看着自己战果的实时面板。MyCERT(马来西亚计算机应急响应小组)公告把它当成"钓鱼站",实际上这是针对iPhone的完整设备攻陷链——Safari打开一个伪装旅游站点的页面,就能让攻击者拿到钥匙串、WiFi密码、通话记录、短信、照片和持久化后门。

一、事件概述
2026年9月3日,西班牙安全研究员Germán Fernández(赫尔曼·费尔南德斯)公开了一张Coruna iOS漏洞利用套件的C2后台截图。这套套件不是某个挖出来的零散漏洞,而是商业级多阶段浏览器利用框架,代号"科鲁纳"(Coruna),与另一个名为"暗剑"(DarkSword)的套件共享底层工具链。
背景信源来自道格拉斯·穆恩(Douglas Mun)2026年8月30日发布的CTI报告《parkpeark.xyz Lure and Multi-Stage iOS Exploitation Chain》(TLP:CLEAR)。该报告配套引用了马来西亚CERT(MyCERT)于8月底发布的官方警告(公告ID c318bf87-726c-4252-99c8-b670af964f71)。
报告里几个让人后背发凉的事实:
- 攻击载体是 parkpeark.xyz ——一个克隆自马来西亚霹雳州旅游品牌"Park@Perak"的钓鱼站。但它根本没收集任何账号密码,唯一的恶意载荷是一行隐藏的1×1像素 iframe。
- iframe 指向
gk9p1becso5e.2ws3ed4rf5tgy.com 这个完全独立的载荷分发主机——注册时间是8月1日,比钓鱼域名(8月25日)还早24天。这意味着攻击者先有平台,后挂诱饵。
- urlscan.io 与 Google Safe Browsing 对载荷域名双双判白——主流信誉服务对这个活跃的零日投递基础设施毫无感知。
- 中招的 iPhone 只要开着标签页不关,每60秒自动重新加载一次——被反复攻击。
- 攻击链终点不是浏览器沙盒,而是持久化植入——离开页面后后门仍存活。
二、多阶段攻击链拆解
完整的攻击路径,按攻击者视角:
iPhone → Safari访问parkpeark.xyz
↓
隐藏iframe加载载荷分发主机
↓
【第一层:服务端UA过滤】——iOS 17.4直接拒绝下发
↓
【第二层:客户端版本分发】——iOS ≥18.4走Branch B,其他走Branch A
↓
Branch A(已分析):6道反分析闸门
- WebDriver检测
- 桌面Safari排除
- 隐私浏览探测(IndexedDB Blob)
- 无头/模拟器检测(WebRTC+WebGL+MathML三重探针)
- 版本下限(JSC版本≥130000)
- 5秒超时
↓
通过闸门 → 散列寻址模块加载器(SHA256(盐+模块ID)[:40] + ".js")
↓
JavaScriptCore内存探测(读Mach-O头部cputype,区分arm64/x86_64)
↓
JSC结构混淆(twin Reflect.construct对象 + 结构转移)→ addrof/fakeobj原语
↓
WebAssembly后端任意64位读写 + PAC(指针认证码)剥离
↓
【Branch B未取回】——iOS ≥18.4分支疑似对应DarkSword模块
↓
【MyCERT公布的组件表(§9.1a)】——12个组件:
沙盒逃逸 → 内核权限提升 → 植入体 → 二级加载器 → 二级载荷
↓
持久化驻留
2.1 两个值得红队标注的硬伤
第一,反分析是教科书级别。六道闸门里最阴的是 MathML 渲染断言——<mrow mathcolor="blue"> 必须被浏览器渲染为 rgb(0, 0, 255),否则视为无头环境。这东西纯 DOM 抓取根本检测不到,必须用真正的 Safari 内核渲染才能验证。
第二,无磁盘痕迹。所有模块通过 new Function(remoteText)() 在内存里执行,Worker 从 blob URL 加载后同 tick 立即 revokeObjectURL——取证工程师去翻受害手机的硬盘,找不到任何 exploit 文件。这意味着"开机扫描没发现异常"不等于"没被攻陷"。证据只可能在网络层。
三、C2面板:真实受害者数据曝光
赫尔曼·费尔南德斯贴出的四张截图(图中 IP 与设备 UUID 已脱敏,红色遮罩由他加上),还原了攻击者视角下的"战果"。这是红队梦寐以求、却又不可能合法获取的情报。
3.1 仪表盘视图

仪表盘("Coruna 管理控制后台")显示:总访问量18,280、总设备数7、在线设备0、待执行命令9。右侧"窃取数据分类"饼图清晰标出四类目标:cookies、data_payload、exploit_report、sandbox。
"最近窃取数据"列表里全是 exploit_report 条目,设备前缀 ios-8c45...、ios-6949...、ios-97cf...——7天内的实时窃取记录。
3.2 受害设备清单

7台设备的具体画像全部暴露:
| 设备UUID |
系统 |
机型 |
Safari版本 |
WebKit版本 |
| ios-8c45… |
iOS 16.6 |
iPhone A13/A14/A15 |
v16.6 |
604.1 |
| ios-6949… |
iOS 16.6 |
iPhone A13/A14/A15 |
v16.6 |
604.1 |
| ios-97cf… |
iOS 18.6 |
iPhone A15/A16/A17 Pro |
v18.6 |
605.x |
| ios-f334… |
iOS 16.6 |
iPhone A13/A14/A15 |
v16.6 |
604.1 |
| dev-b7b7… |
Win32 |
— |
Safari (WebKit 537.36) |
537.36 |
| dev-654e… |
Win32 |
— |
Safari (WebKit 537.36) |
537.36 |
| dev-f74e… |
Win32 |
— |
Safari (WebKit 537.36) |
537.36 |
四台真机、三台 Windows 开发机——后者是攻击者自己用来测试 payload 和调试 exploit 链路的机器(暴露出来等于送情报)。iOS 16.6 与 18.6 都有受害者,说明 Branch A 和 Branch B 都在野外活跃。
3.3 单设备深度视图(iOS 18.6那台)

这台设备的进度条显示"利用进度70%",对应"已利用"——攻击者已经把控住。五个阶段被点亮:
| 阶段 |
状态 |
| 设备上线 |
✅ |
| 漏洞页面访问 |
✅ |
| 链加载执行 |
✅ |
| 沙箱逃逸(stage3) |
✅ |
| 后渗透运行 |
✅ |
访问日志里能读到关键帧:
[EXPLOIT] exploit_status=success
[EXFIL SANDBOX] browser_profile
[EXFIL COOKIES] document_cookies
[EXFIL DATA_PAYLOAD] category: cookies path: /exfil/cookies_document.txt
"窃取数据"标签栏里完整列出可窃取的类型:沙箱数据、Keychain、WiFi、通话录、短信、照片、文件、钱包、Cookies——iPhone 用户最值钱的数据全部在列。
3.4 设备访问日志特写

这是另一台受害 iOS 18.6.1 设备(设备 UUID 已脱敏)的访问日志特写,页面顶部能看到完整的 User-Agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_1 like Mac OS X)
AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6
Mobile/15E148 Safari/604.1
日志汇总统计:HTTP 47、CMD 0、EXFL 4、IOS 0、ERR 0、WARN 0、OK 5——零命令下发、零错误、四次数据外发。
按时间线逐帧拆解(已脱敏设备ID):
| 时间 (UTC) |
事件 |
类型 |
| 08-28 16:17:56 |
POST /upload |
HTTP |
| 08-28 16:17:59 |
POST /report |
HTTP |
| 08-28 16:18:01 |
POST /upload (×2) |
HTTP |
| 08-29 13:18:43 |
POST /report + 设备首次上线/注册 |
HTTP/DEV |
| 08-29 13:18:43 |
[EXFIL EXPLOIT_REPORT] {"result": 1001, "ios_version": "18.6", "device_model": "iPhone", "language": null} |
EXPL |
| 08-29 13:18:51 |
[EXFIL SANDBOX] browser_profile |
EXFL |
| 08-29 13:18:52 |
[EXFIL COOKIES] document_cookies |
EXFL |
| 08-29 13:18:52 |
最近心跳(离线) |
DEV |
| 08-29 13:18:52 |
[EXFIL DATA_PAYLOAD] {"category":"cookies","path":"/exfil/cookies_document.txt","description":"document_cookies"} |
EXFL |
这帧日志最有价值的一条信息是 result: 1001。对照 CTI 报告 §8.11 的失败码定义:
| 失败码 |
含义 |
| 0 |
完整链路成功 |
| 1000 |
通用失败 |
| 1001 |
JSC版本不在obset数据库范围内 |
| 1003 |
隐私浏览/模拟器被识别 |
也就是说,iOS 18.6.1 这台设备走的是 Branch A(obset 数据库最高只覆盖到 Safari 17.3),但 iOS 18.6 明显在 Branch A 的射程之外——结果就是 exploit_status=1001(失败)。但面板仍然显示沙箱数据(browser_profile)和 Cookies 被外发成功。
红队视角下,这暴露了 Coruna 框架一个重要设计取舍:即使主 exploit 链路失败,浏览器层面的信息收割(沙箱 profile、document cookies)也会被独立外发。换句话说,攻击者不需要完整设备攻陷,也能拿到受害者的 Safari 浏览指纹和已登录网站的 cookies——这对受害者的二次伤害(账号接管)依然成立。
这也解释了为什么攻击者对 Branch B(iOS ≥18.4)的投入如此坚决——主链对最新 iOS 版本已经失效,必须靠分支 B 接续。
四、影响评估与防御建议
4.1 MyCERT把严重性说轻了
MyCERT 公告把 parkpeark.xyz 归类为"钓鱼站"。红队视角看,这是典型的低报——站点本质是 watering hole(水坑攻击),目的不是骗用户输入密码,而是让用户的 Safari 多停留几秒钟,等隐藏 iframe 走完完整的设备攻陷链。一个普通旅游站点的克隆,换来的是对方钥匙串和短信验证码。
4.2 为什么信誉服务全线失效
urlscan.io 与 Google Safe Browsing 对 gk9p1becso5e.2ws3ed4rf5tgy.com 这个正在投递 exploit 的活跃基础设施双双给出 clean verdict。根因有三个:
- Cloudflare 代理遮蔽真实源站,信誉扫描只看到边缘
- 实际 payload 用
Math.random() 随机查询参数,URL 层面每次都"不一样"
- 关键 exploit stage 只在内存执行、blob URL 同 tick 撤销,磁盘零痕迹
靠信誉评分来防御这种威胁,等于没防。
4.3 设备与用户侧建议
- 第一时间更新 iOS——Coruna 的 obset(偏移量)数据库覆盖 Safari 10.0 到 17.3,Branch B 声称覆盖到 18.4+,所有在用 iPhone 都暴露在潜在射程内
- 高风险用户启用 iOS 锁定模式(Lockdown Mode)——它会禁用 JavaScriptCore 的 JIT(即时编译)编译器,而 Coruna 的 exploit 链强依赖 JIT 推测优化(详见 CTI 报告 §8.8 的 JIT warm-up)。锁定模式直接打掉攻击链的关键前提
- Safari 标签页不要闲置——60 秒自动重载意味着只要标签开着,每分钟都在被攻击。离开页面就关闭
- 检查是否访问过 parkpeark.xyz——凡加载过该域名的 iOS 设备,按已失陷处理,不要再纠结"有没有中毒"
4.4 蓝队/防御工程建议
- DNS 和代理层封禁:
parkpeark.xyz、*.2ws3ed4rf5tgy.com、suk.hypepressobot.com 全屏蔽
- 行为特征告警:1×1 隐藏 iframe(
left:-9999px; opacity:0.01)+ 跨域随机标签子域名 + 60 秒 location.reload() 循环 + sessionStorage 键 _rt
- 出站请求匹配:
?e= 后跟 3-4 位数字(成功0/失败1001/1003)的 GET 请求到新注册域名
- CSP策略——禁用
unsafe-eval,因为所有 stage 之后模块都通过 new Function() 执行,CSP 违规会在第3阶段就触发,比任何内存破坏尝试都早
4.5 给CTI圈的提示
道格拉斯·穆恩的报告已经把"商业级 exploit-as-a-service"的完整画像摊开——这套框架支撑了至少两个公开活动(parkpeark.xyz 与 yjwh8.shop),共享 DarkSword/Coruna 家族命名。Branch B(iOS ≥18.4分支)尚未被公开取回,是当前最大的情报缺口。抓到 Branch B,就等于拿到攻击者对当前 iOS 的实战能力证明。
五、写在最后
C2 面板被攻击者自己或者研究界泄露出来,本质上是攻击者的失败。能从一面仪表盘上读出 18,280 次访问、7 台真机、Keychain/WiFi/短信/照片全菜单可窃,说明:
- 攻击者对单次行动的"留痕"管理松懈了
- 或者攻击基础设施已经存在足够久,长到被渗透/被发现/被截图
无论哪种,这都是情报分析师和蓝队难得的窗口。C2 面板截图不是故事结尾,是调查的起点——拿这个 IOC 列表去企业 DNS 日志里跑一遍,比任何威胁情报订阅都管用。
红队的视角下,Coruna 框架暴露的不是某个具体 CVE,而是一整套 iOS 设备持久化攻陷的工业级方法论。从 Branch A 到 Branch B、从 WebKit RCE 到植入体,每一步都对应着苹果这些年加固防御的失败点。这件事值得苹果安全团队认真复盘。对移动端漏洞利用链分析感兴趣的读者,欢迎到 云栈社区 查阅更多安全研究报告与 IOC 数据。
版权声明:本文由华盟网原创发布,保留所有权利。C2 面板截图由 Germán Fernández 公开提供,配图由华盟网授权使用。