标签 OAuth 2.0 下的文章

一种狡猾的新型钓鱼技术正利用用户对微软官方工具的信任实施攻击。这种被命名为 “ConsentFix”(又称 AuthCodeFix)的攻击手段,通过滥用 Azure CLI 等正规应用所采用的OAuth 2.0 授权流程,诱骗受害者交出微软账号的控制权。
该技术由 NVISO 威胁检测工程团队的斯塔马蒂斯・查齐芒古分析发现,标志着 “修复类” 钓鱼攻击迎来危险的进化。攻击者不再窃取密码,而是盗取预先批准的授权码,借此绕过多重身份验证(MFA)和条件访问策略。
攻击以经典场景启动:受害者被诱导访问钓鱼页面并尝试登录。但关键陷阱出现在身份验证之后 —— 受害者会被重定向至微软官方登录页面,要求授权一款应用,而该应用通常是 Azure CLI 这类受信任的微软第一方工具。
由于 Azure CLI 是微软官方应用,它 “被 Entra ID 默认信任”,这意味着用户往往不会看到任何授权确认弹窗,直接完成授权流程。
当受害者被重定向至localhost本地地址时,陷阱正式触发。由于受害者设备上并未运行任何能接收该请求的应用,浏览器会显示 “无法访问此网站” 的错误页面。这一错误并非意外,而是攻击者刻意设计的核心环节。
“攻击者会利用这一情况,指示受害者:若出现该错误,需将包含授权码的 URL 复制粘贴回钓鱼网站。”
受害者误以为自己在 “修复” 登录故障,便手动将包含核心授权码的 URL 粘贴到攻击者的虚假网站中。
攻击者获取该授权码后,可通过微软 API 将其兑换为访问令牌。该令牌将赋予攻击者与所伪造应用相同的权限,直接访问受害者的账号。
关键在于,这一兑换过程在攻击者的设备上完成,从而彻底规避了安全控制。“尽管用户最初的登录行为受条件访问策略约束,但一旦攻击者获取授权码,便可将其兑换为访问令牌,且不会触发新的条件访问评估。”
这使得攻击者能够 “从未经合规验证的设备或不受信任的位置获取令牌”—— 而这些场景在正常情况下都会被拦截。
报告指出,Azure CLI 只是众多存在漏洞的微软第一方应用之一,其他还包括:
  • Microsoft Azure PowerShell(微软 Azure PowerShell)
  • Visual Studio Code(Visual Studio 代码编辑器)
  • Microsoft Teams(微软 Teams)
  • Microsoft SharePoint Online Management Shell(微软 SharePoint Online 管理外壳)
攻击者可选择不同的 “回调 URI” 让骗局更具迷惑性。例如,使用https://aadrm.com/adminpowershell作为回调地址,会将受害者重定向至看似正规的页面,但授权码仍会暴露在地址栏中。
由于该攻击滥用的是正规授权流程,若不影响必要的开发者工具正常使用,很难对其进行拦截。但查齐芒古指出,攻击行为会在日志中留下痕迹。
安全团队可通过关联受害者的初始登录记录与攻击者后续的令牌兑换行为,发现此类攻击。关键在于排查AADNonInteractiveUserSignInLogs日志表中的IP 地址和位置字段差异:同一会话 ID(Session ID)会显示来自两个地理位置遥远的活动记录 —— 分别是受害者和攻击者的位置。
随着用户对传统凭证钓鱼的防范意识不断提升,ConsentFix 攻击提醒我们:攻击者正将目标转向身份认证底层协议本身,安全防护需进一步向协议层面延伸。

感谢 @elky 大佬开源此项目

大佬沉迷 coding ,更新了也不发贴

我近期也是疯狂的给大佬提需求 (偶尔提交几个 PR

更新说明: 本次更新距离上次版本已有较长时间,带来了多项功能新增和改进

1. 中转站 & 公益站余额监控

  • 支持通过 New-API 接口获取账户余额信息

2. 模型正则映射

  • 通过正则表达式自动匹配和映射模型别名,无需手动逐个修改模型配置

3. 模块管理与 OAuth 登录

  • 模块化系统架构,支持功能模块的独立管理
  • 集成 OAuth 2.0 协议,支持第三方平台登录认证 (目前只支持 Linux Do)

4. 端点密钥分离与智能分配

  • 密钥与端点解耦,单个密钥支持配置多个端点
  • 支持自动获取模型功能

5. 请求详情对话视图

  • 请求体和响应体以对话形式展示
  • 优化了调试信息的可读性

后续计划

  • 支持上游 New-api 签到
  • 增加中转站的 周 / 天 / 小时 等限制
  • 工单系统,用于额度申请等
  • 基于提供商模型列表的健康监控,用于展示每个提供商模型的健康度
  • Chat / 生图 / 操练场

📌 转载信息
原作者:
AAEE86
转载时间:
2026/1/19 17:46:21