,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。.../.default返回的Access Token可立即用于读取邮件:GET /v1.0/me/messages HTTP/1.1Host: graph.microsoft.comAuthorization...Microsoft Graph提供/revokeSignInSessions API,可编程终止可疑会话:import requestsdef revoke_suspicious_sessions(user_id..., access_token):url = f"https://graph.microsoft.com/v1.0/users/{user_id}/revokeSignInSessions"headers...Defender for Identity的异常登录告警(如非常规时间、新国家访问),可实现分钟级响应。
Graph API,读取邮件、日历、联系人,甚至创建新应用或修改权限。...假设攻击者已注册一个Azure AD应用,client_id为“a1b2c3d4-5678-90ef-ghij-klmnopqrstuv”,并申请了以下API权限:Microsoft Graph: Mail.ReadWrite...随后,攻击者可使用该令牌调用Graph API:# Example: Read user's mailboxheaders = {'Authorization': f'Bearer {token_json...4.4 监控与审计异常OAuth活动通过Microsoft 365 Defender或Azure AD Audit Logs,可追踪以下高风险事件:Sign-in logs 中的“Device code...authentication”事件;Application usage logs 中的非常规应用授权;Token issuance logs 中的异常客户端ID或权限范围。
一旦得手,攻击者可立即利用Graph API遍历收件箱,提取包含财务、合同、人事等关键词的邮件线程,自动生成极具欺骗性的横向钓鱼内容,形成指数级扩散。面对此类攻击,仅依赖邮件层防护已显不足。...Graph API遍历收件箱:import requestsACCESS_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs..." # 从AiTM获取headers...以下为通过Microsoft Graph API创建条件访问策略的示例:policy = {"displayName": "Block risky logins to SharePoint","state...以下为基于Microsoft Purview审计日志的异常共享检测逻辑:import pandas as pd# 假设audit_logs为从Microsoft 365获取的共享事件列表df = pd.DataFrame...通过构建会话图谱(Session Graph),将文件访问、登录、API调用等事件关联,可有效识别异常跳转链。例如,若某会话在访问1drv.ms后5秒内出现在非微软域名的登录页,则极可能为钓鱼。
当攻击采用高度情境化的诱饵时,常规“不要点链接”的宣教难以奏效。...通过Microsoft Graph API定期拉取用户授权的应用列表,比对白名单。若发现未经批准的第三方应用请求Mail.Read、Mail.Send等权限,自动撤销授权并告警。...4.3 第三层:用户行为基线与异常检测基于历史日志构建用户行为基线,包括常规登录时间、地理位置、设备指纹及邮件收发模式。采用孤立森林(Isolation Forest)或LSTM自编码器检测异常行为。...= []for grant in resp.json().get('value', []):app_id = grant['clientId']# 查询应用详情app_url = f"https://graph.microsoft.com...['scope'].split()})return appsdef revoke_unapproved_app(token, app_id):"""撤销未授权应用"""url = f"https://graph.microsoft.com
更关键的是,SharePoint支持动态生成临时共享链接,且可通过Microsoft Graph API进行程序化管理。...4.1 网络层异常检测尽管SharePoint域名合法,但钓鱼页面通常托管于非标准路径(如/Shared Documents/phish/),且访问频率异常。...可通过Microsoft Defender for Cloud Apps或自建SIEM系统监控以下行为:非常规时间访问SharePoint HTML资源单一用户短时间内多次访问不同共享链接共享链接创建者与内容类型不匹配...(如普通员工创建大量登录页面)以下Python脚本示例展示如何通过Microsoft Graph API审计可疑共享项:import requestsimport jsondef detect_suspicious_sharing...(token):headers = {'Authorization': f'Bearer {token}'}url = "https://graph.microsoft.com/v1.0/sites/root
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...操作路径:Azure Portal → Azure Active Directory → 企业应用 → 常规设置 → 关闭“设备代码流”。2....监控异常 OAuth 授权行为使用 Microsoft Defender for Cloud Apps 或第三方 SIEM 工具,设置告警规则,例如:单个用户短时间内授权多个新应用;应用请求权限与其业务场景不符
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...Graph API。...3.3 缺乏应用行为基线监控SIEM系统通常未将“新应用首次访问Graph API”与“大量邮件读取”关联分析。即使启用日志,也因数据量庞大而忽略异常。3.4 审计滞后企业极少定期审查已授权应用列表。...可通过Microsoft Graph API动态评估权限风险:HIGH_RISK_SCOPES = {'Mail.ReadWrite', 'MailboxSettings.ReadWrite','User.ReadWrite.All...4.6 Graph API 异常行为监控部署KQL查询,检测异常API调用模式:// 检测单应用大量邮件读取AuditLogs| where OperationName == "Consent to application
但当他拨通那个“客服电话”,一场精心策划的入侵就此开始:对方自称微软认证工程师,称其账户存在异常登录,需“远程协助排查”。...邮件层:增强Teams通知监控限制Teams外部邀请:在Microsoft 365管理中心配置策略,禁止非组织成员创建团队或邀请用户;监控异常团队命名:通过Microsoft Graph API定期扫描团队名称...,识别含“PayPal”“Billing”“Urgent”等关键词的可疑实体;# 示例:通过Graph API列出所有团队GET https://graph.microsoft.com/v1.0/groups...限制远程工具与权限禁用普通用户安装远程控制软件:通过组策略或MDM(移动设备管理)禁止安装AnyDesk、TeamViewer等;启用应用控制:仅允许可信发布者签名的应用运行;配置EDR告警规则:监控非常规时间启动的远程会话...、异常进程树(如powershell → anydesk.exe)。
文中通过 Python 与 Microsoft Graph Security API 的代码示例,展示如何实现异常登录行为的自动化检测与响应。...4.2 检测层:基于行为的异常识别即使攻击者获得凭证,其行为模式通常与合法用户存在差异。可通过 Microsoft Graph Security API 实时监控高风险活动。...f"createdDateTime ge {start_time.strftime('%Y-%m-%dT%H:%M:%SZ')} and category eq 'impossibleTravel'"url = f"https://graph.microsoft.com...此外,通过 Graph API 监控,我们成功捕获了所有模拟的“不可能旅行”与“异常数据访问”事件,验证了检测机制的有效性。...组织必须提前布局,将社会工程风险纳入威胁建模常规流程,并持续迭代其安全文化。唯有如此,方能在“人”这一最不可控变量上,建立起最可靠的防线。编辑:芦笛(公共互联网反网络钓鱼工作组)
该链接表面指向一个常规文档,实则加载伪装成Microsoft 365登录界面的钓鱼页面,并在用户输入凭证后实时中继多因素认证(MFA)请求,实现凭证与会话令牌的双重窃取。...由于整个流程发生在合法TLS通道内,且用户确实完成了MFA,传统基于异常登录告警的机制难以触发。...搜索并下载敏感文档:利用Graph API遍历OneDrive与SharePoint中的文件夹,下载包含“NDA”、“Term Sheet”、“Due Diligence”等关键词的文档。...以下Python脚本利用Microsoft Graph API实现授权审计:import requestsdef audit_oauth_apps(user_token):headers = {"Authorization...": f"Bearer {user_token}"}url = "https://graph.microsoft.com/v1.0/me/oauth2PermissionGrants"response
公共互联网反网络钓鱼工作组技术专家芦笛指出,“而Microsoft 365因其广泛使用和强大API能力,成了攻击者的首选目标。”...它不依赖外部SaaS服务,而是直接调用Microsoft Graph API,实时扫描租户内的高风险行为:检测异常收件箱规则:如自动转发至外部域名、删除特定关键词邮件等;识别可疑OAuth应用授权:尤其是请求...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。...不过,工具也有门槛:部署者需具备一定的PowerShell或Python脚本能力,并为服务账号配置适当的Graph API权限(如AuditLog.Read.All、Directory.Read.All
一、一场“巧合”的攻击暴露了更危险的趋势2025年10月,一家位于德国的能源企业安全团队在例行日志审计中发现异常:多个高管账户在凌晨时段调用了Microsoft Graph API,读取了大量内部邮件和...一旦确认,攻击者的轮询脚本立即获得Access Token,并可调用任意Graph API权限。...公共互联网反网络钓鱼工作组技术专家芦笛解释,“微软服务器看到的是正常API调用,防火墙看到的是HTTPS流量,EDR看到的是合法进程——没有任何异常信号。”...使用(如非常规地理位置、高频API调用);使用Microsoft Defender for Cloud Apps设置异常活动告警,如“单用户1小时内下载10GB OneDrive数据”。...Dec 2025.Microsoft Security Blog. Disrupting threats targeting Microsoft Teams.
当请求到达中枢服务器时,系统会检查以下特征:是否携带自动化工具标识(如webdriver、HeadlessChrome)User-Agent是否异常(如无图形界面的curl/wget)是否缺少常见浏览器...一旦同意,即使未泄露密码,攻击者也能通过合法API访问邮箱内容。...# 通过Microsoft Graph API批量检查用户MFA方法GET https://graph.microsoft.com/beta/users?...同时,云访问安全代理(CASB)可深度解析SaaS应用流量,识别异常OAuth授权、可疑API调用和Token滥用行为。4....SOC需监控新型威胁信号安全运营中心应重点建设以下检测能力:异常登录行为:Impossible Travel(不可能旅行)、非常规设备、匿名代理(Tor/VPN);OAuth同意滥用:用户短时间内授权多个未知应用
实验表明,基于异常授权授予事件的检测规则可将误报率控制在0.3%以下,同时捕获率达96.8%。..."user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."}该数据被用于:自动化登录受害者邮箱;利用Graph...API枚举组织通讯录;部署恶意应用注册(如伪装为“HR Portal”)以持久化访问。...行为分析:监控异常操作序列(如凌晨3点批量导出邮件)。.../providers/Microsoft.Exchange/hostingEnvironments/exch-014.3 授权事件监控持续监控Azure AD审计日志中的异常授权授予事件。
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 系统的一个根本矛盾:便利性与安全性之间的张力。
3.3 归因模糊化与防御挑战由于所有攻击均通过合法OAuth流程完成,日志中仅显示正常用户授权行为,缺乏异常IP或恶意载荷特征。...权限:勾选Microsoft Graph的Delegated权限,如:Mail.ReadWriteCalendars.ReadWriteUser.Read.AllFiles.ReadWrite.All4.2...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/v1.0/me/messages...”事件;Application consent logs 中的非常规client_id授权;Token issuance logs 中的异常权限范围。
关键词:OAuth 2.0;MFA绕过;Microsoft Entra ID;钓鱼攻击;身份安全;API权限;条件访问;第三方应用治理1 引言随着云办公的普及,Microsoft 365已成为全球企业数字基础设施的核心组成部分...一旦用户完成授权,攻击者即获得长期有效的刷新令牌(Refresh Token),可在数月内持续访问敏感数据,且难以被常规安全监控发现。...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...-Headers @{ Authorization = "Bearer $accessToken" }# 下载OneDrive根目录文件Invoke-RestMethod -Uri "https://graph.microsoft.com
如果您尝试使用上面的模式,则可能会得到如下所示内容的InvalidOperationException异常,具体取决于所写图形的大小: System.InvalidOperationException:...如果图形很小,则可能不会出现此异常,但是如果您尝试映射中等规模的应用程序(例如带有Identity的默认Razor Pages应用程序),则可以看到此异常。..."/Values"] 11 [label="/api/"] 12 -> 0 [label="/graph"] 12 -> 1 [label="/healthz"] 12...您可以使用,在Microsoft.AspNetCore.Mvc.Testing中暴露的底层DI容器中的WebApplicationFactory设施实现。...安装Microsoft.AspNetCore.Mvc.Testing 将测试项目的元素更新为Microsoft.NET.Sdk.Web"> 从测试项目中引用您的
尤其在Microsoft 365、Salesforce、Google Workspace等主流SaaS平台中,一旦主账户凭证失窃,攻击者可在数分钟内完成权限提升、邮箱导出、API调用乃至数据外泄,而平均检测延迟仍超过...4.2 检测层:行为异常识别用户行为分析(UBA):建立基线模型,监控登录时间、地理位置、设备指纹、API调用频率等维度。...login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token"data = {'client_id': CLIENT_ID,'scope': 'https://graph.microsoft.com...5.2 基于UBA的异常会话检测(Pseudocode)def detect_anomalous_session(user_id, login_time, ip, user_agent, api_calls...Graph API /users/{id}/revokeSignInSessions;发送Teams通知至用户及IT支持;创建Jira工单要求用户完成安全培训;更新IAM策略,强制启用FIDO2。
Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...:通过Microsoft Defender for Cloud Apps或自建SIEM规则,检测以下信号:新注册应用请求高权限;用户短时间内多次授权不同应用;授权后立即调用高风险API(如批量导出邮件)...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权...import requestsdef revoke_consent(user_id, app_id, access_token):url = f"https://graph.microsoft.com/