文章总结: 安天移动安全披露一款Android设备接管型远控木马NightDragon,该木马伪装成系统或金融应用,利用无障碍服务完全接管设备,窃取支付密码、短信验证码等敏感信息。其核心技术是将Shizuku与ADB无线调试配对库武器化,无需root或漏洞即可获得系统级API调用能力,影响Android7至14及主流定制系统,主要针对中国内地及东南亚等地区。报告详细分析了样本特征、攻击阶段、指令体系及提权机制,并给出防御提示。
综合评分: 90
文章分类: 恶意软件,移动安全,漏洞分析,威胁情报,安全分析
新威胁出现|安天移动安全披露Android 设备接管型远控木马(NightDragon)分析报告
原创
安天移动安全
安天移动安全
安天移动安全
2026年9月2日 17:33
湖北
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
行业洞察 | 合规产品 | 安天动态
—助力移动健康生态建设第284篇原创文章—
1
概述
近期安天移动安全捕获到一款功能完备的 Android 设备接管型远控木马(Device-Takeover RAT)。该样本以 Kotlin 编写,伪装成系统或金融类应用诱导安装,一旦获得无障碍服务权限,即可完全接管用户手机——远程查看屏幕、模拟点击操作、窃取支付密码与锁屏凭据、截取短信验证码、开启摄像头与麦克风。
该木马值得关注的技术特征是:将两款合法开源工具武器化。它把 Shizuku 项目的
ADB 无线调试配对库( libadb.so )与服务启动器( libshizuku.so )直接打包进安装
包,通过 Android 官方的无线调试配对流程(SPAKE2 密钥协商 → HKDF 派生 →AES-128-GCM会话加密)获得adb shell权限,再以app_process启动 shizuku_server ,最终让一个普通 App 获得系统级 API 调用能力。
整个过程不利用任何系统漏洞、不需要 root 权限,全部依托 Android 官方机制完成,使传统”检测 root / 检测漏洞利用”的防线完全失效。样本签名证书 Subject 为 CN=NightDragon ,签发于 2026-07-25(距本报告约5周),属高时效性在野样本。
1.1
影响评估
| | |
| — | — |
| 维度 | 评估 |
| 影响平台 | Android 7.0(API 24)~ Android 14(API 34);华为 EMUI / 荣耀MagicOS / 小米 MIUI / OPPO ColorOS / vivo OriginOS / 三星 OneUI等主流定制系统均在范围内 |
| 主要受害区域 | 中国内地、东南亚、印度、拉美、中东(依据:伪装应用、20+语种界面适配、90+个目标金融 App 的地域分布) |
| 主要危害 | 银行账户资金盗取、全量账户口令泄露、短信二次验证(2FA)被绕过、设备被完全远程控制 |
| 传播方式 | 侧载安装 / 钓鱼诱导(具体分发渠道待进一步追踪) |
2
样本特征
2.1# 样本基本信息
签名证书
默认图标:云闪付(UnionPay)图标
样本的
@drawable/yun 。经核对,该图标为中国银联云闪付(UnionPay)的官方应用图标。
值得注意的反差:默认图标使用了云闪付图标,显示名称却是一个无实际含义的字符串 xxoo (而非「云闪付」或「UnionPay」)。这一组合说明运营者选取图标时的判断标准是”看起来像官方金融/支付应用即可”,而名称字段尚未针对伪装目标做逐一精细配置——从侧面反映出该样本仍处于快速迭代阶段或前期测试阶段,部分细节未完成打磨。
内置 Native 库
2.2# 样本基本信息
安装完成后,木马按以下阶段展开攻击:
阶段一:潜伏与权限获取
- 诱导用户授予无障碍服务权限(这是 Android 上权限最高、也最容易被滥用的合法机制)
- 申请设备管理员权限,使自身无法被常规方式卸载
- 通过 OCR + 自动点击,自行完成设备管理员激活流程中的验证码与确认按钮点击
阶段二:建立控制通道
- 与C2服务器 27.124.42[.]33:8080 建立明文 WebSocket 长连接
- 上报设备型号、系统版本、国家、电量、壁纸、无障碍开启状态等信息
- 每 30 秒发送一次心跳;网络切换或屏幕点亮时自动重连
阶段三:按需下发攻击指令
C2 通过 55 条字符串指令、12 条数字指令和 32 条子命令,远程控制设备执行:
- 实时屏幕截取与串流、模拟点击 / 滑动 / 长按 / 多笔手势
- 针对指定银行 App 下发钓鱼覆盖页
- 窃取锁屏 PIN / 密码 / 九宫格图案
- 读取短信、通讯录、定位、应用列表
- 开启摄像头拍照、麦克风录音
- 通过 ADB 执行任意 shell 命令
- 自我销毁卸载
阶段四:痕迹清除
- 自动清理最近任务列表(抹除操作痕迹)
- 切换到系统更新 / 黑屏 / 警方警告等伪装遮罩,掩盖后台正在进行的操作
3
样本分析
3.1# 动态分析
部分网页动态运行现象如图
3.2# 静态分析
3.2.1 权限与组件特征
样本共申请 65 项权限,其中高危项包括:
核心组件
3.2.2 通信与指令体系
指令分类
3.2.3提权机制:Shizuku + ADB 无线调试武器化(核心技术点)
这是本样本最具代表性的技术突破。完整链条如下:
libadb.so 逆向要点
该库导出 7 个 JNI 函数,符号前缀均为 Java_moe_shizuku_manager_adb_PairingContext_* ,证实其直接取自 Shizuku Manager 开源项目。关键字符串包括 “Unable to createa SPAKE2 context.” 、”Unable to generate the SPAKE2 public key.” 、”AdbPairClient” ,以及 HKDF 标签 “adb pairing_auth aes-128-gcm key” 。
nativeInitCipher 函数(0x152B8)完整还原了 AOSP 无线调试配对协议:
- 读取对端(adbd)的 SPAKE2 公钥消息(最大 32 字节)
- SPAKE2 处理对端公钥生成共享密钥 material
- 以共享密钥为 salt、”adb pairing_auth aes-128-gcm key” 为 info 做 HKDF,派生16 字节密钥
- 创建 AES-128-GCM( EVP_AEAD_CTX_new )会话上下文
libshizuku.so 逆向要点
该库是 Shizuku 官方的 shizuku_starter 二进制。主函数逻辑:
- 校验 getuid() 必须为 0 (root)或 2000 (adb shell),否则 exit(6)
- root 分支:切换 cgroup、setns 加入 init 挂载命名空间、通过 dlopen(“libselinux.so”) 调用 getcon / setcon 切换 SELinux 上下文
- adb 分支:遍历 /proc 杀掉已有 shizuku_server 进程,执行 pm path moe.shizuku.privileged.api 获取 APK 路径
- fork() → setsid() → chdir(“/”) → 标准输入输出重定向至 /dev/null (守护化)
- execvp(“/system/bin/app_process”, [“-Djava.class.path=
“, “-Dshizuku.library.path= /lib/arm64″, “/system/bin”, “–nice-name=shizuku_server”, “rikka.shizuku.server.ShizukuService”])
安全影响:这意味着攻击者无需 root、无需任何漏洞,即可让一个普通第三方 App 获
得 shell 乃至近似 system 的执行能力。检测重点应从”是否存在 root 行为”转向”是
否存在异常的无线调试配对与 shizuku_server 进程”。
3.2.4 凭据窃取能力
① 支付 PIN 逐位实时捕获(最核心的窃密能力)
木马内置 102 个金融类目标应用包名,涵盖中国内地 19 家银行(工行、建行、农行、中行、招行、邮储、交行、平安等)、23 个国际支付(支付宝、微信支付、PayPal、PhonePe、Paytm、GCash、GoPay、Venmo、Cash App、Zelle、Revolut 等)、
19 个加密钱包(Trust Wallet、MetaMask、Binance、OKX、Coinbase、Bybit 等)与
24 家国际银行。此外,只要包名包含 pay 、bank 、wallet 、finance 、money 、cash 、crypto 、trade 、applock 、safecenter 任一关键词,都会被自动纳入监控——实际攻击面远超 102 个。
捕获手法:
- 通过预设的键盘容器 View ID 定位支付键盘(含支付宝、微信、Trust Wallet、系统锁屏共 12 个特征 ID)
- 在键盘上方叠加一层完全透明的采集视图(背景色 0 ,窗口类型 TYPE_APPLICATION_OVERLAY ,flags 0x308 )
- 按下时按欧氏距离匹配最近键位,解析出数字,同时记录键位的屏幕坐标
- 透传点击:先用 performAction(ACTION_CLICK) 尝试,失败则用手势 clickAt(x, y)补点——保证用户正常输入、毫无察觉
- 遇到 • 、● 、◉ 等掩码字符时,通过增量比对还原出明文密码
- 每按一位立即上传( payPin ),4 秒静默后上传完整串( payPinFull )
② 锁屏凭据窃取
针对 50 个厂商系统锁屏组件(含小米、华为、荣耀、OPPO、vivo、三星、传音、LG、华硕、摩托罗拉、索尼、联想、Nothing 等)。对于九宫格图案锁,木马在锁屏界面叠加一层完全透明的全屏视图记录触摸轨迹,同时通过 LivePatternStreamer 将触摸实时转发给真实锁屏控件,用户正常解锁、毫无感知。捕获完成后可重放图案轨迹实现解锁。
凭据通过 POST /api/sync/cipher 回传,请求头携带 X-Client-ID 。
③ 键盘记录
所有输入内容记录至 /sdcard/config/System/DD-MM-YYYY.json (JSONL 格式),并维护keylog.wal 预写日志防止丢失,单文件超过 5 MB 时转储至 overflow/ 目录。记录字段包含应用名、包名、输入内容、isPassword 标志(区分密码框)与毫秒级时间戳。可配置为实时回传。
④ Web 注入钓鱼
C2 通过 changefiles 指令分片下发钓鱼页面(Base64 编码),落地至 /data/data/system.zero.root/files/inj_<包名>.html ,随后以全屏 Activity 覆盖在真实银行 App 之上。该页面:
- 拦截返回键、HOME 键、菜单键, onBackPressed() 为空实现——用户无法退出,只能填写凭据
- 通过 JS Bridge 提供 Android.onLiveInput() 接口,边打字边回传
- 默认文案为简体中文:「安全验证 / 系统检测到安全风险,请验证您的身份以继续使用」
3.2.5 社工伪装与心理压制(含”110″恐吓遮罩)
木马内置 8 种全屏遮罩,且全部具备 showWhenLocked 与 turnScreenOn 属性——可在锁屏状态下直接弹出。这些遮罩用于在后台操作期间阻断用户视线,或制造设备异常/官方管控的假象。
关于 police_110 遮罩的专项说明
该模式由 BlockOverlayController.wrapPolice110() 实现,具体呈现为:
这是典型的冒充公检法社工手法,直接盗用中国大陆报警电话”110″的权威形象,以”你
已被定位”的话术制造恐慌。其战术价值在于:
1. 制造心理压制:受害者看到”110 定位”字样后产生恐惧与顺从心理,倾向于立即放下手机、不敢进一步操作,为攻击者争取无人干扰的操作窗口
2. 阻止察觉与干预:与 overheat_warning (过热警告)、android_update (系统更新)组合使用,形成一套”设备异常 / 官方管控”的话术体系,使受害者合理化屏幕异常,不会联想到遭受攻击
3. 明确指向中文受害者: 110 是中国大陆特有的报警号码,结合全简体中文文案与支付宝/微信伪装,强烈指向以中国大陆用户为首要目标,运营者极可能具备中文母语背景或对华社会工程有深入理解
防御提示:Android 系统及公安机关不会通过第三方 App 弹窗显示”你已被定位”类信息。如手机出现此类全屏提示且无法通过返回键退出,应立即长按电源键强制重启,并在重启后立即进入安全模式排查。
图标伪装
Manifest 中定义了 15 个 activity-alias ,可由 C2 通过 SetDisguise 指令在运行时动态切换桌面图标与名称:Alipay(支付宝)、WeChat(微信)、Mobile Banking、SIM Toolkit 、Ana 、PhonePe 、Google Pay 、Google 、Chrome 、Cloud Services 、security(华为/荣耀/vivo/OPPO/小米各一版),以及一个透明图标 + 空名称的完全隐形别名。
若 C2 下发 alias 留空或为 “auto” ,木马会读取 Build.MANUFACTURER 与 Build.BRAND 自动伪装成该品牌自带的官方安全/服务应用(小米 → security、华为 →security、OPPO → security、vivo → security,三星及其他 → Chrome),欺骗性最高。
点击伪装图标后的行为同样可由 C2 控制:默认「无反应」;设为 real_app 模式时
则拉起被伪装的那款真实应用(如真实支付宝 com.eg.android.AlipayGphone 、真实微信com.tencent.mm ),木马自身退居后台——受害者完全无感知。
3.2.6 持久化与对抗
值得注意的是:该样本未使用任何代码混淆(类名、方法名、字段名全部明文可读),也未检出任何反调试或反模拟器代码。这与同期主流银行木马形成鲜明对比,为分析工作提供了极高的可观测性,同时也反映出运营者可能依赖”功能复杂性 + 合法框架复用”而非代码混淆来对抗检测。
3.2.7 关于鸿蒙(HarmonyOS)系统的适用性说明
经对全部代码与资源的系统性排查,结论如下:
① 样本本身是标准 Android APK,不具备鸿蒙原生能力
样本 minSdkVersion=24 、targetSdkVersion=33 ,为标准 Android 应用包。对 DEX 全量字符串检索”harmony”仅命中org.apache.harmony.security.provider.crypto.CryptoProvider与 SHA1PRNG_SecureRandomImpl ——这是 Android 早期内置的 Apache HarmonyJava 兼容加密库,与华为鸿蒙操作系统无任何关系。代码中未发现任何 HarmonyOS 原生开发特征(无 ArkTS、无 .app 包结构、无 OpenHarmony API 调用、无 ohos 包名空间)。
② 对华为 / 荣耀 Android 生态(EMUI / MagicOS)有完整深度适配
这部分适配是实质存在的,覆盖攻击全链条:
③ harmony.webp 的性质说明
assets/Root-logo/ 目录共内置 28 个品牌 Logo(android、blackshark、google、
harmony、honor、huawei、infinix、iqoo、itel、lenovo、meizu、miui、motorola、nokia、nubia、oneplus、oppo、poco、realme、redmi、samsung、sony、tecno、vivo、wiko、xiaomi、zte 等),用于在攻击者本地控制面板上按 Build.MANUFACTURER / BRAND 显示对应品牌图标。
其中 harmony.webp 与 huawei.webp 、honor.webp 并列,说明运营者将”鸿蒙”视作一个独立的设备品牌类别进行归类展示。但需要明确:
- 该资源仅用于控制面板的品牌图标显示
- 在决定伪装形态的 selectAlias() 逻辑中,并未为 harmony 设置专门分支——鸿蒙标识的设备会落入默认分支,伪装为 Chrome
④ 风险研判
3.2.8 攻击目标清单
4
情报关联分析
4.1# IOC(失陷指标)
网络 IOC
关于分发来源
样本获取自以下地址, 其文件名中的时间戳 20260815195600 对应 2026-08-15
19:56:00:
该时间比签名证书签发时间(2026-07-25)晚 21 天,说明运营者在完成构建与签名约三周后才部署到分发站点,表明这是一次持续运营而非一次性投递。
分发基础设施与 C2 基础设施相互独立:
这种”分发用域名、控制用裸 IP”的分离设计,使攻击者在分发域名被封禁后可快速更换投递渠道,而不影响已感染设备的持续控制,具备一定的运营安全意识。
主机 / 应用 IOC
文件 IOC
特征字符串
4.2# 溯源关联
4.3# TTPs 映射(MITRE ATT&CK for Mobile)
4.4# 情报价值
1. 新型攻击面:首次观测到将 Shizuku 与 ADB 无线调试配对完整武器化的 Android银行木马。攻击者在无需 root、无需漏洞的前提下获得 shell 乃至系统级能力,传统检测思路失效。
2. 合法框架复用趋势:Shizuku、scrcpy、Google ML Kit、LSPosedHiddenApiBypass 全部为开源/官方组件,木马自身未编写任何恶意 Native 代码。基于恶意特征码的检测对此无效,需转向组件组合 + 运行时行为检测。
3. 冒充公检法的移动化: police_110 遮罩将传统电信诈骗中的”冒充公检法”话术移植到移动端 UI 层,配合系统更新、过热警告形成心理压制组合,是社工手法的新演进。
4. 反直觉的免混淆策略:完全不混淆、不反调试,与同期主流银行木马形成鲜明对比,可能反映运营者处于快速迭代期或依赖”能力即护城河”。
5
安全建议
5.1# 个人用户应急响应(疑似已感染)
5.2# 企业侧防护
5.3# 移动应用开发者
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安天移动安全 安天移动安全
安天移动安全《新威胁出现|安天移动安全披露Android 设备接管型远控木马(NightDragon)分析报告》