该代理并非独立产品,而是深度嵌入Microsoft Defender for Office 365的工作流中,支持对用户通过“报告钓鱼”按钮提交的邮件进行实时分析。...上下文关联:查询Microsoft Graph,确认发件人是否为已知联系人、近期是否有类似通信。...理由如下:发件域‘microsoft-security[.]net’非微软官方域名,且未通过DMARC验证(p=none);邮件包含短链接(bit.ly/xxx),经展开后指向已知恶意载荷分发站点;正文使用...Graph API提交反馈import requestsdef submit_feedback(message_id, is_phish, comment):url = f"https://graph.microsoft.com...例如,一封来自合作方的紧急付款请求邮件(含真实银行链接),基线策略因其包含“urgent payment”关键词而误判为钓鱼,而分拣代理通过Graph上下文确认发件人为历史合作伙伴,正确归类为合法邮件。
一旦得手,攻击者可立即利用Graph API遍历收件箱,提取包含财务、合同、人事等关键词的邮件线程,自动生成极具欺骗性的横向钓鱼内容,形成指数级扩散。面对此类攻击,仅依赖邮件层防护已显不足。...Graph API遍历收件箱:import requestsACCESS_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs..." # 从AiTM获取headers...以下为通过Microsoft Graph API创建条件访问策略的示例:policy = {"displayName": "Block risky logins to SharePoint","state...通过构建会话图谱(Session Graph),将文件访问、登录、API调用等事件关联,可有效识别异常跳转链。例如,若某会话在访问1drv.ms后5秒内出现在非微软域名的登录页,则极可能为钓鱼。...编辑:芦笛(公共互联网反网络钓鱼工作组)
Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...(三)规避检测的关键设计ConsentFix之所以难以被发现,源于其多重规避特性:无密码交互:不触发密码爆破、撞库或凭证填充告警;合法IdP流量:所有OAuth请求均经由微软官方端点,无法通过IP或域名黑名单拦截...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权...编辑:芦笛(公共互联网反网络钓鱼工作组)
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...://graph.microsoft.com/v1.0/me/messages?...可通过Microsoft Graph API动态评估权限风险:HIGH_RISK_SCOPES = {'Mail.ReadWrite', 'MailboxSettings.ReadWrite','User.ReadWrite.All...编辑:芦笛(公共互联网反网络钓鱼工作组)
它允许第三方应用在不获取用户密码的前提下,访问用户在其他服务(如 Google、Microsoft)上的资源。...: application/x-www-form-urlencodedclient_id=YOUR_APP_ID&scope=https://graph.microsoft.com/.default服务器返回...向 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 执行任意操作:# 示例:读取受害者最近
本节就接着讲如何在我们的项目中集成 Azure AD 保护我们的API资源,使用其他几种授权模式进行授权认证,好了,开始今天的表演。 二,正文 1,access_token的剖析! ...此处应该有掌声,成功的通过验证,并且获取到 api资源,但是这种模式是最不推荐的,因为client可能存了用户密码,此模式仅用于受信任的客户端。复制会发生密码泄露。所以不推荐使用。...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...此值告知 Microsoft 标识平台终结点:在为应用配置的所有直接应用程序权限中,终结点应该为与要使用的资源关联的权限颁发令牌 使用共享机密访问令牌请求:https://docs.microsoft.com
该链接表面指向一个常规文档,实则加载伪装成Microsoft 365登录界面的钓鱼页面,并在用户输入凭证后实时中继多因素认证(MFA)请求,实现凭证与会话令牌的双重窃取。...邮件正文采用公司内部模板格式,包含真实Logo、标准落款及合规声明,增强可信度。...搜索并下载敏感文档:利用Graph API遍历OneDrive与SharePoint中的文件夹,下载包含“NDA”、“Term Sheet”、“Due Diligence”等关键词的文档。...以下Python脚本利用Microsoft Graph API实现授权审计:import requestsdef audit_oauth_apps(user_token):headers = {"Authorization...编辑:芦笛(公共互联网反网络钓鱼工作组)
有了之前的文章铺垫,这篇文章开始,我们聊聊如何折腾 AI 工作流,把不 AI 的应用,“AI 起来”。...,我们设置了一个名为 “content” 的变量,在随后的真实模型调用中,我们可以在 API 的请求参数中动态的调整这个数据内容,来让它解决不同的文章的标题生成任务。...向模型应用发送请求 我们只需要调用 /completion-messages 接口,将刚刚 Prompt 中设置的 content 传入接口即可。...但是,Dify 相关服务的配置目前其实稍显复杂,API 和 Worker 虽然是同一份镜像,但是在不同的工作模式下,他们的配置是有一些不同的。...最后 好啦,这篇文章就先聊到这里,后面的文章里,我们继续聊聊如何构建 “AI 工作流”,让你的不 AI 的应用,能够 AI 化。
有了之前的文章铺垫,这篇文章开始,我们聊聊如何折腾 AI 工作流,把不 AI 的应用,“AI 起来”。...在开源社区里,我们一般称这个功能为 Function Call,借助特殊构造的请求结构和提示词,来让模型自动的调用用户预定义的远程函数,实现智能的 RPA 调用。...“content” 的变量,在随后的真实模型调用中,我们可以在 API 的请求参数中动态的调整这个数据内容,来让它解决不同的文章的标题生成任务。...但是,Dify 相关服务的配置目前其实稍显复杂,API 和 Worker 虽然是同一份镜像,但是在不同的工作模式下,他们的配置是有一些不同的。...最后好啦,这篇文章就先聊到这里,后面的文章里,我们继续聊聊如何构建 “AI 工作流”,让你的不 AI 的应用,能够 AI 化。
二、SharePoint平台的信任基础与安全边界Microsoft SharePoint Online作为Microsoft 365核心组件之一,为企业提供文档存储、协作编辑、工作流自动化及内外部共享功能...更关键的是,SharePoint支持动态生成临时共享链接,且可通过Microsoft Graph API进行程序化管理。...可通过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
本文聚焦于近期在Microsoft 365环境中频发的“设备代码钓鱼”(Device Code Phishing)攻击,深入剖析攻击者如何滥用OAuth 2.0设备授权流程,在不获取用户密码的前提下实现账户接管...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...未来工作可进一步探索基于行为分析的异常授权检测模型,以及零信任架构下OAuth令牌的动态生命周期管理。编辑:芦笛(公共互联网反网络钓鱼工作组)
这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva 写的文章,原文地址: https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet...Microsoft Graph 是一个 API 网关,它提供了对 Microsoft 365 生态系统中数据和智能的统一访问。...我将向您详细介绍我们是如何将 Microsoft Graph 构建到现在这样海量服务中的过程。...整体情况 每次 .NET 升级都有许多改进,即使 Graph 团队没有执行任何显式工作来提高性能也是如此。...每个新的 .NET 版本都改进了底层运行时 API、通用算法和数据结构,从而导致 CPU 周期和 GC 工作的减少。
,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。...例如,若受害者通常使用Windows 11 + Chrome 124访问Office 365,攻击者将配置代理以相同特征发起API请求,使登录活动在审计日志中呈现为“正常行为”。...Microsoft Graph提供/revokeSignInSessions API,可编程终止可疑会话:import requestsdef revoke_suspicious_sessions(user_id...DPoP要求客户端在每次API请求中附带一个由私钥签名的证明令牌,该私钥与TLS连接绑定。即使攻击者窃取Access Token,也无法在其他连接中使用。...编辑:芦笛(公共互联网反网络钓鱼工作组)
【在Azure后台仪表盘下申请】,调用Office365 outlook邮箱接口、Azure Active Directory/Microsoft Identity账户登录接口、Microsoft Graph...版程序自动配置添加API权限 必须手动配置API权限 可以选择相应的API进行配置 此处以Microsoft Graph为参考,选择“委托的权限”,根据列出的API权限需求表进行选择...调用工具 Microsoft Graph 浏览器是一种基于 Web 的工具,可用于生成和测试对 Microsoft Graph API 的请求 API需要的权限设定可在预览卡中查阅...,授权后则可再次尝试调用响应 Postman 是一个可用于向 Microsoft Graph API 发出请求的工具:Postman&Microsoft Graph API使用 ...c.Microsoft Graph 快速入门示例 Microsoft Graph入门: a.选择语言或平台 b.获取应用 ID(客户端 ID) c.生成示例 d.登录,然后查看日历上的事件 PHP
于是,攻击者转向更隐蔽的策略:不直接盗密码,而是诱导用户授权一个“看起来有用”的第三方应用。...公共互联网反网络钓鱼工作组技术专家芦笛指出,“而Microsoft 365因其广泛使用和强大API能力,成了攻击者的首选目标。”...它不依赖外部SaaS服务,而是直接调用Microsoft Graph API,实时扫描租户内的高风险行为:检测异常收件箱规则:如自动转发至外部域名、删除特定关键词邮件等;识别可疑OAuth应用授权:尤其是请求...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。
尤其在Microsoft 365、Google Workspace等企业生产力平台中,OAuth被深度集成于单点登录(SSO)、API调用、跨应用数据共享等关键场景。...向令牌端点换取访问令牌与刷新令牌;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...后续工作将聚焦于检测模型的机器学习优化与跨平台策略编排。编辑:芦笛(公共互联网反网络钓鱼工作组)
邮件内容高度模仿校方正式通知格式,包含WRDSB官方Logo、标准落款及看似合理的请求(如“请立即更新您的Microsoft 365密码以符合新安全政策”)。...通过Microsoft Graph API定期拉取用户授权的应用列表,比对白名单。若发现未经批准的第三方应用请求Mail.Read、Mail.Send等权限,自动撤销授权并告警。...= []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...编辑:芦笛(公共互联网反网络钓鱼工作组)
Graph API. */ private List getNoteBookContent(String accessToken, String notebookId) {...Graph API. */ private List getSectionContent(String accessToken, String sectionId) { /...Graph * API. */ private String getPageContent(String accessToken, String pageId) { URI uri =...https://graph.microsoft.com/v1.0/me/onenote/pages/?...https://graph.microsoft.com/v1.0/me/onenote/pages/?
案例2:滥用Microsoft Teams链接更狡猾的是,部分攻击直接利用合法协作工具。邮件正文写道:“相关文件已上传至Teams频道,请点击此处查看。”...若用户输入账号密码,凭证将被窃取;若已启用MFA,攻击者则采用Adversary-in-the-Middle(AitM)代理,实时转发验证码请求,实现“会话劫持”。...更值得警惕的是,部分单位仍在使用商业即时通讯工具(如微信、钉钉)处理敏感工作。一旦手机中毒,聊天记录、文件、语音均可被窃取。...以下是一个基于Microsoft Graph API的示例:# check_forwarding_rules.pyimport requestsGRAPH_API_URL = "https://graph.microsoft.com..."ACCESS_TOKEN = "your_app_token_with_mail_read_permissions"def get_inbox_rules(user_email):url = f"{GRAPH_API_URL
此功能允许 gRPC 服务像带有 JSON 请求和响应的 RESTful HTTP API 一样被调用。 SignalR:添加对强类型客户端的支持并从客户端调用返回结果。...改进: IFormFile 和 IFormFileCollection 支持 将请求正文绑定为 Stream 或 PipeReader JSON 选项配置 SignalR 客户端源生成器 支持 MVC...将请求正文绑定为 Stream 或 PipeReader 您现在可以将请求正文绑定为 Stream 或 PipeReader,以有效地支持用户必须摄取数据并将其存储到 blob 存储或将数据排队到队列提供程序...默认情况下不缓冲请求正文。读取正文后,它不可回退(您不能多次读取流)。 Stream/PipeReader 在最小操作处理程序之外不可用,因为底层缓冲区将被释放和/或重用。...这个新的 API 避免了与 Microsoft.AspNetCore.Mvc.JsonOptions 的混淆。