去年10月,Sublime Security拦截了一批伪装成商务合作的钓鱼邮件。发件人声称代表TikTok for Business,邀请品牌方"探讨合作机会"。4个月后,同一套攻击链升级了——现在它用上了Cloudflare Turnstile验证码,专门过滤掉安全公司的自动化扫描工具。
这相当于给钓鱼网站装了个智能门禁:真人能进,机器人被拒。
Push Security的最新报告显示,攻击者正在用中间人攻击(AitM,Adversary-in-the-Middle)技术批量劫持TikTok商业账号。这类账号的价值在于信任背书——粉丝眼里是官方认证,黑产手里是恶意广告分发器。Vidar、StealC、Aura Stealer等窃密木马都曾借TikTok账号传播,配合AI生成的"Windows激活教程"视频,诱导用户执行ClickFix指令。
攻击链拆解:从"商务合作"到账号失窃
整个流程设计得像一套标准的企业服务漏斗。受害者收到的链接指向两类页面:高仿TikTok for Business登录页,或伪装成Google招聘的"预约通话"页面。后者尤其针对求职人群,利用职业焦虑降低警惕。
点击后,Cloudflare Turnstile弹出。这个本应区分人类与机器的安全组件,在这里成了攻击者的筛选器——安全厂商的爬虫被挡在外面,真实用户则被放行至下一关。
真正的杀招藏在验证码之后:一个AitM钓鱼页面。
中间人攻击的精髓在于"实时转播"。用户在钓鱼页输入的账号密码,被攻击者即时转发给真实的TikTok服务器;TikTok返回的登录凭证(包括双因素认证码),再被攻击者截获并转发给用户。整个交互流畅无感,受害者甚至能正常进入后台——直到几小时后发现账号已被绑定陌生设备。
Push Security披露了部分钓鱼域名,但拒绝完整公开:"这些基础设施仍在活跃,完整清单只会方便攻击者快速轮换。"这种克制在威胁情报报告中并不常见,也侧面说明 campaign 的持续性。
SVG附件:另一条被低估的攻击向量
几乎同一时期,WatchGuard在委内瑞拉监测到另一波钓鱼活动。攻击者用西班牙语文件名(发票、收据、预算单)包装SVG附件,目标明确指向当地商业环境。
SVG的问题在于"无害外观"。作为矢量图形格式,它长期被邮件网关视为低风险文件类型。但SVG本质是XML文档,可以嵌入脚本。用户双击打开后,文件内的代码立即连接远程URL,下载用Go语言编写的恶意程序。
这个样本与2024年1月SecurityScorecard披露的BianLian勒索软件存在代码重叠。
攻击者还玩了一手URL短接的障眼法。他们利用ja.cat服务,将恶意链接包装成来自合法域名的短链接——这些域名存在开放重定向漏洞,理论上可以跳转到任意地址。企业邮件系统的域名信誉检测因此失效:白名单上的域名,最终指向黑产服务器。
WatchGuard的分析师在报告中写道:"即使看似无害的文件类型,也能被用于投递严重威胁。"这句话的潜台词是:安全团队的文件类型黑名单越来越不够用。
为什么商业账号成为优先目标?
TikTok for Business账号的劫持收益远高于个人账号。企业账号通常绑定支付方式、广告投放权限,以及经过验证的品牌身份。攻击者可以:
直接盗刷广告账户余额;用品牌背书发布恶意链接;向粉丝推送嵌套木马的"促销内容";将账号作为筹码在地下市场出售。
Push Security特别指出,ClickFix风格的攻击正在TikTok平台蔓延。这类攻击的核心是"用户自助中毒"——视频演示如何"修复"某个软件问题,实则诱导观众复制粘贴恶意PowerShell命令。AI生成视频降低了内容生产成本,使得批量制作多语言、多场景的诱导素材成为可能。
从Windows激活工具到Spotify破解教程,再到CapCut专业版解锁指南,攻击者精准踩中用户的贪便宜心理和软件焦虑。
防御端的现实困境
Cloudflare Turnstile被武器化,暴露了一个尴尬事实:验证码服务的设计初衷是区分人机,而非识别恶意意图。攻击者租用Turnstile服务保护钓鱼页面,和正规网站使用同一套基础设施,流量特征高度相似。
对企业安全团队而言,这意味着传统基于IP信誉、域名年龄的检测模型需要升级。AitM攻击的实时中继特性,也使得基于行为异常的检测窗口极窄——用户输入凭证的速度、点击模式都符合正常人类特征。
Push Security建议对TikTok for Business账号启用硬件安全密钥,而非基于短信或TOTP的双因素认证。AitM可以实时截获6位数字码,但无法克隆物理密钥的加密握手。
SVG附件的防御则更简单也更容易被忽视:在邮件网关上彻底阻断SVG入站,或强制转换为静态图片格式预览。代价是损失极少数 legitimate 的矢量图形协作场景,收益是消除一整类攻击向量。
「TikTok has been historically abused to distribute malicious links and social engineering instructions」,Push Security在报告中写道。这句话的时态选择值得玩味——不是"was",而是"has been",暗示平台与黑产的对抗是持续性状态而非已解决事件。
当验证码从安全工具变成攻击者的筛选器,当SVG从设计素材变成恶意代码载体,防御方的名单上又该增加哪些检查项?
热门跟贴