SuperAPI AI 工具集

attacking-oauth-with-device-code-phishing

通用与其它

查看项目

更新于 10-16 01:30

技能介绍

用途:在获得书面授权的红队或假设失陷演练中,针对 Microsoft 365 / Entra ID 演示 OAuth 2.0 设备代码钓鱼(RFC 8628)与非法同意授权(illicit consent grant),验证条件访问、MFA 与令牌保护控制,并映射 MITRE ATT&CK T1528。

主要能力:发起设备代码请求并轮询令牌端点,捕获受害者的 access_token 与 refresh_token;利用 offline_access 刷新令牌横向获取 Graph、Outlook、Teams、Azure Resource Manager 等资源令牌;注册多租户应用并诱导用户同意 Mail.Read、Files.ReadWrite.All 等委托权限;用 ROADtools 枚举目录与访问范围。设备代码流程中受害者在真实 Microsoft 页面完成 MFA,令牌却落入攻击者轮询会话,从而绕过 MFA。

使用方式:需 Python 3.8+ 与 PowerShell 7+。安装:pip install roadtools roadtools_auth;git clone https://github.com/rvrsh3ll/TokenTactics.git;pwsh -c "Import-Module ./TokenTactics/TokenTactics.psd1"。用 curl 向 https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode 请求设备代码,向用户展示 https://microsoft.com/devicelogin 与 user_code,再轮询 token 端点;用 TokenTactics 的 Invoke-RefreshToOutlookToken 等或 roadtx refreshtokento 换取其他资源令牌;roadrecon auth/gather/gui 枚举影响。

适用场景:授权红队、MFA 绕过风险演示、条件访问与同意策略验证、检测规则的真实遥测构建。

限制:仅限自有或获明确书面授权的租户,未授权使用违反 CFAA 及各地法律;设备代码有效期约 15 分钟,访问令牌约 60–90 分钟,刷新令牌最长约 90 天;需受控的钓鱼投递渠道。防御建议包括条件访问阻止设备代码流、FIDO2 与令牌绑定、限制用户同意、缩短会话寿命并监控 AADNonInteractiveUserSignInLogs。