此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...2 攻击技术原理与实施路径2.1 OAuth 2.0 用户同意机制回顾在Microsoft Entra ID中,第三方应用若需访问用户资源(如邮件、日历),必须通过OAuth 2.0授权码流程获取权限。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...4.2 条件访问:基于权限范围的策略拦截创建条件访问策略,阻止包含高危权限的应用获取令牌:策略逻辑:触发条件:应用请求包含Mail.ReadWrite、User.ReadWrite.All等;操作:阻止登录...可通过Microsoft Graph API动态评估权限风险:HIGH_RISK_SCOPES = {'Mail.ReadWrite', 'MailboxSettings.ReadWrite','User.ReadWrite.All
经过了一天的测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章的文章之后,按照文章的方法尝试了很久终于成功发送了邮件...可以使用 Microsoft.Graph 调用 Office 365 的几乎所有功能,但是我只有成功使用邮件的功能,暂时就先告诉大家如何在 UWP 使用 Microsoft.Graph 发送邮件 之后的其他功能等我跑通了...在 Load 事件的函数添加自己的代码,首先使用 DelegateAuthenticationProvider 拿到访问的权限,在 Microsoft.Graph 的所有访问都需要先获得 OAuth 的权限...); 详细关于 OAuth 获取权限的请看张队长的博客,这里的博客很多,请看文章的最后 现在可以看到的 AuthenticateRequestAsyncDelegate 代码是这样 private...authenticationResult.AccessToken); } 注意需要替换这里的 clientID 为你自己的 clientID 当然代码可以按照我的使用,因为用我的 ID 也是没问题 发送邮件 在获取到权限之后
同时,接口也具备接口鉴权的机制,EasyNVR的配置文件easynvr.ini中有个配置项:api_auth;控制接口是否需要验证登录权限。...接口如下: 在实际使用中发现关闭接口鉴权后,有的接口仍然没有返回数据,查找代码后发现有个别接口是需要有管理员权限才能正确获取到数据。 但是关闭接口鉴权后本来就无需登录,也就不会有管理员账号权限。...所以需要针对这些接口进行特殊处理,我们可以修改为关闭鉴权后如果没有登录就默认给管理员权限,修改结果如下: 最后测试可以看到接口数据都能够正常返回了。
同时,接口也具备接口鉴权的机制,EasyNVR的配置文件easynvr.ini中有个配置项:api_auth;控制接口是否需要验证登录权限。...接口如下: image.png 在实际使用中发现关闭接口鉴权后,有的接口仍然没有返回数据,查找代码后发现有个别接口是需要有管理员权限才能正确获取到数据。...image.png image.png 但是关闭接口鉴权后本来就无需登录,也就不会有管理员账号权限。...所以需要针对这些接口进行特殊处理,我们可以修改为关闭鉴权后如果没有登录就默认给管理员权限,修改结果如下: image.png image.png 最后测试可以看到接口数据都能够正常返回了。
Graph API 的代码示例,验证防御措施的可行性。...邀请可通过以下方式发起:手动邀请:管理员或具有“Guest Inviter”角色的用户通过 Azure 门户、Microsoft Graph API 或 PowerShell 发送邀请。...一旦获得权限,攻击者可通过 Microsoft Graph API 发送邀请。...Single User条件:同一用户在 1 小时内发送超过 5 次邀请响应:自动禁用该用户邀请权限并告警Graph API 查询示例:GET https://graph.microsoft.com/v1.0...此外,通过 Graph API 监控,我们能在 5 分钟内检测到异常邀请模式并自动响应。6 讨论本攻击揭示了现代 IAM 系统的一个根本矛盾:便利性与安全性之间的张力。
版程序自动配置添加API权限 必须手动配置API权限 可以选择相应的API进行配置 此处以Microsoft Graph为参考,选择“委托的权限”,根据列出的API权限需求表进行选择...:证书和密码->添加客户端密码 确认完成在列表处可以看到生成的记录,点击选择复制值(即客户端密码) b.API调用工具 Microsoft Graph 浏览器是一种基于 Web 的工具...,可用于生成和测试对 Microsoft Graph API 的请求 API需要的权限设定可在预览卡中查阅,授权后则可再次尝试调用响应 Postman 是一个可用于向 Microsoft...Graph API 发出请求的工具:Postman&Microsoft Graph API使用 c.Microsoft Graph 快速入门示例 Microsoft Graph入门...maven依赖,随后编写接口测试 主要步骤说明:注册应用、身份验证、API调用 其API调用核心思路为 创建一个authProvider用户凭据(根据实际身份验证的方式获取,不同渠道构建方式不同
它允许第三方应用在不获取用户密码的前提下,访问用户在其他服务(如 Google、Microsoft)上的资源。...向 Azure AD 请求设备代码client_id = "ATTACKER_APP_ID" # 攻击者注册的恶意应用IDscope = "https://graph.microsoft.com/.default"resp...Graph API 窃取数据breakelif token_resp.json().get("error") == "authorization_pending":time.sleep(5)else:...print("❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API 执行任意操作:# 示例:读取受害者最近...10封邮件headers = {"Authorization": f"Bearer {access_token}"}mails = requests.get("https://graph.microsoft.com
然而,近期多起安全事件表明,攻击者正通过滥用Microsoft Entra ID(原Azure AD)的OAuth 2.0授权框架,绕过MFA保护,直接获取对Microsoft 365账户的持久化访问权限...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...3.3 令牌获取与持久化访问用户点击“同意”后,Microsoft将授权码发送至redirect_uri。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...编辑:芦笛(公共互联网反网络钓鱼工作组)
一旦授权完成,攻击者即可通过device_code兑换令牌,获得与用户同等的API访问权限。...Graph API,读取邮件、日历、联系人,甚至创建新应用或修改权限。...假设攻击者已注册一个Azure AD应用,client_id为“a1b2c3d4-5678-90ef-ghij-klmnopqrstuv”,并申请了以下API权限:Microsoft Graph: Mail.ReadWrite...未来需推动更细粒度的权限委托机制(如Microsoft Graph Delegated Permissions with Scopes Restriction)。另一个挑战是刷新令牌的长期有效性。...编辑:芦笛(公共互联网反网络钓鱼工作组)
Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...攻击者只需一次授权即可获取最大权限。第三,撤销机制滞后。 用户发现异常后,往往首先更改密码,却不知需手动撤销应用授权。而企业级批量撤销功能通常权限过高,仅限全局管理员使用,响应速度慢。...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权...编辑:芦笛(公共互联网反网络钓鱼工作组)
公共互联网反网络钓鱼工作组技术专家芦笛指出,“而Microsoft 365因其广泛使用和强大API能力,成了攻击者的首选目标。”...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。...而CyberDrain的工具,本质上是一组自动化剧本(Playbooks),通过合法API权限主动“体检”整个租户。...不过,工具也有门槛:部署者需具备一定的PowerShell或Python脚本能力,并为服务账号配置适当的Graph API权限(如AuditLog.Read.All、Directory.Read.All
2024年以来,Barracuda等安全厂商陆续披露多起高级OAuth钓鱼事件,攻击者不再试图窃取密码,而是诱导用户向恶意注册的应用授予权限,从而直接获取合法令牌。...向令牌端点换取访问令牌与刷新令牌;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers...以下Python脚本利用Microsoft Graph API实现自动化审计:import requestsfrom datetime import datetime, timedeltadef audit_shadow_apps...编辑:芦笛(公共互联网反网络钓鱼工作组)
三者之间形成高度协同的攻击闭环:钓鱼获取凭证 → 凭证用于云环境横向移动 → 快速部署勒索载荷或窃取敏感数据。...尤其在Microsoft 365、Salesforce、Google Workspace等主流SaaS平台中,一旦主账户凭证失窃,攻击者可在数分钟内完成权限提升、邮箱导出、API调用乃至数据外泄,而平均检测延迟仍超过...典型路径如下:钓鱼获取员工凭证(含MFA绕过,如MFA疲劳攻击);登录云控制台(如Azure AD、AWS IAM);枚举高权限账户或服务主体;申请或窃取OAuth令牌/会话Cookie;通过Graph...Graph API /users/{id}/revokeSignInSessions;发送Teams通知至用户及IT支持;创建Jira工单要求用户完成安全培训;更新IAM策略,强制启用FIDO2。...然而,在此过渡期内,强化凭证管理、收紧权限控制、缩短检测响应时间,仍是企业抵御高级威胁的最现实路径。编辑:芦笛(公共互联网反网络钓鱼工作组)
留空(设备授权无需回调)API权限:勾选Microsoft Graph的Delegated权限,如:Mail.ReadWriteCalendars.ReadWriteUser.Read.AllFiles.ReadWrite.All4.2...timeimport jsonCLIENT_ID = "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv" # 恶意应用IDTENANT = "common"SCOPE = "https://graph.microsoft.com...,攻击者可调用Microsoft Graph API读取邮件:import requestswith open('stolen_token.json') as f:token = json.load(f...)headers = {'Authorization': f'Bearer {token["access_token"]}'}mails = requests.get('https://graph.microsoft.com...编辑:芦笛(公共互联网反网络钓鱼工作组)
# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...(2)审计第三方应用授权所有用户都应定期检查其Microsoft 365账户的“隐私仪表板”中的应用权限:https://account.microsoft.com/privacy/管理员则可通过PowerShell...例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。(4)员工意识培训需升级传统“别点可疑链接”已不够。...Docs编辑:芦笛(公共互联网反网络钓鱼工作组)
一、一场“巧合”的攻击暴露了更危险的趋势2025年10月,一家位于德国的能源企业安全团队在例行日志审计中发现异常:多个高管账户在凌晨时段调用了Microsoft Graph API,读取了大量内部邮件和...一旦确认,攻击者的轮询脚本立即获得Access Token,并可调用任意Graph API权限。...公共互联网反网络钓鱼工作组技术专家芦笛解释,“微软服务器看到的是正常API调用,防火墙看到的是HTTPS流量,EDR看到的是合法进程——没有任何异常信号。”...Proofpoint披露,该团伙在2025年11月的一次行动中,通过设备代码钓鱼获取某半导体公司工程师的邮箱权限,进而窃取未公开的芯片设计文档。...Tool”);定期检查 https://account.microsoft.com/privacy/ 中的应用权限列表。
上一篇结尾我们成功的拿到了 access_token,并且通过 access_token 验证获取到调用Api资源的结果。...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...此值告知 Microsoft 标识平台终结点:在为应用配置的所有直接应用程序权限中,终结点应该为与要使用的资源关联的权限颁发令牌 使用共享机密访问令牌请求:https://docs.microsoft.com...如发现错误,欢迎批评指正。 作者:Allen 版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
//heymind.github.io/tools/microsoft-graph-api-auth并点击注册。...OI5.png 随后我们进入API权限选项卡,把我们需要的API权限添加进来。...点左侧的Microsoft Graph,然后在弹出框中添加入offline_access, Files.Read, Files.Read.All这三个权限,最后点击更新权限即可。...然后我们进入Microsoft Graph API Auth来获取一个token。 OI9.png 复制之后,我们回到token获取工具,看到4....在获取到token后,在页面中找到refresh token,把其后面引号内的内容复制下来并妥善保存。
microsoft graph的api,一次调用10个api,5个onedrive的api还有4个outlook的api,剩下一个是组的api,调用一次后延时等待五分钟再重复调用。...,想弄可选择性补充运行) rclone软件,下载地址 前往下载 步骤大纲: 微软方面的准备工作 (获取应用id、密码、密钥) GIHTHUB方面的准备工作 (获取Github密钥、设置secret) 试运行...微软方面的准备工作 第一步,注册应用,获取应用id、secret 首先去E5应用注册注册一个应用 先用e5管理员账号登录网站,然后在主页找到Azure Active Directory点进去 再在左侧目录找到点击应用注册...记录ID 下面会用到 点击左边管理的证书和密码,点击+新客户端密码,点击添加,复制新客户端密码的值 记录这个值 下面会用到 点击左边管理的API权限,点击+添加权限,点击常用Microsoft API...里的Microsoft Graph(就是那个蓝色水晶), 点击委托的权限,然后在下面的条例搜索以下12个 最后点击底部添加权限 Calendars.ReadWrite 、 Contacts.ReadWrite
2025年披露的哈佛大学数据库泄露事件即为典型案例:攻击者并未利用软件漏洞或配置错误,而是通过精心策划的电话钓鱼(Vishing)手段,成功诱骗内部工作人员泄露关键系统凭证,进而获取包含校友、捐赠者及部分师生敏感信息的数据库访问权限...文中通过 Python 与 Microsoft Graph Security API 的代码示例,展示如何实现异常登录行为的自动化检测与响应。...可通过 Microsoft Graph Security API 实时监控高风险活动。...此外,通过 Graph API 监控,我们成功捕获了所有模拟的“不可能旅行”与“异常数据访问”事件,验证了检测机制的有效性。...编辑:芦笛(公共互联网反网络钓鱼工作组)