在此过程中,攻击者不仅捕获用户名与密码,更重要的是截获认证成功后返回的会话Cookie、OAuth 2.0访问令牌及刷新令牌(Refresh Token),从而实现无需凭证重放的持久化账户访问。...,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。...刷新令牌生命周期过长:默认情况下,Microsoft Entra ID的刷新令牌有效期可达90天,且在用户未主动登出前持续有效。这为攻击者提供了长期潜伏窗口。...(三)浏览器内令牌绑定(DPoP)推动SaaS供应商支持OAuth 2.0 DPoP规范。DPoP要求客户端在每次API请求中附带一个由私钥签名的证明令牌,该私钥与TLS连接绑定。...指标包括:登录IP是否在历史地理围栏外;User-Agent是否与设备注册信息一致;是否在短时间内访问大量敏感资源(如/me/drive/root:/Board/)。
服务都失效了,在B站偶然刷到相关的内容,刚好满足我的白嫖心理~ 步骤说明 注册Microsoft账号,并加入开发者计划 下载Microsoft365,登录账号并激活 自动续时:保持开发者身份...权限配置 注册的应用程序API权限类型有两种,其主要区别如下表所示: 权限类型 委托的权限(用户登录) 应用程序权限(非用户登录) 官方释义 应用程序必须以登录用户身份访问API 应用程序在用户未登录的情况下作为后台服务或守护程序运行...:证书和密码->添加客户端密码 确认完成在列表处可以看到生成的记录,点击选择复制值(即客户端密码) b.API调用工具 Microsoft Graph 浏览器是一种基于 Web 的工具...,可用于生成和测试对 Microsoft Graph API 的请求 API需要的权限设定可在预览卡中查阅,授权后则可再次尝试调用响应 Postman 是一个可用于向 Microsoft...Graph API 发出请求的工具:Postman&Microsoft Graph API使用 c.Microsoft Graph 快速入门示例 Microsoft Graph入门
该流程允许用户在另一台具备浏览器的设备上完成授权,从而获取访问令牌。...尽管设计初衷合理,但该机制在实际应用中暴露出严重的安全盲区——攻击者可诱导用户在真实的微软登录页面输入由攻击方生成的设备代码,进而完成恶意应用的授权绑定。...更严重的是,即使组织启用了短信或电话MFA,攻击者仍可在用户完成授权后直接获取长期有效的刷新令牌(Refresh Token),实现持久化访问。...://microsoft.com/devicelogin 输入user_code并完成登录后,上述脚本将成功获取访问令牌。...未来需推动更细粒度的权限委托机制(如Microsoft Graph Delegated Permissions with Scopes Restriction)。另一个挑战是刷新令牌的长期有效性。
尤其在Microsoft 365、Google Workspace等企业生产力平台中,OAuth被深度集成于单点登录(SSO)、API调用、跨应用数据共享等关键场景。...;用户在授权服务器页面登录并同意权限请求;授权服务器生成授权码(Authorization Code),通过重定向返回至Client指定的redirect_uri;Client使用授权码、client_secret...向令牌端点换取访问令牌与刷新令牌;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...攻击者可将此参数嵌入隐藏iframe,当用户访问恶意页面时,若其浏览器仍持有有效会话,则自动完成授权,完全规避用户交互。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers
摘要近年来,攻击者利用Microsoft Entra ID(原Azure AD)的多租户应用注册机制,创建高度仿真的假冒OAuth应用,诱导用户在合法微软授权页面授予高权限(如Mail.Read、User.ReadWrite.All...此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...用户点击链接后,被重定向至真实的Microsoft Entra ID OAuth同意页面,在看似无害的提示下授予Mail.Read、Calendars.Read、User.ReadWrite等权限。...2 攻击技术原理与实施路径2.1 OAuth 2.0 用户同意机制回顾在Microsoft Entra ID中,第三方应用若需访问用户资源(如邮件、日历),必须通过OAuth 2.0授权码流程获取权限。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。
例如,用户在Google搜索“公司邮箱无法登录”,点击一个已被SEO投毒的合法但遭篡改的第三方支持页面。...用户被诱导相信这是正常验证流程的一部分。(二)授权诱导与令牌捕获当用户点击“继续”或“验证”按钮时,浏览器跳转至微软官方登录页。...;授权后立即调用高风险API(如批量导出邮件)。...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权
用户点击链接后,跳转至 完全真实的微软登录页面(域名:login.microsoftonline.com)。页面提示:“在另一台设备上使用此代码登录”,并要求输入代码。一切看起来合规、安全、无可挑剔。...关键就在这里:用户以为自己是在“验证自己的设备”,实际上是在为攻击者的恶意应用授权。“设备代码流程本意是方便智能电视、打印机等无浏览器设备登录云服务。”...授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...原因很简单:MFA 验证的是“用户身份”,而非“授权对象”。当用户在微软官网完成 MFA 验证后,系统认为“这是本人操作”,于是放心地将权限授予请求的应用。...五、行业反思:便利与安全的天平该如何摆?设备代码钓鱼的流行,暴露出一个深层矛盾:现代身份协议在追求用户体验的同时,是否牺牲了安全可见性?
用户点击后跳转至看似官方的登录页(URL为https://microsoft-office[.]com/login),输入账号密码后收到Authenticator推送,出于习惯点击“批准”。...2.3 MFA推送诱导与OAuth持久化为绕过多因素认证,攻击者在用户首次登录后,立即触发“验证应用需要刷新”提示,诱导用户再次批准Authenticator推送。...获得有效会话后,攻击者通过Graph API注册恶意OAuth应用:POST https://graph.microsoft.com/v1.0/applicationsContent-Type: application...应转向情境化训练:演示如何检查浏览器地址栏中的根域名(如login.microsoftonline.com而非microsoft-office.com);教育用户:MFA推送不应在无主动登录时出现;推广...唯有将技术控制、流程治理与人员意识编织成纵深防御网络,才能在保持生产力的同时,抵御日益精细化的身份威胁。未来工作可探索基于用户行为基线的自适应认证,但其前提是建立在本文所述的基础控制之上。
以授权码模式(Authorization Code Flow)为例,典型步骤如下:用户访问第三方应用:例如点击“使用Microsoft登录”按钮;重定向至Microsoft登录页:URL包含client_id...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...注册后,攻击者配置所需API权限。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...值得注意的是,攻击者正将此手法与其他技术结合。例如,在获得邮箱访问权后,发送内部钓鱼邮件诱导更多用户授权,形成链式感染。因此,单一检测点不足以阻断攻击,必须构建覆盖身份、终端、网络的联动防御体系。
这意味着,即便用户后续修改密码,攻击者仍可通过刷新令牌长期维持访问权限。...,返回的JSON将包含可用于调用Microsoft Graph API的令牌:{"token_type": "Bearer","scope": "Mail.Read Mail.Send User.Read...用户在设备上点击“登录”,系统生成一个8位代码,并提示用户前往microsoft.com/devicelogin输入该代码。...与此同时,攻击者控制的服务器在后台轮询微软API,一旦用户完成授权,即可获取令牌。...整个过程无需用户察觉异常,且绕过了多因素认证(MFA)的部分保护——因为MFA通常只在初始登录时触发,而设备代码流被视为“低风险”场景。
更危险的是,部分变种采用AiTM代理技术,在用户完成MFA验证后同步窃取会话Cookie,使攻击效果与真实登录无异。...用户点击后,浏览器加载真实的OneDrive预览页面,进一步增强可信度。2.3 跳转阶段:二次重定向至仿冒门户关键攻击载荷隐藏在页面内部。...因此,检测重心必须前移至“会话建立后的连续性”:用户从OneDrive共享页面跳转至登录页的行为是否符合常规路径?登录后首次访问的应用是否为Outlook而非原共享文档?...会话的User-Agent、IP、地理位置是否与共享创建者一致?通过构建会话图谱(Session Graph),将文件访问、登录、API调用等事件关联,可有效识别异常跳转链。...例如,若某会话在访问1drv.ms后5秒内出现在非微软域名的登录页,则极可能为钓鱼。6 结语利用OneDrive等可信云服务作为钓鱼跳板的攻击手法,标志着网络钓鱼已进入“信任滥用”新阶段。
//heymind.github.io/tools/microsoft-graph-api-auth并点击注册。...点左侧的Microsoft Graph,然后在弹出框中添加入offline_access, Files.Read, Files.Read.All这三个权限,最后点击更新权限即可。...然后我们进入Microsoft Graph API Auth来获取一个token。 OI9.png 复制之后,我们回到token获取工具,看到4....Authorize for code,在第一行处把刚才复制的ID粘贴进去,第二行和第三行保持默认(与图上一致),然后点AUTHORIZE。...OI10.png 然后会进入office的登录和授权页面,登录自己账号并点击授权即可。 OI11.png 授权结束后,回到刚才的获取工具,看5.
关键词:OAuth钓鱼;中间人代理;UTA0355;定向攻击;Microsoft Entra ID;Google Workspace;条件访问策略1 引言随着单点登录(SSO)和第三方授权在企业数字化生态中的普及...用户被邀请“完善注册信息”或“提交演讲议题”,并提示“使用Google/Microsoft账号一键登录以简化流程”。...用户在Google官方页面看到的是“bsc2025.org请求访问您的基本资料”,由于域名看似合法,多数用户会选择“允许”。授权后,Google将授权码(code)发送至redirect_uri。...Graph API支持查询用户授予的同意记录:GET https://graph.microsoft.com/v1.0/me/oauth2PermissionGrantsAuthorization:...;在授权前检查OAuth请求中的client_id是否属于可信实体(可通过公开数据库查询)。
与仅提供视觉警告的同类工具不同,Check采取“硬阻断”策略,在检测到可疑登录页面时直接禁止表单提交,并向用户和管理员发出告警。...然而,这些服务均为云端集中式策略,无法干预用户在本地浏览器中与任意Web页面的交互行为。一旦用户被诱导离开受保护的邮件环境,进入攻击者控制的页面,上述所有云端策略均无法生效。...无Graph API集成:当前版本不自动撤销会话或令牌,需管理员手动响应。权限范围审慎:扩展需activeTab与storage权限,虽无敏感权限,但仍需用户信任。...与Microsoft Graph API联动:在检测到钓鱼后,自动调用/revokeSignInSessions终结用户所有活动会话。...8 结论本文系统研究了CyberDrain推出的开源浏览器扩展Check在阻断Microsoft 365钓鱼攻击中的技术实现与应用价值。
修改命名就是最大的更新,本文完(不要打我) 新的版本的不重要的更新是 支持在 WPF 和 WinForms 使用新的控件,包括 Edge 浏览器 所有的 UWP 可以在 Xaml 开启 eye...gaze Api 提供新的包用来写 runtime API 的检查 提供 Microsoft Graph 控件 现有的大量控件 对所有控件支持亮主题和暗主题 性能提升和修改...现在通过 Nuget 安装 Microsoft.Toolkit.Win32.UI.Controls 就可以在 WinForms 和 WPF 使用 Edge 浏览器。...Microsoft Graph 控件 支持 Microsoft Graph 控件,可以快速在 Xaml 使用 Microsoft Graph 控件。...下面就是提供的一些控件 ProfileCard 和 AadLogin 在 ProfileCard 可以简单显示一个用户的多个不同格式信息,包括用户的名字、头像和邮件。
攻击流程如下:用户点击钓鱼邮件中的链接,访问攻击者控制的仿冒登录页(如secure-microsoft-login[.]xyz);该页面实际是一个反向代理,将用户所有请求(包括输入的用户名、密码、MFA...的响应;AitM代理截获该响应,提取Cookie后存储,并将页面内容原样返回给用户,使其误以为登录成功;攻击者使用窃取的Cookie,直接访问目标用户的邮箱、OneDrive或Azure门户,无需再次认证...由于整个认证过程在微软服务器上真实发生,MFA完全生效,但其保护对象是攻击者的代理,而非最终用户。因此,MFA在此场景下形同虚设。...3 现有MFA机制的脆弱性分析3.1 常见MFA类型及其局限MFA类型 是否可被AitM绕过 原因短信/语音OTP 是 OTP在认证时被代理提交TOTP(如Google Authenticator) 是...以下Python脚本模拟检测异常会话(基于Microsoft Graph API):import requestsfrom datetime import datetime, timedeltaGRAPH_API_TOKEN
用户点击链接后,跳转到微软官方OAuth授权页面——界面真实、域名合法,一切看起来都“没问题”。一旦用户点击“同意”,攻击者就获得了对该账户的长期访问权限,甚至能绕过MFA。...它不依赖外部SaaS服务,而是直接调用Microsoft Graph API,实时扫描租户内的高风险行为:检测异常收件箱规则:如自动转发至外部域名、删除特定关键词邮件等;识别可疑OAuth应用授权:尤其是请求...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。...对于中小企业而言,与其等待被攻破后再补救,不如主动部署自动化检测工具,把防线前移。正如芦笛所言:“在今天的网络攻防中,反应速度决定生死。而自动化,就是你的眼睛和手。”
https://microsoft.com/devicelogin,手动输入验证码;同时,设备后台持续轮询服务器,等待用户完成授权;用户在网页端登录并同意授权后,服务器向设备返回Access Token...整个过程无需输入密码,且若用户已处于登录状态(如浏览器记住会话),甚至无需再次输入MFA。而攻击者正是利用了第3-5步的“信任链”。...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...同时,开启风险用户检测(Identity Protection)和异常登录活动告警。例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。...培训应聚焦:任何要求“输入代码到微软登录页”的请求都需高度警惕;即使链接是 microsoft.com,也可能被用于授权恶意应用;授权前务必确认应用名称是否可信(如“Microsoft Teams” vs
更关键的是,SharePoint支持动态生成临时共享链接,且可通过Microsoft Graph API进行程序化管理。...3.4 凭证窃取与会话劫持最终页面为高度仿真的Microsoft登录界面,用户在此输入密码后,凭证被发送至攻击者服务器。...(如普通员工创建大量登录页面)以下Python脚本示例展示如何通过Microsoft Graph API审计可疑共享项:import requestsimport jsondef detect_suspicious_sharing...UEBA(用户与实体行为分析)模型识别异常交互:用户在SharePoint页面中输入邮箱/密码(正常场景下SharePoint不收集凭证)页面停留时间过短(浏览器扩展...例如:用户A收到含SharePoint链接的邮件(来源:外部发件人)5分钟后访问该链接(SharePoint日志)随后尝试登录Microsoft账户(Azure AD日志),但IP地址与SharePoint
研究揭示,此类攻击通过滥用OAuth 2.0设备授权流程,在用户主动授权的掩护下获取长期有效的刷新令牌,从而规避传统基于密码泄露或会话劫持的检测机制。...)、验证URI(verification_uri)及轮询间隔;客户端向用户展示user_code和verification_uri,提示其在另一设备上完成登录;用户访问verification_uri(...如https://microsoft.com/devicelogin),输入user_code;授权服务器验证用户身份(通常包括MFA)后,将授权授予客户端;客户端通过轮询使用device_code换取访问令牌...攻击者可调用Microsoft Graph API读取邮件:import requestswith open('stolen_token.json') as f:token = json.load(f)...有效的防御必须超越“是否启用MFA”的二元思维,转向以协议控制、最小授权与强认证为基础的纵深体系。