【避坑】PolarNode 水坑行动技术分析:针对 iOS 18.4–18.6 Safari 的 WebKit 利用链

【避坑】PolarNode 水坑行动技术分析:针对 iOS 18.4–18.6 Safari 的 WebKit 利用链

样本:https://event.polarnode.vip/ 分析日期:2026-09-01


图片[1]-警惕PolarNode水坑:iOS Safari利用链窃取钱包助记词

1. 摘要

event.polarnode.vip 对外表现为一家新 VPS 服务商的内测预约页:前 5000 名赠送服务器,最高规格为 4 核 4G、时长三年,并配套邀请返利。对该站点的前端资源、预约接口与第三方脚本进行还原后,可以将其定性为 iOS 水坑(Watering Hole)

第一方 Next.js 业务代码本身不包含利用逻辑。恶意能力全部位于非同源脚本 lk.wyincc.com/lk.js。该脚本仅在真实 mobile Safari 中激活,向隐藏 iframe 加载一套针对 iOS 18.4–18.6 的 WebKit exploit kit,后利用阶段读取 imToken、TronLink 等钱包应用的助记词。

域名于活动开始前一日注册,主域无 MX,除 event 外无其他存活子域。VPS 交付承诺缺乏可验证的基础设施支撑,更合理的解释是:用高价值奖励驱动社群裂变,把受害者导入可利用的 Safari 环境。

影响范围限于 iOS mobile Safari;桌面浏览器会正常渲染预约页,利用链不会启动。这不改变对该 URL 的处置建议——应按恶意水坑处理,而非按营销活动处理。


2. 基础设施与域名情报

项目观测研判
域名polarnode.vip
注册时间2026-08-31(活动前一日)新注册域叠加高额赠送,符合水坑/灰产投递节奏
注册商Dynadot
DNSCloudflare常规隐蔽手段
MX与「VPS 服务商」身份不符,主域不具备收信能力
子域event.* 存活www / api / panel 均未部署,属于单页壳站

基础设施分为诱饵域、载荷域与 C2 三层:

图片[2]-警惕PolarNode水坑:iOS Safari利用链窃取钱包助记词

lk.js 出现在页面首次快照中,属于静态嵌入,而非后续动态插入。第一方框架代码与利用逻辑在源码层面隔离,降低了活动页本身被扫描器直接定性的概率。


3. 诱饵层:VPS 内测预约

活动页宣称 PolarNode VPS 内测预约,beta 开放时间为 2026-09-09 10:00 HKT。奖励梯度如下:

名次奖励
前 100 名4C4G × 3 年
前 500 名4C4G × 1 年
前 1000 名2C2G × 1 年
前 5000 名任意规格 × 6 个月
每成功邀请 1 人邀请者时长 +1 个月

邀请码格式为 [A-F0-9]{8},服务端对码库做真实性校验,非法格式与不存在码分别返回不同 400。裂变机制因此是可运转的:持有有效 ref 的链接可以在 Telegram 等社群中自行扩散,水坑 URL 由受害者完成分发。

预约接口唯一:

POST https://event.polarnode.vip/api/reserve
{ "email": "...", "inviteCode": "7A789FDE" }

接口无 CAPTCHA、无邮箱验证。成功响应为 201,并回传个人邀请码。服务端按 User-Agent 做环境门控:桌面 UA 返回 403(「请使用正常环境」),仅移动 UA 可通过。

强制移动端预约在正规云厂商中极少见。结合后续 Safari 专属利用链,该门控的作用是把流量收敛到 exploit 的目标运行时,而不是做风控。


4. 载荷投递:lk.js

页面加载非同源混淆脚本:

https://lk.wyincc.com/lk.js    (约 48KB,obfuscator.io)

反混淆后,入口逻辑可归纳为:

  1. 浏览器环境判定:仅真实 mobile Safari 进入利用路径
  2. 注入隐藏 iframe,加载 lk.wyincc.com/dist/sandbox.html
  3. 内嵌 RSA-2048 公钥,对回传数据加密
  4. 自定义追踪头:X-Site-Host / X-Session-ID / X-DS
  5. 限流 cookie:_tc_r=1; max-age=600
  6. 检测模拟器与 Lockdown Mode;命中则静默退出,避免在高对抗环境中暴露载荷

5. 环境指纹与流量分流

图片[3]-警惕PolarNode水坑:iOS Safari利用链窃取钱包助记词

分流策略分三条路径:

  • 桌面浏览器:完整展示预约流程,维持活动伪装,同时收集邮箱并维持裂变。
  • 非 Safari 移动端:跳转四语言社工页,文案要求「使用 Safari 打开并长按复制链接」,把流量从不可利用环境导入可利用环境。
  • iOS Safari:静默注入 iframe,进入完整利用链。

邀请返利与 UA 门控在此形成闭环:裂变负责扩散,门控负责筛出 Safari,社工页负责纠正「走错浏览器」的移动用户。


6. Exploit 链还原

图片[4]-警惕PolarNode水坑:iOS Safari利用链窃取钱包助记词

利用过程对应如下状态机:

图片[5]-警惕PolarNode水坑:iOS Safari利用链窃取钱包助记词

载荷中的 exploit kit 特征如下:

特征含义
rce_offsets,key 形如 iPhone11,2_4_6_22F76按机型与系统版本绑定的内存布局
stage1 / stage1_rce / stage2 / chain_locked / pe_injected多阶段利用状态
noPAC()ARM64e PAC 绕过
约 650 个 ROP gadget、78 处 mach_*ROP 链与 Mach 接口调用
AVSpeechSynthesis* 约 320 处WebKit SpeechSynthesis 类型混淆原语
OffscreenCanvas + WebGL workerGPU 进程侧利用
iOS 18.4–18.6 版本门控仅对当前可利用区间生效
注释 Prevent duplicate exploit execution明确标识为 exploit 执行控制

版本不匹配时载荷静默退出,无弹窗、无错误提示。桌面用户无法观测到该层行为。


7. 后利用目标

载荷内硬编码的目标 Bundle ID:

  • im.token.app(imToken)
  • com.global.wallet.ios
  • com.tronlink.hdwallet(TronLink)

后利用目标是在设备获得代码执行后读取钱包助记词。该活动不以广告、挖矿或单纯邮箱收集为终点;预约赠送是把受害者导入 Safari 的诱饵,凭证窃取才是收益路径。


8. 威胁情报指标与缓解

类型
诱饵域event.polarnode.vip(Dynadot,2026-08-31)
载荷 / C2 域lk.wyincc.com
C213.248.210.49:36887(AWS Global Accelerator)
C2 备用166.117.225.238:36887
关键路径/lk.js/dist/sandbox.html/dist/chunks/vendor.js/dist/chunks/polyfill.js/dist/chunks/runtime.js/group.html
追踪头X-Site-Host / X-Session-ID / X-DS
限流 cookie_tc_r=1
目标环境iOS 18.4–18.6,mobile Safari
目标应用imToken、TronLink 等

缓解建议:

  1. polarnode.viplk.wyincc.com 及上表 C2 地址纳入拦截与狩猎规则;社群中传播的同类「VPS 内测 / 免费服务器」短链按水坑处置。
  2. iOS 18.4–18.6 设备尽快安装后续安全更新;高风险操作场景可启用 Lockdown Mode。
  3. 热钱包助记词不应仅驻留在移动端 App 内。本次后利用直接面向设备本地钱包凭证。
  4. 研判侧可将「新注册域 + 单活动子域 + 无 MX + 服务端强制移动 UA」作为同类水坑的组合信号。

9. 结论

PolarNode 活动站是一套以 VPS 内测为掩护的 iOS 水坑,而不是云厂商运营页面。桌面流量用于维持伪装与裂变;iOS 18.4–18.6 Safari 流量进入基于 WebKit SpeechSynthesis 原语的 exploit kit,后利用阶段窃取加密钱包助记词。对该样本的正确处置是按恶意基础设施下线与情报共享,而不是按预约活动评估交付真实性。

© 版权声明
THE END
喜欢就支持一下吧
点赞72 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容