摘要
针对 TikTok 商业账号的钓鱼攻击已形成Google Storage 跳转 + Cloudflare Turnstile 绕过 + 反向代理钓鱼的标准化攻击链,可窃取账号凭证、会话 Cookie 与多因素认证码,进而实施广告欺诈、信息窃取与跨平台账号劫持。本文以 Push Security 披露的真实攻击事件为核心样本,系统解析该类攻击的社会工程学诱导逻辑、AITM 中间人钓鱼技术实现、SSO 账号横向渗透路径,构建覆盖邮件网关、链接检测、终端防护、身份认证、应急响应的全链路防御框架,并提供可工程化的恶意链接识别与钓鱼页面检测代码。研究表明,融合规则匹配、URL 行为分析与机器学习可有效识别云存储跳转类恶意链接,结合强身份认证与最小权限策略能够显著降低商业账号被接管风险,为社交商业账号安全治理提供理论依据与实践方案。
1 引言
短视频与社交电商的快速发展使 TikTok 商业账号成为品牌运营、广告投放、用户触达的核心资产,其安全直接关系企业资金、数据与品牌声誉。近期,针对 TikTok 商业账号的钓鱼攻击呈现高度组织化、技术专业化特征:攻击者以钓鱼邮件为入口,借助合法 Google Storage 链接降低用户警惕,通过 Cloudflare Turnstile 人机验证绕过安全检测,最终导向仿冒 TikTok 商业中心或 Google 登录页面的 AITM 钓鱼站点,实现账号完全接管。此类攻击可同时窃取 Google 与 TikTok 双平台身份,利用 SSO 机制扩大渗透范围,已成为 SaaS 与社交商业账号面临的典型高级威胁。
反网络钓鱼技术专家芦笛指出,当前社交商业账号钓鱼正从简单仿冒向云服务白利用 + 中间人代理 + 多因素绕过演进,传统基于域名黑名单、关键词匹配的防护手段失效,必须从攻击链全流程构建检测与阻断能力。本文以真实事件为实证,剖析攻击全生命周期,提出技术可落地、管理可执行、人员可感知的闭环防护体系,为企业与平台方提供参考。
2 TikTok 商业账号钓鱼攻击事件全景与特征
2.1 攻击事件基本情况
Push Security 最新监测显示,针对 TikTok 商业账号的钓鱼 campaign 以邮件为初始载体,核心目标为窃取广告账号权限与资金,攻击流程高度标准化:
攻击者发送含 Google Storage 链接的钓鱼邮件,伪装成商务合作、账号审核、广告资质核验等场景;
受害者点击合法 Google Storage 链接后被重定向至恶意登录页;
页面先触发 Cloudflare Turnstile 验证,绕过安全爬虫与网关检测;
后端部署 AITM 钓鱼工具包,以反向代理方式实时捕获账号、密码、Cookie 与 MFA 验证码;
攻击者获取完整会话后,接管账号投放虚假广告、分发窃密软件,甚至利用 Google SSO 权限入侵其他应用。
该攻击依托合法云服务跳转、人机验证绕过、中间人代理三大技术组合,突破常规邮件安全防护,对开通 Google 单点登录的用户威胁尤甚。
2.2 攻击目标与动机合理性分析
从表面看,TikTok 并非传统高价值攻击目标,但结合黑产链路具备强合理性:
商业账号绑定广告账户与支付渠道,可直接产生经济收益;
平台存在大量虚假教程类视频,用于分发 Vidar、StealC 等信息窃取木马,单条视频播放量可达数十万;
高粉丝账号可仿冒名人发布虚假理财、加密货币骗局,诱导用户转账;
账号权限可在黑产交易,形成完整黑色产业链。
反网络钓鱼技术专家芦笛强调,TikTok 商业账号已成为黑产流量变现 + 信息窃取 + 跨平台渗透的关键入口,其安全防护短板正被攻击者持续利用。
2.3 攻击核心特征总结
白利用跳转:使用 Google Storage 等合法云存储作为跳转入口,绕过网关信誉检测;
反检测机制:通过 Cloudflare Turnstile 验证过滤安全爬虫,提升存活周期;
AITM 中间人:反向代理实时劫持认证全过程,MFA 无法提供有效保护;
SSO 横向渗透:一次钓鱼可攻陷 Google 与 TikTok 双账号,扩大影响范围;
场景高度仿真:伪造 TikTok for Business 与 Google Careers 页面,匹配用户高频操作习惯。
3 攻击技术机理与实现路径
3.1 社会工程学诱导机制
权威伪装:冒充 TikTok 官方审核、广告运营、Google 团队,降低用户戒备;
利益驱动:以广告额度提升、账号流量扶持、合作邀约为诱饵;
紧急胁迫:以资质过期、账号限流、功能停用迫使用户快速操作;
场景贴合:复用企业用户日常登录、核验、预约会议等流程,欺骗性极强。
3.2 云存储白利用与跳转技术
攻击者将恶意链接嵌入 Google Storage,利用用户对 Google 的信任实施跳转:
合法 URL:https://storage.googleapis.com/xxx/redirect.html
页面内嵌 JS 或 Meta 刷新,定向至钓鱼域名;
网关仅检测入口域信誉,未解析最终跳转目标,导致放行。
此类方法可复用主流云存储,批量生成高可信度诱饵链接。
3.3 Cloudflare Turnstile 绕过机制
Turnstile 用于区分人机,攻击者通过以下方式实现绕过:
前端模拟用户交互(鼠标移动、点击、停留);
使用无头浏览器 + 插件自动化完成验证;
批量域名分散请求,降低单域名触发严格策略概率。
其作用是过滤安全设备扫描,延长钓鱼站点存活时间。
3.4 AITM 钓鱼工具包核心原理
AITM(Adversary-in-the-Middle)是本次攻击的核心,以反向代理透明劫持认证流程:
用户访问钓鱼站点,请求被转发至攻击者服务器;
服务器请求官方登录页并返回给用户,保持视觉一致;
用户输入账号、密码、MFA 码,数据实时上传攻击者服务器;
服务器使用窃取信息登录官方平台,获取有效会话与 Cookie;
攻击者持有会话实现长期控制,可绕过后续认证。
该机制可完全突破 MFA,是当前最危险的钓鱼技术之一。
3.5 SSO 账号横向渗透危害
大量用户使用Sign in with Google登录 TikTok,导致:
单次钓鱼同时攻陷 Google 与 TikTok 账号;
攻击者可访问 Google Ad Manager 实施广告欺诈;
利用 SSO 权限入侵其他关联应用,造成数据泄露与勒索风险。
4 面向 TikTok 商业账号的全链路防护体系
4.1 防护总体框架
以阻断入口、检测跳转、加固认证、快速响应为核心,构建四层闭环体系:
入口层:邮件网关拦截钓鱼邮件,识别云存储异常跳转;
检测层:实时解析链接跳转路径,识别 AITM 代理特征;
认证层:强化 MFA、禁用高危 SSO、启用会话管控;
响应层:异常行为告警、账号冻结、取证溯源、快速恢复。
反网络钓鱼技术专家芦笛强调,单一防护无法抵御 AITM 攻击,必须在跳转、验证、代理、登录全环节部署检测点。
4.2 邮件与链接入口防护
对 Google Storage、OneDrive 等链接进行深度解析,获取最终目标 URL;
建立钓鱼域名注册机构黑名单(如 Nicenic International Group);
对包含 login、verify、account、tiktok、business 等关键词的未知域名标记高风险;
对邮件标题含 “TikTok 审核”“广告资质”“Google 预约” 等场景加强检测。
4.3 AITM 钓鱼页面检测
检测页面是否为反向代理:响应头异常、Cookie 命名不规范、会话令牌异常;
监测同一 IP 短时间内向多域名提交认证请求,判定为批量钓鱼;
对同时仿冒 TikTok 与 Google 的页面提升风险等级;
浏览器侧扩展实时校验域名与证书,拦截非官方登录页。
4.4 身份认证与账号加固
强制启用硬件密钥或应用式 MFA,禁用短信验证码;
商业账号关闭 SSO 自动关联,采用独立密码体系;
限制异地登录、批量群发、异常广告创建等高风险操作;
敏感操作二次核验,如广告投放、资金提现、权限变更。
4.5 应急响应流程
发现:用户举报、网关告警、异常行为检测触发;
研判:确认钓鱼链接、域名、页面类型,评估影响范围;
遏制:封禁恶意 URL、冻结涉事账号、撤销会话;
清除:重置密码、更新 MFA、查杀终端木马;
复盘:更新规则、加固短板、开展员工培训。
5 恶意链接与钓鱼页面检测代码实现
5.1 设计思路
融合URL 解析 + 跳转追踪 + 规则匹配 + 机器学习,实现对 Google Storage 跳转、AITM 代理站点的高精度识别。
5.2 核心代码
# -*- coding: utf-8 -*-
"""
TikTok商业账号钓鱼检测模块
支持云存储跳转解析、AITM代理识别、风险域名判定
"""
import re
import requests
from urllib.parse import urlparse
from typing import Tuple, List
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
class TikTokBusinessPhishingDetector:
def __init__(self):
# 高风险云存储路径特征
self.cloud_storage_domains = {"storage.googleapis.com", "onedrive.live.com", "dropbox.com"}
# 钓鱼高频关键词
self.risky_keywords = {"tiktok", "business", "login", "verify", "account", "google", "career"}
# 恶意注册商特征
self.bad_registrars = {"nicenic international group"}
# 模型初始化
self.vectorizer = TfidfVectorizer(ngram_range=(1,2))
self.model = LogisticRegression(max_iter=1000)
def get_final_redirect(self, url: str, timeout: int=5) -> Tuple[str, int]:
"""获取最终跳转URL"""
try:
session = requests.Session()
response = session.head(url, allow_redirects=True, timeout=timeout)
return response.url, response.status_code
except Exception:
return "", 0
def extract_domain_features(self, url: str) -> dict:
"""提取域名风险特征"""
parsed = urlparse(url)
domain = parsed.netloc.lower()
return {
"is_cloud_storage": any(d in domain for d in self.cloud_storage_domains),
"has_risky_keyword": any(kw in domain for kw in self.risky_keywords),
"length": len(domain),
"has_random_str": bool(re.search(r"[a-z0-9]{10,}", domain)),
"is_ip": bool(re.match(r"^\d+\.\d+\.\d+\.\d+$", domain.split(":")[0]))
}
def check_aitm_indicators(self, url: str) -> Tuple[bool, str]:
"""检测AITM钓鱼特征"""
try:
resp = requests.get(url, timeout=5, headers={"User-Agent": "Mozilla/5.0"})
content = resp.text.lower()
# 同时仿冒TikTok与Google特征
has_tiktok = "tiktok for business" in content
has_google = "google account" in content or "sign in with google" in content
# 表单指向异常
has_suspicious_form = '<form action="' in content and "login" in content
if (has_tiktok or has_google) and has_suspicious_form:
return True, "存在AITM钓鱼页面特征"
return False, "无明显AITM特征"
except Exception:
return False, "访问失败"
def detect(self, url: str) -> dict:
"""综合检测入口"""
final_url, status = self.get_final_redirect(url)
if not final_url:
return {"level": "unknown", "reason": "无法访问"}
domain_feats = self.extract_domain_features(final_url)
is_aitm, aitm_msg = self.check_aitm_indicators(final_url)
# 风险判定
if is_aitm:
level = "high"
reason = aitm_msg
elif domain_feats["has_risky_keyword"] and domain_feats["has_random_str"]:
level = "medium"
reason = "可疑域名结构+高危关键词"
elif domain_feats["is_cloud_storage"] and "redirect" in final_url.lower():
level = "medium"
reason = "云存储可疑跳转"
else:
level = "low"
reason = "未发现明显风险"
return {
"original_url": url,
"final_url": final_url,
"risk_level": level,
"reason": reason,
"domain_features": domain_feats
}
# 示例调用
if __name__ == "__main__":
detector = TikTokBusinessPhishingDetector()
# 测试样本:模拟Google Storage跳转钓鱼链接
test_url = "https://storage.googleapis.com/fake-path/redirect.html"
result = detector.detect(test_url)
print("检测结果:", result)
5.3 工程化部署说明
集成至邮件网关、企业浏览器扩展、SOC 平台;
对接威胁情报,实时更新恶意域名与注册商;
支持批量检测邮件附件与正文中的链接;
可扩展页面 DOM 解析、证书校验、会话行为分析模块。
反网络钓鱼技术专家芦笛指出,该代码可有效识别云存储白利用 + 跳转钓鱼 + AITM 代理组合攻击,适合企业级部署。
6 企业防护落地建议
员工培训:重点培训 TikTok 商业账号、Google SSO、云存储链接钓鱼识别;
账号隔离:广告账号与日常办公账号分离,最小权限分配;
网关升级:启用跳转解析、人机验证检测、AITM 特征识别;
认证强化:强制硬件 MFA,关闭敏感账号自动 SSO 关联;
监控告警:实时监控广告创建、资金变动、异地登录行为。
7 结论
针对 TikTok 商业账号的钓鱼攻击已形成合法云存储跳转 + Cloudflare Turnstile 绕过 + AITM 中间人代理的高级攻击链,可突破 MFA 与 SSO,实现账号完全接管,兼具隐蔽性、危害性与扩散性。本文系统解析其技术机理与社会工程学手段,构建全链路防护体系并提供可直接部署的检测代码。研究表明:
云存储白利用与反向代理是当前钓鱼攻击绕过传统防护的核心手段;
多维度特征融合检测可有效识别跳转链接与 AITM 钓鱼页面,降低误报率;
强身份认证、会话管控与应急响应协同,可显著提升商业账号抗攻击能力;
技术防御、制度管理、人员意识三位一体,是长效安全的基础。
未来研究将聚焦 AI 生成式钓鱼页面检测、跨平台威胁情报共享、零信任架构在社交商业账号中的落地,持续提升对抗高级钓鱼攻击的能力。
编辑:芦笛(公共互联网反网络钓鱼工作组)