无感入侵iPhone,接管钱包盗U,闲鱼疑似在售"

admin 2026-11-04 00:37:08 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

无感入侵 iPhone,接管钱包盗U,闲鱼疑似在售

原创

网络安全透视镜
网络安全透视镜

网络安全透视镜

2026年11月2日 17:51
江苏

去阅读

一套黑产专用的 iOS 定向入侵与数据窃取系统,疑似在闲鱼上出售。

2026 年 3 月 18 日,Google 威胁情报组、Lookout、iVerify 三家机构联合公开披露了一套名为 DarkSword 的 iOS 全链利用工具包,披露材料中的攻击面与本文涉及的源码高度吻合。10 月,Censys 发布调查报告,指出一套以该工具包为基础的 exploitation-as-a-service 平台正在运营,其生产服务器上运行的文件组合与本文审计对象一致。

本文看点

01

六步链条拆解:利用了哪些漏洞

02

三步未认证接管 C2 后台

03

市场定价与传播路径

01

ARCHITECTURE

系统构成:三段式架构

整套系统由三个部分组成:

PART 01exploit\_server.py(漏洞投递服务,默认 0.0.0.0:7070)

向目标 iPhone 投递 Safari 浏览器漏洞利用链,实现「点开一条链接即可入侵」。

PART 02admin/(C2 管理后台,FastAPI/uvicorn,默认 7000)

负责设备管理、命令下发、窃取数据回传查看、多代理分级运营与审计。

PART 03payloads/(载荷库)

按 iOS 版本分组的二进制利用载荷(.dylib/.bin),对应 Stage1→Stage2→Stage3 利用链。

分工明确:payloads 提供利用载荷,exploit\_server 负责投递,admin 承担设备管理与数据回传。

exploit\_server 直接继承自 Python 标准库的 SimpleHTTPRequestHandler,并在此基础上实现了对项目根目录的无鉴权文件读取。

— 后台仪表盘:漏洞设备、已控设备、待控设备统计,以及近 7 天请求趋势与窃取数据分类

02

KILL CHAIN

落地即受控

攻击链的触发条件

受害者需要做的动作只有一个:用 Safari 访问一条投递链接。

落地页形态为 /ch/?tpl=,slug 来自投放渠道与模板。页面加载后无需感知、无需授权,Safari 侧的漏洞利用链即自动触发。设备随后回连 C2 并注册为受控设备,此后由管理员远程下发命令、提取数据。

关键词在于「自动触发」。整个过程不存在点击授权、不弹出提示框、无系统通知,iOS 的安全模型在这条链路上未起到拦截作用。

版本覆盖范围

基于本套源码及其他多套同款源码的分析,其支持的 iOS 版本与入侵时效如下:

访问 10–15 秒即可受控:

iOS 13:13.0、13.1、13.1.1、13.1.2、13.1.3、13.2、13.2.2、13.2.3、13.3、13.3.1、13.4、13.4.1、13.5、13.5.1、13.6、13.6.1、13.7

iOS 14:14.0、14.0.1、14.1、14.2、14.2.1、14.3、14.4、14.4.1、14.4.2、14.5、14.5.1、14.6、14.7、14.7.1、14.8、14.8.1

iOS 15:15.0、15.0.1、15.0.2、15.1、15.1.1、15.2、15.2.1、15.3、15.3.1、15.4、15.4.1、15.5、15.6、15.6.1、15.7、15.7.1、15.7.2、15.7.3、15.7.4、15.7.5、15.7.6、15.7.7、15.7.8、15.8、15.8.1、15.8.2、15.8.3、15.8.4、15.8.5、15.8.6

iOS 16:16.0、16.0.1、16.0.2、16.0.3、16.1、16.1.1、16.1.2、16.2、16.3、16.3.1、16.4、16.4.1、16.5、16.5.1、16.6、16.6.1、16.7、16.7.1、16.7.2、16.7.3、16.7.4

iOS 17:17.0、17.0.1、17.0.2、17.0.3、17.1、17.1.1、17.1.2、17.2、17.2.1

访问 1–3 分钟可受控:

iOS 18:18.5、18.6、18.6.1、18.6.2、26.0.1、26.0.2、26.1.0

共 100 个系统版本,覆盖 iOS 13 至 iOS 26 世代,构成一张面向主流在用设备的网。

REFERENCE

该列表中的 26.0.2 与 26.1.0 在 Apple 官方发布历史中并不存在——Apple 的版本序列为 26.0 → 26.0.1 → 26.1,其间无 26.0.2,补丁号亦不写作 26.1.0。这表明黑产维护的 SUPPORTED\_IOS\_VERSIONS 为人工更新,未从 Apple 发布源自动同步。

支持窃取的加密货币钱包

共 19 个主流加密钱包在覆盖范围内:Bitget Wallet、Coin98、Coinbase Wallet、Exodus、Krystal、MetaMask、MyTonWallet、Phantom、Ronin、Solflare、Tonhub、Tonkeeper、TronLink、Uniswap、OKX、Bitpie、imToken、TokenPocket、Trust Wallet。

设备受控后,后台可自动化完成无感盗取虚拟货币。

100

个 iOS 版本在射程内

19

个主流加密钱包可被扫走

21

类远程命令可被下发

03

EXPLOIT

漏洞构成与利用原理

上述横跨 iOS 13 至 26 的版本覆盖,对应的并非一条利用链,而是两条独立利用链的组合。

两条链的分工

\\Coruna\\ \\DarkSword\\
覆盖版本 iOS 13.0 – 17.2.1 iOS 18.4 – 18.7
漏洞规模 5 条完整链、23 个 exploit 6 个 CVE,其中 3 个当时为 0day
首次公开 2026-03-03(Google GTIG) 2026-03-18/19(GTIG + Lookout + iVerify)
内部代号 debug 版本泄露的 exploit 名称 implant 常量 DarkSword-WIFI-DUMP

源码中 exploit\_server.py 的注释写明「支持 iOS 13.0 ~ 17.2」,与 Coruna 的覆盖区间一致。「暗剑」一词则来自 DarkSword 载荷中的常量,该字符串在 mediaplaybackd 的统一日志中以 [DarkSword-WIFI-DUMP]、[CHAIN]、[MAIN] 形式出现。

前述两组不同的入侵耗时由此得到解释:iOS 13 至 17 使用 Coruna 链——5 条链、23 个 exploit 覆盖多个版本区间,预置利用 worker 数量多,命中即中,耗时 10–15 秒;iOS 18 使用披露较晚的 DarkSword——18.x 的 worker 仅适配 18.4、18.6、18.7 三档,且需先跨越 GPU 沙箱再触及内核,耗时 1–3 分钟。

DarkSword 的六步链条

CVE 组件 在链中的作用 修复版本
CVE-2025-31277 JavaScriptCore JIT(RegExp 类型混淆) iOS 18.4–18.5 的 WebContent 远程代码执行 iOS 18.6
CVE-2025-43529 JSC DFG JIT 释放后重用 iOS 18.6–18.7.2 的 WebContent 远程代码执行 iOS 18.7.3 / 26.2
CVE-2026-20700 dyld 动态链接器 绕过用户态 PAC 与 TPRO,将内存读写转化为代码执行 iOS 26.3(后回补 18.7.7)
CVE-2025-14174 ANGLE / WebGL 越界写 WebContent 沙箱 → GPU 进程 iOS 18.7.3 / 26.2
CVE-2025-43510 AppleM2ScalerCSCDriver 写时复制缺陷 GPU 进程 → mediaplaybackd iOS 18.7.2 / 26.1
CVE-2025-43520 XNU 内核虚拟文件系统竞态 内核提权,获得内核读写 iOS 18.7.2 / 26.1

完整路径为:Safari 渲染恶意页面 → JSC JIT 内存破坏获得 WebContent 进程任意读写 → 借 dyld 缺陷绕过 PAC 获得任意代码执行 → 经 ANGLE 逃出 WebContent 沙箱进入 GPU 进程 → 再经驱动缺陷进入 mediaplaybackd → 最终以内核竞态获得内核读写。

为何绕行 GPU 而非直取内核

Safari 的 WebContent 沙箱在 iOS 18 上限制严格,可触达的内核攻击面很窄。利用链先通过 ANGLE(WebGL 的图形抽象层)越界写进入 GPU 进程,但 GPU 进程权限有限,再借 AppleM2ScalerCSCDriver 的写时复制缺陷进入 mediaplaybackd。

mediaplaybackd 被选中的原因在于其权限范围显著更大:可加载框架(关键能力是能够将 JavaScriptCore 运行时直接载入其中继续执行 JS exploit),可访问 IOKit user-client 与 IOSurface handle。同时 DarkSword 的日志与数据暂存例程即运行于此进程,与统一日志中 [DarkSword-\*] 字符串的出现位置吻合。

REFERENCE

该路径的特点是全程使用 JavaScript,无需加载未签名 Mach-O 二进制,也因此不必单独处理 PPL/SPTM 两道内核缓解措施。

PAC 与 TPRO:绕过对象与原因

PAC(Pointer Authentication Codes) 是 ARM64e 与 Apple Silicon 上的硬件级指针完整性机制:函数指针写入内存前以进程密钥签名(pacia/pacib),装载与调用时校验签名。其设计意图是即便攻击者获得任意内存写,也无法伪造可被调用的函数指针。

绕过的必要性由此而来:获得 WebContent 进程任意读写之后,后续动作是 ROP、跳转至 vm\_map\_copy\_overwrite、signPointer 等系统函数。缺少 PAC 绕过,任意写仅能修改数据,无法改变控制流,利用链即在此中断。

CVE-2026-20700 位于 dyld,其内部敏感结构处于可写栈内存中,改写该结构可使 TPRO(Trusted Path Read-Only) 失效,进而伪造出带合法 PAC 签名的指针;同时通过线程状态操纵再绕过 SPRR(系统页只读区寄存器)与 JIT Cage(限制 JIT 代码执行区)两道缓解。

REFERENCE

Apple 官方公告对该漏洞的表述为「dyld / 内存破坏 / 改进了状态管理」,未出现 PAC 绕过或 TPRO 字样,上述定性出自 iVerify 与 GTIG 的技术分析。

内核提权:VFS 中的竞态条件

CVE-2025-43520 被 GTIG 定性为「XNU 虚拟文件系统实现中的内核态竞态条件」,可构造出物理内存与虚拟内存的读写原语。

安全研究者复原的机理模型如下:XNU 路径解析 lookup() 是 XNU 中最古老的大块代码之一,依赖 per-vnode 锁与一套手工协议在长操作间升降锁级。典型的 TOCTOU 形态为——解析路径取得 vnode(持 iocount)→ 加锁校验某属性并通过 → 释放锁执行阻塞动作(内存分配、copyin、文件系统 callout、路径重解析)→ 重新取锁后却沿用此前那次校验的结果。若在窗口期内并发触发 unmount/unlink/rename,使 vnode 引用计数归零被回收,则路径上持有的指针成为悬垂指针,进而获得内核任意读写。

REFERENCE

该复原模型为安全研究者的审计推演,并非对 DarkSword 实现的还原——具体脆弱函数、消息几何与 vnode 操作序列均未公开。可参考的同类先例包括 P0-2361 与 2017 年的一批 TOCTOU 综述。

获得内核读写之后,可读取任意进程内存、篡改 AMFI 信任状态使未签名代码通过校验、绕过 PPL、修改信任缓存以实现持久化。对该系统而言,此步骤的直接意义是:钥匙串(Keychain)自此可读,而钥匙串内存储有各类 App 的账号密码、证书与私钥。

iOS 13 至 17 部分的 Coruna

Coruna 的披露时间更早,一度被称为国家级 iOS 利用工具箱,其结构与 DarkSword 属同一技术路线:

Stage 1(WebKit RCE)

Buffout、Jacurutu、Bluebird、Terrorbird、Cassowary,产出 fakeobj/addrof 原语

Stage 1.5(PAC 绕过)

Breezy、Seedbell,手法为内联构造 306 字节的 WebAssembly 模块、劫持 dispatch 指针,再替换系统框架的 GOT 条目

Stage 2(沙箱逃逸)

IronLoader、NeuronLoader

Stage 3(内核提权)

Neutron、Dynamo、Pendulum、Photon、Parallax、Gruber

Stage 3.5(PPL 绕过)

Quark、Gallium、Carbone、Sparrow、Rocket

其中 landa 即 CVE-2023-41974,一个物理释放后重用(PUAF)漏洞,出自 FBi 的开源提权框架 kfd。其关键限制在于仅对 App Sandbox 可达、WebContent 沙箱不可达,这正是 Coruna 必须单独准备沙箱逃逸组件的原因。

链条末端为 PlasmaLoader(GTIG 追踪名 PLASMAGRID),注入具备 root 权限的 powerd 守护进程,按 bundle ID 从 C2 拉取模块。GTIG 在其 manifest 中发现18 个加密钱包 App的窃取模块,并发现其会扫描备忘录中的 BIP-39 助记词与「backup phrase」「bank account」等关键词,对目标 App 植入函数 hook 以窃取凭据。

REFERENCE

两个工具包在注入目标上的选择不同:Coruna 由最初的 powerd 迁移至 watchdogd;DarkSword 则以 SpringBoard 为主协调器,configd 运行 keychain\_copier,wifid 导出 WiFi 密码,UserEventAgent 抓取 iCloud 数据,launchd 作为跨进程 TaskROP 目标。

运行模式:hit-and-run

DarkSword 全链使用 JavaScript 实现。不注入 Mach-O 库,不做持久化,取得内核读写后将数据暂存至 /private/var/tmp/,提取完成后删除,DiagnosticReports/ 中的崩溃日志亦被清除。

研究界将此类模式称为 hit-and-run:在数分钟内提取目标设备上价值最高的数据后干净退出,重启一次设备后痕迹基本消失。与 Pegasus 一类长期驻留形态相比,留存的取证材料更少。

不驻留同样意味着可被反复使用——用完即弃,不留证据,也不留痕迹。

04

CODE AUDIT

源码审计:C2 后台的三处设计缺陷

对该 C2 后台进行源码审计后,可确认三处设计缺陷。

静态文件直读

DarkSwordHandler 继承 SimpleHTTPRequestHandler,实现了对项目根目录任意文件的无鉴权直读。关键代码:

python

exploit\_server.py

def \_try\_serve\_static\_file(self, rel\_path: str) -> bool:

rel = sanitize\_path(rel\_path)

if not rel:

rel = \"index.html\"

candidates = []

candidates.append(PAYLOADS\_DIR / rel) # server/payloads/

candidates.append(PROJECT\_ROOT / rel) # server/ ← 任意文件

for candidate in candidates:

...

if resolved.exists() and resolved.is\_file():

with open(resolved, \"rb\") as f:

data = f.read()

... # 直接返回文件内容

return True

return False

def do\_GET(self) -> None:

...

rel = norm\_log.lstrip(\"/\")

# 直接命中:GET /payloads/manifest.json、/admin/.env、/darksword.db、/admin/config.py

if self.\_try\_serve\_static\_file(rel):

return

# 还通过 /ch/、/if/、/t/ 三段式兜底直读

if (norm\_log.startswith(\"/ch/\") or norm\_log.startswith(\"/if/\") or norm\_log.startswith(\"/t/\")):

\_parts = norm\_log.split(\"/\", 2)

if len(\_parts) >= 3 and \_parts[2]:

\_candidate\_rel = \_parts[2]

if \".\" in \_candidate\_rel: # 含扩展名即尝试

if self.\_try\_serve\_static\_file(\_candidate\_rel):

return

由于 PROJECT\_ROOT / rel 直接做文件拼接与存在性检查,且未对 .env、\.py、\.db 等敏感文件设置拒绝名单,server/ 目录下的任意文件均可被无认证读取。

sanitize\_path 会剥离 ../,但目标文件本就位于项目根内,无需路径穿越即可命中(如 /admin/.env、/darksword.db)。

JWT 签发信任随包密钥

config.py 从 admin/.env 读取 SECRET\_KEY,仅将 {\"darksword\_secret\_key\_change\_me\", \"change\_me\", \"secret\", \"\"} 等弱值列入黑名单。若部署时沿用随包 .env,该随机密钥即对外泄露。

auth.py 的 get\_current\_user 校验逻辑:

python

payload = jwt.decode(resolved, SECRET\_KEY, algorithms=[ALGORITHM]) # 仅验签 + exp

if payload.get(\"type\") == \"agent\": # 只拒绝 agent 类型

raise cred\_exc

username: str = payload.get(\"sub\")

...

token\_version = payload.get(\"ver\", 0)

...

if int(token\_version) != int(db\_ver): # 必须与 DB 一致

raise cred\_exc

即在取得 SECRET\_KEY 且猜中目标用户的 ver(token\_version)后,可伪造任意用户的合法会话。ver 为 DB 内递增整数(初始值 0,logout/force-logout 后 +1),攻击者可离线遍历 ver=0..N 构造 token 逐一验证,成本极低。

三步组合形成的完整接管

STEP 01拿到生产 SECRET\_KEY

前置动作:前台未认证 GET /admin/.env

STEP 02获得合法 admin 会话

前置动作:用 SECRET\_KEY 离线伪造 admin JWT(遍历 ver)

STEP 03HTTP 200,后台管理员权限

前置动作:伪造 token 请求 GET /api/auth/me

三步构成一条完整的接管链。

值得指出的是其中每一步单独看均不构成致命问题。弱密钥黑名单、token 版本校验、静态文件服务都属于常规安全设计,但其拼接顺序为「先读取密钥、再伪造身份」,导致上述防御措施整体失效。

安全防御的有效性取决于组合方式,而非单一环节。

05

VERIFICATION

实际利用验证

REFERENCE

以下所有请求均为未认证状态完成,未使用任何默认/已知密码。

# 操作 请求 响应
1 确认漏洞面 GET http://127.0.0.1:7070/ HTTP 200 SimpleHTTP/0.6 Python/3.8.10 ,落地页「欢迎」
2 ① 任意文件读 .env GET http://127.0.0.1:7070/admin/.env HTTP 200 ,SECRET\_KEY=fmFc...sqdQ(生产)
3 ② 伪造 admin JWT 本地 HS256 签名,ver=2 token 生成
4 ③ 验证会话 GET :7000/api/auth/me (Authorization: Bearer ) HTTP 200
5 后台枚举 GET /api/users 、/api/devices、/api/exfil、/api/settings 全量数据 + admin 全权限
6 后台 RCE 略 略

— 利用链进度面板:设备上传、高权限读取、提取钱包种子等阶段进度,以及设备基础信息与访问上下文

第 5 步的响应为全量数据:admin 权限下,用户列表、受控设备、已回传的全部窃取数据与后台配置均可读取。第 6 步的后台 RCE 未展开,代码中可见执行入口。

至此,攻守位置发生逆转。

06

IMPACT

攻陷后台后可执行的操作

以下基于 server/admin/routers/ 源码分析,说明攻击者以 admin 身份登录后台后可对已控设备执行的操作。

设备管理

设备列表与详情

查看所有受控设备(iPhone/iPad),含 UUID、IP、地理位置、设备型号、芯片、iOS 版本、Safari 版本、越狱状态等指纹信息。

设备分组/批量操作

创建分组、批量分配渠道/模板、批量启用/禁用、批量删除设备。

设备上线通知

新设备上线或离线重连时自动产生通知。

— 设备管理界面:受控设备列表,含 iOS 版本、型号、IP 地址、最近上报时间与操作入口

命令下发(commands.py 白名单命令体系)

后台通过 POST /api/commands 向受控设备下发预定义命令,命令名须在 ALLOWED\_CMD\_PREFIXES白名单内,涵盖以下类别:

类别 示例命令 功能描述
系统信息 ds\_info 、system.info 获取设备型号、系统版本、硬件信息
钥匙串窃取 dump\_keychain 、ds\_exfil\_keychain dump iOS Keychain 中所有账号密码、证书、密钥
WiFi 密码 dump\_wifi 、ds\_exfil\_wifi 导出设备保存的全部 WiFi SSID 及密码
通讯录 dump\_contacts 、ds\_exfil\_contacts 窃取全部联系人(姓名、电话、邮箱等)
短信/iMessage dump\_sms 、ds\_exfil\_sms 窃取全部短信和 iMessage 记录
通话记录 ds\_exfil\_calls 窃取全部通话记录
相册/截图 dump\_photos 、screenshot、camera\_snap 窃取相册照片、远程截图、远程拍照
文件操作 file\_read 、file\_search、file\_upload、file\_download 读取/搜索/上传/下载设备中文件
钱包/加密货币 scan\_wallets 、ds\_exfil\_wallet 扫描并导出加密货币钱包数据
定位 dump\_location 、ds\_geo 获取设备 GPS 定位信息
iCloud Token dump\_icloud\_token 窃取 iCloud 登录令牌
浏览器数据 ds\_history 、ds\_browser 窃取 Safari 浏览历史、Cookie 等
邮件/备忘录 dump\_email 、dump\_notes 窃取邮件和备忘录内容
Shell 执行 exec\_shell 、ds\_exec 在设备上执行任意 Shell 命令
进程控制 list\_processes 、kill\_process、list\_installed\_apps 枚举/终止进程、列出已安装 App
网络侦查 network\_connections 、wifi\_scan 查看网络连接状态、扫描周边 WiFi
剪贴板 clipboard\_read 读取剪贴板内容
麦克风 mic\_record 远程录音
持久化控制 install\_persist 、persist\_check、persist\_remove 安装/检查/清除持久化后门
自毁 self\_destruct 清除痕迹、移除植入
UI 弹窗 ui.alert 、ui.notify、ui.vibrate 在目标设备上弹出提示框/通知/振动

REFERENCE

命令下发的前置条件为设备已完成 exploit(exploit\_status=success),仅 UI 类命令可在 exploit 前通过 Safari 层执行。

数据回传查看(Exfil)

后台通过 GET /api/exfil 等接口,按类别查看设备回传的全部窃取数据:

keychain

— 钥匙串账号密码

wifi

— WiFi 网络凭证

contacts

— 通讯录

sms

— 短信/iMessage

calls

— 通话记录

photos

— 照片/截图

files

— 任意文件

wallets

— 加密钱包数据

location

— 位置信息

system\_info

— 系统信息

browser

— 浏览器数据

支持文件下载(/api/exfil/{id}/download)与批量删除。

脚本系统

可创建预定义命令脚本(CommandScript),将多条命令组合为一个脚本。

脚本可一键批量下发至多个在线设备(POST /api/commands/scripts/{id}/run),实现批量窃取。

多代理/多用户体系

支持创建子代理(Agent)账号,分配设备额度与佣金比例,实现「分级运营」。

每个代理可拥有独立的渠道(Channel)与落地页模板(Template),用于追踪不同投放来源。

漏洞利用链投递(exploit\_server)

exploit\_server.py(7070 端口)负责向目标 iPhone 投递 Safari 浏览器 0-day / N-day exploit(Stage1→Stage2→Stage3 payload 链)。

支持 iOS 13.0 ~ 17.2(见 SUPPORTED\_IOS\_VERSIONS),覆盖绝大多数仍在服役的设备。

落地页通过渠道 slug 与模板 slug 生成访问链接(/ch/?tpl=),目标打开后自动触发 exploit 链。

07

MARKET

市场流通情况与溯源

该工具包的定价与使用者,可由三条独立证据链交叉印证。

一、地下论坛的挂牌信息

2026 年 9 月 11 日,账号 xynapse 在 BreachForums 发布帖子《MALWARE iOS 0-Day Exploit Kits | DarkSword & Coruna》,同时出售两套工具包:DarkSword 标价 7,500 美元(覆盖 iOS 18.4–18.7,含控制面板、部署脚本与部署协助),Coruna 标价 5,000 美元(覆盖 iOS 13–17.2.1,含钱包窃取、凭据收集、session 劫持),并声明通过论坛中间人托管交易。

REFERENCE

上述为黑产论坛的自述信息,价格与可用性未经第三方独立验证。可确认的事实是:该工具包已具备公开报价单。

二、Censys 发现的在运营平台

10 月 7 日,Censys 发布调查报告,在 5 台开放目录主机上发现一套以中文运营的 exploitation-as-a-service 平台:

156.239.230[.]120 为完整 C2 平台:exploit\\_server.py(Python)+ FastAPI 管理面板 + darksword.db(SQLite)

管理端具备代理与经销商模型:佣金率、设备配额、独立投递渠道、60 余条命令

生产服务器副本中存有 11 条受害者的 BIP-39 助记词、179 个设备战利品目录、75 个操作员账号

18 个钱包注入模块

由 SpringBoard 协调器监控 App 启动并注入,注入节流至每 3 秒每 bundle 检查一次

载荷链为:bootstrap.dylib(滩头)→ stage2.dylib(控制器)→ core\\_v6.dylib(持久 implant)

另一台主机 43.134.165[.]205 分发 DS-Fusion v1.0,将 DarkSword 与 Coruna 打包为单一分发单元

exploit\_server.py + FastAPI 管理面板 + darksword.db 这一组合,与本文开头所述的三段式架构在生产环境中的形态一致。

Censys 还在生产服务器的 exploit registry 中发现两个此前未公开的、DarkSword 相关的 CVE:CVE-2025-24201(WebKit 越界写,修于 iOS 18.3.2)与 CVE-2025-31200(Core Audio 内存损坏,修于 iOS 18.4.1)。

三、来源追溯

相关时间线如下:

2022–2025

前澳大利亚信号情报局(ASD)官员 Peter Williams 使用移动硬盘从悉尼与华盛顿办公室带出至少 8 个 exploit 组件,出售予俄罗斯 exploit 经纪商 Operation Zero(Matrix LLC),本人收取 130 万美元加密货币,其雇主对该项目的估值达 3,500 万美元

2026-02-24

美国联邦法官判处其 87 个月监禁;同日美国财政部制裁 Operation Zero 及其所有者

2026-03-18/19

Google GTIG、Lookout、iVerify 联合公开披露 DarkSword

2026-03-23 前后

源码由第三方泄露至 GitHub,泄露者与联合披露方无关

2026-03-26

Proofpoint 观测到俄罗斯 FSB 关联的 TA446(Callisto / ColdRiver / Star Blizzard / SEABORGIUM)在冒充大西洋理事会的鱼叉式钓鱼邮件中大规模利用泄露的工具包,此为国家行为体首次公开使用泄露的 iOS 全链利用包

2026-10

Censys 发现黑产运营平台

Lookout 研究员对此的表述是,DarkSword 「将这整套东西变成了商品化恶意软件」(turning it into commodity malware)。

两款工具包的风险等级并不对等:Coruna 源码至今未发现公开泄露(iVerify 明确说明),DarkSword 源码已流出,因而后者成为实际扩散开的那一套。

四、投递环节的供应链投毒

Zimperium zLabs 的数据最为直接:截至 2026 年 10 月,识别出 608 个投递 Coruna 系代码的域名,其中 93 个站点的配置对应 21 个不同的追踪收集器。

改变格局的是 SafeDep 于 2026 年 5 月 20 日披露的 npm 供应链投毒事件,受害者为 JS 模板引擎 art-template,周下载量约 3.36 万。攻击手法区别于常见的凭据窃取,采用社会工程式收购欺诈——一家马来西亚公司向原作者提出收购,原作者完成马来西亚 Companies Commission 尽调后自愿转让 npm 与 GitHub 所有权,随后恶意版本 4.13.3–4.13.7 陆续发布。

注入点位于浏览器侧的 lib/template-web.js,并设有针对性过滤:无 Referer 头时返回近乎空的响应,带 Referer 才返回完整 payload,使 IOC 抓取与沙箱爬虫失效。投递链仅对 iPhone UA 生效,隐藏 iframe 被置于 closed Shadow DOM 中。

REFERENCE

这一环节的意义在于:攻击者不再需要自行注册落地页域名。正常网站遭投毒后持续向全球访客投送 iframe,域名信誉类防御手段随之失效——因为流量形态与常规 HTTPS 访问无异。

08

DEFENSE

修复版本与缓解措施

iOS 18.6

修复 CVE-2025-31277(18.4–18.5 区间的入口)

iOS 18.7.2 / 26.1

修复 CVE-2025-43510 与 CVE-2025-43520(末段内核提权)

iOS 18.7.3 / 26.2

修复 CVE-2025-43529 与 CVE-2025-14174

iOS 26.3

修复 CVE-2026-20700(dyld 处的 PAC 绕过),这是整条链的最后一个缺口

iOS 18.7.7

的公告正文明确写有「web attacks called DarkSword」,为面向旧机型的正式回补

Coruna 相关漏洞由 iOS 15.8.7 与 16.7.15 回补(iOS 13/14 需先升级至 iOS 15)

概括而言:升级至 iOS 18.7.7 或 iOS 26.3 及以上版本,该利用链即告中断。

其他建议

1

避免扫描陌生二维码、避免点击来源不明的短链。落地页链接为拼装生成,钓鱼短信、社工私信、虚假活动页乃至遭投毒的正常网站均可批量投放。

2

Safari 不构成安全边界。入侵发生在浏览器层,浏览器隔离机制在此类攻击中失效。怀疑点击过可疑链接后,重启 Safari 是成本极低的处置动作。

3

立即修改密码并吊销会话。钥匙串、iCloud 令牌、浏览器 Cookie 同处被窃取范围,未改密码等同于未失窃。

4

钱包仅保留最小额度。在无法确保防护完整生效的前提下,限制风险敞口是更实际的底线。

5

iCloud 与钱包分离,并启用高级数据保护,使被窃取的 iCloud 令牌失去可用价值。

6

企业设备不应仅依赖 App 层监控。内核级植入运行于合法进程内,App 层检测可能无法发现;而一次性的 hit-and-run 感染在事后亦难以取证。

受影响范围

iVerify 测算,iOS 18.4–18.6.2 用户中仍有 14.2%,约 2.2 亿台设备运行在受影响版本上。其 9 月遥测数据显示,受影响设备比例由 8 月的 1.5% 上升至 9 月的 5%。

一个月内上升三倍以上,表明该工具包已进入规模化投放阶段。

∞

THE END

结语

这套系统的可复制性构成其主要特征。

漏洞投递服务、C2 后台、载荷库三个组件结构清晰,多代理、多渠道、多模板机制将「撒网—收割」构建为可外包的商业闭环。当前流通的这一套,只要替换 Safari 利用链的入口与钱包目标列表,即可形成新的流水线。

原文:起底黑产入侵iPhone 无感盗U程序

END

我是 网络安全透视镜 专注源码安全审计与漏洞挖掘。

如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

无感入侵iPhone,接管钱包盗U,闲鱼疑似在售" 网络安全文章

无感入侵iPhone,接管钱包盗U,闲鱼疑似在售"

文档披露了针对iOS的黑产入侵工具包DarkSword与Coruna,覆盖iOS13至26共100个版本,利用两条漏洞链实现无感入侵,可窃取19种加密钱包及钥匙串数据。攻击链涉及多个CVE,包括0day,通过Safari链接自动触发,后台可远程下发21类命令。工具疑似在闲鱼出售,构成严重威胁。
三所全A!奇安信洞鉴陕西所获诚信A级与年度考核优秀" 网络安全文章

三所全A!奇安信洞鉴陕西所获诚信A级与年度考核优秀"

奇安信洞鉴旗下北京、上海、西安三家司法鉴定所全部获评2025年度诚信等级A级,其中陕西西安洞鉴云侦同时获年度考核优秀。考评依据陕西省司法厅通知开展,全省69家机构中仅20家获A级。三所统一技术标准与质量管理,依托全国31个取证网点提供跨区域协同服务,体现其规范执业与专业能力积累。
奇安信联合发布《智能体技术金融领域安全应用联合倡议》" 网络安全文章

奇安信联合发布《智能体技术金融领域安全应用联合倡议》"

奇安信在2026金融街论坛上联合发布《智能体技术金融领域安全应用联合倡议》,聚焦金融智能体全生命周期安全治理,提出安全合规、身份可信等十方面原则要求。同时作为首批AI保险技术合作伙伴,参与发布人工智能应用风险综合保障方案,构建评估-承保-监测-理赔闭环,以安全能力支撑金融AI合规落地。
评论:0   参与:  0