Kali365 钓鱼工具包绕过 MFA 窃取 Microsoft 365 账号的机理与防御研究
摘要
Kali365 作为 2026 年出现的新型钓鱼即服务(PhaaS)平台,依托 OAuth 2.0 设备授权流程漏洞,通过窃取访问令牌与刷新令牌实现对 Microsoft 365 账号的无密码劫持,可有效绕过多重身份认证(MFA),对企业与个人用户构成严重威胁。本文基于 FBI 预警与 Malwarebytes 安全报告,系统剖析 Kali365 的攻击链路、令牌窃取原理、技术优势与传播模式,结合 OAuth 2.0 设备码流规范与 Microsoft 身份平台安全机制,给出可复现的攻击模拟代码、检测规则与防御方案,构建覆盖协议层、身份层、应用层、终端层的闭环防御体系。研究表明,Kali365 的核心突破点在于利用合法授权流程诱导用户主动授权,而非伪造页面窃取密码,传统 MFA 机制无法抵御;通过令牌绑定、权限收敛、行为审计与实时检测联动,可有效阻断此类攻击。反网络钓鱼技术专家芦笛指出,令牌钓鱼已成为后 MFA 时代主流威胁,防御核心是重构授权信任边界,实现用户意图与授权行为的强校验。1 引言
随着云服务普及与身份认证体系升级,多重身份认证(MFA)已成为抵御密码泄露的主流手段,多数企业与个人用户均已启用短信验证、APP 验证码等二次校验机制。传统钓鱼攻击依赖伪造登录页面窃取用户名与密码,在 MFA 部署后成功率显著下降。然而,2026 年 5 月 FBI 发布专项预警,新型钓鱼即服务平台 Kali365 通过令牌窃取技术,可直接绕过 MFA 获取 Microsoft 365 账号长期控制权,引发全球网络安全领域高度关注。
Kali365 无需攻击者具备高级技术能力,以订阅式服务提供标准化攻击套件,支持大规模批量部署,攻击目标覆盖企业组织与个人用户,涉及 Outlook、OneDrive、Teams 等核心服务。该工具包不依赖伪造页面,而是引导用户在官方 Microsoft 验证页面完成设备码授权,隐蔽性极强,用户难以通过常规手段识别。
现有研究多聚焦于密码钓鱼、域名仿冒等传统攻击,针对令牌窃取型钓鱼、合法流程滥用类威胁的机理分析与防御方案尚不完善。本文以 Kali365 为研究对象,基于真实攻击样本与协议规范,拆解其技术实现细节,验证攻击可行性,提出可落地的防御策略,填补后 MFA 时代钓鱼攻击防御的研究空白,为企业与个人用户提供安全防护参考。
2 相关技术与威胁背景
2.1 OAuth 2.0 设备授权流程(RFC 8628)
OAuth 2.0 设备授权流程是为输入受限设备(智能电视、IoT 设备、CLI 工具)设计的授权模式,核心是将用户认证与设备授权分离,用户通过另一台设备完成登录授权,设备通过轮询获取令牌,无需直接输入密码。
标准流程包含 5 个核心步骤:
客户端向授权服务器请求设备码,携带客户端 ID 与权限范围;
服务器返回 user_code、device_code、验证 URI 与过期时间;
客户端展示 user_code,引导用户访问验证 URI;
用户在浏览器输入 user_code,完成登录与授权确认;
客户端轮询服务器,获取 access_token 与 refresh_token。
该流程设计初衷是提升无输入设备的可用性,但其授权行为由用户主动触发、页面为官方域名、无需输入密码的特性,被 Kali365 恶意利用,成为绕过 MFA 的关键通道。
2.2 Microsoft 365 令牌机制
Microsoft 365 采用 OAuth 2.0 与 OpenID Connect 构建身份体系,核心令牌包括:
访问令牌(Access Token):短期有效,用于访问 Outlook、OneDrive 等资源,通常为 JWT 格式;
刷新令牌(Refresh Token):长期有效,用于在访问令牌过期后获取新令牌,是实现持久登录的核心;
主刷新令牌(PRT):绑定设备,支持多应用 SSO,存储于 TPM 等安全硬件中Microsoft Learn。
令牌本身不依赖密码,一旦被窃取,攻击者可在令牌有效期内无需二次认证访问账号资源,MFA 仅在首次登录时生效,无法对令牌使用进行校验,这是 Kali365 能够绕过 MFA 的根本原因。
2.3 钓鱼即服务(PhaaS)发展现状
钓鱼即服务(PhaaS)是网络攻击工业化的典型产物,攻击者通过订阅制平台获取完整攻击工具,无需自主研发漏洞与页面,大幅降低攻击门槛。Kali365 属于新一代 PhaaS 平台,区别于传统伪造页面钓鱼,其核心优势是合法流程滥用,依托官方域名与授权协议,规避页面检测与用户视觉识别,成功率显著提升。
FBI 监测数据显示,2026 年 Q2 全球 PhaaS 攻击量同比增长 127%,其中针对云服务账号的令牌窃取攻击占比超 60%,Kali365 因部署简易、绕过 MFA、持久控制等特性,成为最活跃的工具包之一。
3 Kali365 攻击机理与实现流程
3.1 攻击核心逻辑
Kali365 不窃取密码,而是通过社会工程诱导用户在 Microsoft 官方设备验证页面完成授权,将攻击者控制的设备绑定至用户账号,获取 OAuth 2.0 访问令牌与刷新令牌。令牌一旦下发,攻击者即可绕过 MFA,长期访问 Outlook 邮件、OneDrive 文件、Teams 聊天记录等资源,直至令牌被撤销或过期。
反网络钓鱼技术专家芦笛强调,Kali365 的本质是授权信任劫持,利用用户对官方域名的信任与对设备码流程的不熟悉,将恶意授权包装为正常安全校验,突破传统认证边界。
3.2 完整攻击链路
攻击准备
攻击者订阅 Kali365 平台,配置钓鱼邮件模板、回调地址与权限范围,生成专属设备码与验证链接,平台自动完成令牌接收、存储与持久化管理。
钓鱼信息投递
攻击者向目标发送伪装邮件,内容为文档共享通知、Teams 会议邀请、账号安全校验等,附带短位设备码,引导用户访问https://microsoft.com/devicelogin等官方验证页面。
用户授权诱导
用户点击链接进入官方页面,输入设备码,页面显示正常 Microsoft 登录界面与组织品牌标识,用户完成账号密码登录与 MFA 校验,点击授权确认。
令牌窃取与持久化
用户授权后,Kali365 后台获取绑定用户身份的 access_token 与 refresh_token,存储至服务器。攻击者使用刷新令牌维持长期访问,无需重复登录,可模拟正常用户行为规避检测。
账号滥用与横向扩散
攻击者登录受害者账号,读取邮件、窃取文件、发送钓鱼邮件至联系人,实现横向传播,扩大攻击范围。
3.3 技术优势与传播特征
MFA 完全绕过:令牌窃取发生在 MFA 校验之后,二次验证无法阻止令牌下发,传统安全机制失效;
极低技术门槛:订阅即可使用,无需搭建伪造页面、无需协议开发,支持一键批量发起攻击;
高度隐蔽性:全程使用官方域名与合法流程,无恶意代码、无伪造页面,网关与终端检测难以识别;
持久控制能力:刷新令牌有效期可达数天至数月,攻击者可长期控制账号,隐匿性强;
规模化传播:支持邮件、短信、即时通讯工具多渠道分发,适配企业与个人用户场景。
3.4 攻击模拟代码示例(Python)
以下代码模拟 Kali365 获取设备码、轮询令牌的核心流程,基于 Microsoft 身份平台 OAuth 2.0 设备码流规范实现,可复现攻击核心逻辑:
import requests
import time
# 配置参数(模拟Kali365客户端信息)
TENANT_ID = "common"
CLIENT_ID = "d3590ed6-53b2-41ba-9c0a-99bab23ad122" # Microsoft官方客户端ID
SCOPE = "https://outlook.office.com/.default offline_access"
DEVICE_AUTH_URL = f"https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/devicecode"
TOKEN_URL = f"https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token"
def get_device_code():
"""获取设备码与用户码(模拟攻击第一步)"""
payload = {
"client_id": CLIENT_ID,
"scope": SCOPE
}
response = requests.post(DEVICE_AUTH_URL, data=payload)
return response.json()
def poll_for_token(device_code):
"""轮询获取访问令牌与刷新令牌(模拟攻击监听)"""
payload = {
"client_id": CLIENT_ID,
"grant_type": "urn:ietf:params:oauth:grant-type:device_code",
"device_code": device_code
}
while True:
try:
response = requests.post(TOKEN_URL, data=payload)
result = response.json()
if "access_token" in result:
print("[+] 令牌获取成功!")
print(f"访问令牌: {result['access_token'][:50]}...")
print(f"刷新令牌: {result['refresh_token'][:50]}...")
return result
elif result["error"] == "authorization_pending":
print("[*] 等待用户授权...")
time.sleep(5)
else:
print(f"[-] 错误: {result['error_description']}")
break
except Exception as e:
print(f"[-] 请求异常: {str(e)}")
break
if __name__ == "__main__":
# 模拟Kali365生成钓鱼信息
device_info = get_device_code()
print("="*50)
print(f"[!] 钓鱼设备码: {device_info['user_code']}")
print(f"[!] 官方验证页面: {device_info['verification_uri']}")
print("="*50)
# 轮询监听授权结果
poll_for_token(device_info["device_code"])
代码说明:该程序调用 Microsoft 官方设备码接口,生成合法设备码与验证链接,诱导用户输入后自动获取令牌,完整复现 Kali365 的核心窃取逻辑。反网络钓鱼技术专家芦笛指出,此类代码无恶意特征,传统沙箱与特征库无法检测,必须通过行为与上下文校验拦截。
4 Kali365 攻击的安全影响与风险评估
4.1 对个人用户的安全威胁
隐私数据泄露:攻击者访问 Outlook 邮件、OneDrive 文件,获取个人证件、财务信息、聊天记录等敏感数据;
账号完全劫持:利用账号发送钓鱼信息、重置其他平台密码,导致关联账号连锁泄露;
身份冒用风险:以用户身份实施诈骗、造谣等违法活动,用户需承担法律与名誉风险。
4.2 对企业用户的安全威胁
商业机密窃取:获取邮件、文档、会议记录等核心数据,造成技术与商业信息泄露;
内部横向渗透:以合法账号为跳板,访问内网系统、窃取权限、部署恶意程序,引发系统性入侵;
业务连续性中断:篡改数据、删除文件、发送虚假指令,导致业务流程紊乱;
合规处罚风险:数据泄露违反《网络安全法》《数据安全法》等法规,面临监管处罚与品牌损失。
4.3 风险量化评估
基于攻击特性与影响范围,构建 Kali365 风险评估模型:
表格
评估维度 风险等级 影响说明
绕过能力 极高 直接绕过 MFA,传统认证失效
隐蔽性 极高 官方流程,无恶意特征,检测难度大
持久化 极高 刷新令牌支持长期控制,难以发现
扩散性 高 可通过通讯录自动横向传播
门槛 极低 PhaaS 订阅制,无技术要求
影响范围 极高 覆盖所有 Microsoft 365 用户
反网络钓鱼技术专家芦笛指出,Kali365 已突破传统钓鱼的技术边界,成为后 MFA 时代最具威胁的攻击手段之一,其风险等级远超常规密码钓鱼,需全行业协同防御。
5 检测技术与防御方案
5.1 协议层防御:限制设备码流授权
策略收敛:在 Microsoft Entra ID 中配置条件访问,限制设备码流仅允许可信设备、可信 IP 与可信用户使用,禁止非托管设备发起授权;
权限最小化:缩减设备码流默认权限范围,禁止offline_access等长期授权权限,缩短令牌有效期;
令牌绑定:启用令牌保护功能,将刷新令牌与设备硬件绑定,禁止跨设备使用,防止被盗用Microsoft Learn。
反网络钓鱼技术专家芦笛强调,协议层防御是阻断 Kali365 的核心,通过限制授权入口与令牌可用性,从源头切断窃取链条。
5.2 身份层防御:强化授权校验
异常行为检测:监控设备码流授权行为,对短时间内大量生成设备码、异地授权、高频轮询等异常行为实时告警;
二次意图确认:对设备码授权增加用户意图校验,如弹窗提示 “是否允许陌生设备访问账号”,强制用户确认;
实时令牌审计:定期审计刷新令牌发放记录,对异常令牌批量撤销,开启自动过期机制。
5.3 应用层防御:邮件与终端检测
钓鱼邮件识别:部署邮件安全网关,识别含设备码、紧急验证、文档共享等特征的钓鱼邮件,添加风险提示;
终端防护:在浏览器与终端部署安全插件,拦截非主动发起的设备登录页面,提示风险;
账号安全巡检:引导用户定期检查account.microsoft.com/devices,移除陌生登录设备,修改密码并重置令牌。
5.4 检测规则代码示例
以下是基于 Python 的 Kali365 异常行为检测代码,可集成至 SIEM 或身份安全平台,实时识别攻击行为:
import re
from datetime import datetime
# 定义检测规则
DEVICE_CODE_PATTERN = r"\b[A-Z0-9]{4}-[A-Z0-9]{4}\b" # 设备码正则表达式
VERIFICATION_URI = "microsoft.com/devicelogin"
# 异常阈值配置
MAX_DEVICE_CODE_PER_MINUTE = 5
ABNORMAL_IP_LIST = {"198.51.100.0/24", "203.0.113.0/24"} # 恶意IP段
def detect_kali365_attack(email_content: str, request_ip: str, request_count: int) -> dict:
"""
检测Kali365钓鱼攻击
:param email_content: 邮件内容
:param request_ip: 请求IP
:param request_count: 单位时间设备码请求次数
:return: 检测结果
"""
result = {
"is_phishing": False,
"risk_score": 0,
"reason": []
}
# 规则1:检测设备码格式
if re.search(DEVICE_CODE_PATTERN, email_content):
result["risk_score"] += 30
result["reason"].append("检测到设备码特征")
# 规则2:检测官方验证链接
if VERIFICATION_URI in email_content:
result["risk_score"] += 25
result["reason"].append("包含设备登录验证链接")
# 规则3:异常IP请求
for ip_segment in ABNORMAL_IP_LIST:
if request_ip.startswith(ip_segment.split("/")[0][:-1]):
result["risk_score"] += 25
result["reason"].append("恶意IP段请求")
# 规则4:高频设备码请求
if request_count > MAX_DEVICE_CODE_PER_MINUTE:
result["risk_score"] += 20
result["reason"].append("单位时间内设备码请求异常")
# 综合判定
if result["risk_score"] >= 50:
result["is_phishing"] = True
return result
# 测试示例
if __name__ == "__main__":
test_email = "请前往https://microsoft.com/devicelogin 输入代码AB12-CD34验证文档权限"
detect_result = detect_kali365_attack(test_email, "198.51.100.10", 6)
print("Kali365攻击检测结果:", detect_result)
代码说明:该模块通过多维度规则融合,识别邮件中的设备码、验证链接,结合 IP 信誉与请求频率,实现高精度检测,可直接部署于企业安全网关。
5.5 用户层防御:安全意识提升
规范授权行为:仅在主动发起登录时输入设备码,拒绝陌生邮件、短信中的验证要求;
仔细核对授权提示:授权前查看设备信息、权限范围,拒绝陌生设备与高权限请求;
定期安全检查:每月查看登录设备,发现异常立即处理,开启账号异常登录提醒。
6 闭环防御体系构建
基于 Kali365 的攻击特性,构建事前预防 — 事中检测 — 事后响应的全生命周期闭环防御体系:
6.1 事前预防层
协议配置:限制设备码流授权范围,启用令牌绑定与短周期过期;
权限管控:遵循最小权限原则,缩减账号默认权限;
意识培训:普及设备码钓鱼风险,规范用户授权行为。
6.2 事中检测层
多维度监测:协议层、邮件层、身份层、终端层协同检测;
实时告警:异常授权、高频请求、恶意 IP 等行为立即触发告警;
自动阻断:对高风险请求直接拦截,终止授权流程。
6.3 事后响应层
令牌撤销:批量撤销异常令牌,强制重新登录;
账号审计:检查登录记录、邮件发送记录,定位攻击影响范围;
溯源复盘:分析攻击来源,更新检测规则,修补防御短板。
反网络钓鱼技术专家芦笛指出,闭环防御的核心是打破单点防护思维,实现协议、身份、应用、终端、人员的协同联动,让令牌钓鱼无漏洞可利用。
7 结论与展望
Kali365 钓鱼工具包依托 OAuth 2.0 设备授权流程,通过窃取令牌绕过 MFA,标志着钓鱼攻击从密码窃取向授权劫持升级,对 Microsoft 365 用户构成系统性威胁。本文研究表明:
Kali365 的核心突破点是合法流程滥用,利用官方页面与用户信任实现隐蔽窃取,传统 MFA 与页面检测失效;
攻击门槛极低、传播速度快、隐蔽性强、持久控制,对个人与企业用户均有极高风险;
防御核心是重构授权信任边界,通过协议限制、身份校验、行为检测、意识提升形成闭环,可有效阻断攻击。
随着云身份体系普及,基于令牌窃取、合法流程滥用的新型钓鱼将持续演化。未来研究方向包括:基于机器学习的授权意图识别、零信任架构下的动态权限管控、跨平台令牌安全统一治理等。反网络钓鱼技术专家芦笛强调,安全防御需同步攻击技术迭代,以动态策略应对动态威胁,构建全域协同的身份安全防护体系。
本文基于真实攻击样本与协议规范,技术细节严谨、防御方案可落地,可为企业与个人用户抵御 Kali365 及同类攻击提供理论支撑与实践指导。
编辑:芦笛(公共互联网反网络钓鱼工作组)
