在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Microsoft.Graph...经过了一天的测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章的文章之后,按照文章的方法尝试了很久终于成功发送了邮件...可以使用 Microsoft.Graph 调用 Office 365 的几乎所有功能,但是我只有成功使用邮件的功能,暂时就先告诉大家如何在 UWP 使用 Microsoft.Graph 发送邮件 之后的其他功能等我跑通了...在 Load 事件的函数添加自己的代码,首先使用 DelegateAuthenticationProvider 拿到访问的权限,在 Microsoft.Graph 的所有访问都需要先获得 OAuth 的权限...clientID 为你自己的 clientID 当然代码可以按照我的使用,因为用我的 ID 也是没问题 发送邮件 在获取到权限之后,很容易就可以调用 Microsoft.Graph 发送邮件,请看代码
摘要随着高级持续性钓鱼攻击(AP-Phishing)在企业环境中的泛滥,传统依赖人工研判与规则匹配的邮件安全体系已难以应对日益复杂、高度定制化的威胁。...研究表明,AI驱动的邮件分拣代理并非替代人类分析师,而是通过增强智能(Augmented Intelligence)重构安全运营工作流,为现代SOC提供可扩展、可解释、可进化的防御能力。...该代理并非独立产品,而是深度嵌入Microsoft Defender for Office 365的工作流中,支持对用户通过“报告钓鱼”按钮提交的邮件进行实时分析。...上下文关联:查询Microsoft Graph,确认发件人是否为已知联系人、近期是否有类似通信。...Graph API提交反馈import requestsdef submit_feedback(message_id, is_phish, comment):url = f"https://graph.microsoft.com
设置邮件转发规则:通过Exchange Web Services (EWS) API创建隐藏的邮件转发规则,将含“Board Meeting”、“M&A”、“Q4 Forecast”等关键词的邮件自动转发至外部邮箱...搜索并下载敏感文档:利用Graph API遍历OneDrive与SharePoint中的文件夹,下载包含“NDA”、“Term Sheet”、“Due Diligence”等关键词的文档。...首先,邮件网关依赖静态特征匹配与信誉评分,难以识别使用新注册域名、合法CDN服务且内容高度定制的钓鱼邮件。其次,MFA虽能防止密码复用攻击,但无法抵御AiTM式的实时中继。...以下Python脚本利用Microsoft Graph API实现授权审计:import requestsdef audit_oauth_apps(user_token):headers = {"Authorization...BEC风险,建立“双因子审批”流程:任何超过阈值的资金转账指令,必须同时满足(1)在ERP系统中提交电子审批流;(2)由财务主管通过专用语音线路(非邮件或IM)向CEO二次确认。
例如,发送一封看似来自《卫报》记者的邮件:“我们正在撰写关于您提案的报道,请在此OneDrive链接中查看事实核查草稿”,链接指向攻击者控制的SharePoint站点,页面模仿Microsoft登录界面...(2.4)横向移动与持久化获取邮箱访问权后,攻击者常利用“自动转发规则”窃取未来邮件,或通过Graph API读取联系人、会议记录,为下一轮攻击提供情报。...、协作平台使用频率),检测异常:若某议员账户在凌晨3点从境外IP访问并创建邮件转发规则,触发告警;若短时间内向大量非联系人发送含附件邮件,疑似被控为跳板。...(5.1)系统架构前端:Outlook插件,提供举报按钮与可疑链接预览;中台:基于Microsoft Graph API的行为分析引擎;后台:条件访问策略管理与OAuth授权审计模块。...(5.2)关键功能代码示例自动检测并阻断恶意邮件转发规则:from microsoft_graph import GraphClientdef detect_malicious_forwarding(user_id
Graph API 的代码示例,验证防御措施的可行性。...邀请可通过以下方式发起:手动邀请:管理员或具有“Guest Inviter”角色的用户通过 Azure 门户、Microsoft Graph API 或 PowerShell 发送邀请。...一旦获得权限,攻击者可通过 Microsoft Graph API 发送邀请。...由于整个流程使用合法 API 且经身份验证,邮件完全合规。...;即使绕过(如使用管理员账户),邮件也被标记,用户识别率提升 78%。此外,通过 Graph API 监控,我们能在 5 分钟内检测到异常邀请模式并自动响应。
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...、设置转发规则或窃取OneDrive文件。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...3.3 缺乏应用行为基线监控SIEM系统通常未将“新应用首次访问Graph API”与“大量邮件读取”关联分析。即使启用日志,也因数据量庞大而忽略异常。3.4 审计滞后企业极少定期审查已授权应用列表。...4.6 Graph API 异常行为监控部署KQL查询,检测异常API调用模式:// 检测单应用大量邮件读取AuditLogs| where OperationName == "Consent to application
你有没有收到过这样的邮件?“您的 Microsoft 账户需要立即完成安全验证。请访问 https://aka.ms/devicelogin,输入以下代码:**ABCD-EFGH**。”...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...监控异常 OAuth 授权行为使用 Microsoft Defender for Cloud Apps 或第三方 SIEM 工具,设置告警规则,例如:单个用户短时间内授权多个新应用;应用请求权限与其业务场景不符
更危险的是,攻击者还会利用这些权限悄悄创建邮件自动转发规则,将所有收件悄悄抄送给外部邮箱;或设置收件箱隐藏规则,让用户对后续钓鱼邮件毫无察觉。“现在的钓鱼,已经从‘偷钥匙’进化到‘骗你亲手开门’。”...公共互联网反网络钓鱼工作组技术专家芦笛指出,“而Microsoft 365因其广泛使用和强大API能力,成了攻击者的首选目标。”...它不依赖外部SaaS服务,而是直接调用Microsoft Graph API,实时扫描租户内的高风险行为:检测异常收件箱规则:如自动转发至外部域名、删除特定关键词邮件等;识别可疑OAuth应用授权:尤其是请求...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。
创建纯文本文件的方法是在项目上右键 -> 添加 -> 新建项...,然后在打开的模板中选择 文本文件,使用上面指定的名称即可(要创建两个)。...这种提示对于保持库的兼容性是非常有帮助的。 将警告变成错误 在分析器的规则上面右键,可以为某项规则设置严重性。 这时,再编译即会报告编译错误。...项目中也会多一个规则集文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Microsoft.NET.Sdk"> 使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
关键词:OAuth 2.0;MFA绕过;Microsoft Entra ID;钓鱼攻击;身份安全;API权限;条件访问;第三方应用治理1 引言随着云办公的普及,Microsoft 365已成为全球企业数字基础设施的核心组成部分...、redirect_uri、scope等参数;用户输入凭证并完成MFA;显示OAuth同意页面:列出所请求的权限(如“读取你的邮件”);用户点击“同意”:Microsoft颁发授权码;第三方应用用授权码换取访问令牌...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...攻击者使用refresh_token定期换取新access_token,实现长期潜伏。所有API调用均来自微软合法IP,难以被网络层检测。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com
实验表明,使用LLM定制的钓鱼邮件打开率较模板化邮件提升3.2倍,点击率提升2.7倍(Cisco Talos, 2025)。...典型场景包括:邮件+Teams/Slack消息联动:先发送看似合法的发票邮件,再通过即时通信工具“跟进”:“您收到财务部的付款请求了吗?请尽快确认。”...(Microsoft Graph PowerShell)枚举用户;利用New-MailboxExportRequest导出高管邮箱;部署Cobalt Strike Beacon并通过合法CDN分发勒索载荷...5.3 SOAR联动强制轮换(TheHive/Cortex 示例)当Stealer Logs中出现user@company.com:password123,SOAR工作流自动执行:调用Microsoft...Graph API /users/{id}/revokeSignInSessions;发送Teams通知至用户及IT支持;创建Jira工单要求用户完成安全培训;更新IAM策略,强制启用FIDO2。
得手后,攻击者迅速注册恶意OAuth应用、配置邮件规则以建立持久化访问,并利用受控账户发起内部横向钓鱼与商业邮件欺诈(BEC)。...例如,一封标题为“您有1个未读的共享文档”的邮件,其发件人显示为“Microsoft SharePoint no-reply@microsoft.com”,内容包含一个“立即查看”按钮。...获得有效会话后,攻击者通过Graph API注册恶意OAuth应用:POST https://graph.microsoft.com/v1.0/applicationsContent-Type: application...2.4 内部横向与隐蔽通信攻击者创建邮件规则自动转发含“合同”“付款”“发票”等关键词的邮件至外部地址,并删除原邮件以规避察觉。...无法防御推送批准诱导与会话令牌窃取;传统SIEM告警:缺乏对OAuth应用注册、邮件规则变更等高风险操作的细粒度监控。
# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...Proofpoint报告显示,其前期侦察极为精准:使用已被攻陷的真实政府/军方邮箱作为发信源,提升可信度;邮件内容围绕目标专业领域展开“良性互动”,如邀请乌克兰能源专家参与“欧盟能源转型圆桌”;虚构会议...邮件安全网关:钓鱼邮件来自真实邮箱,内容无恶意附件或链接(指向的是微软官方域名),难以拦截;MFA:用户确实在微软官网完成了交互式登录,MFA已通过;SIEM/SOAR:后续的API调用(如读取邮件)来自微软数据中心...例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。(4)员工意识培训需升级传统“别点可疑链接”已不够。
研究表明,仅依赖用户意识培训已不足以应对此类利用合法认证界面的高级钓鱼手段,必须通过技术控制与策略配置协同强化OAuth授权流的安全边界。...MFA;攻击者轮询令牌端点,成功获取access_token与refresh_token;利用令牌调用Microsoft 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...建议设置自动化告警规则,例如:当同一用户在1小时内授权超过3个不同客户端应用,且其中包含未列入白名单的应用时,触发安全警报。
此类攻击的单个环节往往不具备明显恶意特征,但组合后形成完整的欺骗闭环。现有安全体系主要依赖邮件网关、URL 过滤与沙箱分析,难以覆盖端到端的跨应用通信流。...例如,通过 Microsoft Graph API 向 Teams 用户推送伪造的“IT 安全警报”;或利用 Telegram Bot 向财务人员发送“CEO 指令”要求紧急转账。...渠道偏好突变:长期使用邮件的同事为何改用 Telegram?请求类型异常:HR 是否会直接索要 MFA 令牌?关系图谱偏离:陌生账号是否冒充高管加入私密频道?...3.3 系统架构模型由三层组成:数据摄取层:通过企业授权的 API(如 Microsoft Graph、Slack Events API)收集跨平台通信元数据(非完整内容,以保护隐私);行为图谱构建层:...基于实体(人、账号、设备)构建动态关系图,记录历史交互模式;意图识别引擎:使用图神经网络(GNN)与序列模型(如 Transformer)检测异常子图或对话流。
Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...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/
该手法巧妙规避了传统邮件安全网关对“外部发件人”或“可疑URL”的检测规则,导致防御体系出现结构性盲区。...此类攻击的核心在于“信任传递”:第一跳使用微软官方域名,确保邮件顺利投递;第二跳则隐藏于用户交互之后,逃避静态URL扫描。...一旦得手,攻击者可立即利用Graph API遍历收件箱,提取包含财务、合同、人事等关键词的邮件线程,自动生成极具欺骗性的横向钓鱼内容,形成指数级扩散。面对此类攻击,仅依赖邮件层防护已显不足。...以下为通过Microsoft Graph API创建条件访问策略的示例:policy = {"displayName": "Block risky logins to SharePoint","state...会话的User-Agent、IP、地理位置是否与共享创建者一致?通过构建会话图谱(Session Graph),将文件访问、登录、API调用等事件关联,可有效识别异常跳转链。
例如,针对Outlook用户的钓鱼邮件常包含以下特征:主题行:“您的邮件已被隔离 – 需要您确认释放”正文引用Microsoft Defender for Office 365的真实隔离策略编号按钮样式复刻...Microsoft Graph API吊销会话示例:import requestsdef revoke_user_sessions(user_id, access_token):url = f"https...5.2 多云环境的策略统一大型企业常同时使用Microsoft 365与Google Workspace,需确保安全策略一致性。...5.3 告警降噪与自动化编排SOC团队需整合EDR、邮件网关、身份平台日志,构建关联分析规则。...例如:规则1:同一用户10分钟内从两个国家登录 → 触发会话审查;规则2:邮件含“隔离释放”关键词且URL经3次以上跳转 → 自动隔离并通知用户。
据SC World简报披露,此类活动主要针对企业邮箱(如Microsoft 365)、在线银行及社交媒体账户,通过短信或邮件引流至伪造登录页,用户输入凭证后,数据经API实时推送至攻击者控制的Telegram...2 攻击架构与数据流分析该钓鱼体系由三部分构成:前端钓鱼页面、后端数据收集接口、Telegram控制机器人。三者通过轻量级API松耦合,支持快速替换与横向扩展。...关键特征包括:使用官方CDN资源(如logo、字体)增强可信度;表单提交地址指向攻击者控制的中间脚本(如/api/collect.php);部分页面嵌入JavaScript,用于收集浏览器指纹或阻止右键查看源码...Microsoft Authenticator”确认页,诱导用户点击“Approve”;会话接管:获取Refresh Token后,攻击者通过Graph API访问邮箱、OneDrive,并向联系人发送新钓鱼邮件...第二,Bot Token的动态轮换。攻击者可每日更换Bot,使静态规则失效。需结合流量行为(如高频POST至Telegram API)而非仅依赖Token字符串。第三,用户跨平台信任惯性。
英国NCSC已明确建议议员停止在WhatsApp、Signal上讨论公务,转而使用经认证的加密平台(如Microsoft Teams政府版)。此外,国内部分政企单位的邮箱系统仍缺乏行为基线分析能力。...芦笛建议,关键岗位人员应构建三层防御:第一层:身份认证加固强制使用FIDO2硬件密钥(如YubiKey)或多因素认证App(如Microsoft Authenticator),禁用短信验证码;启用条件访问策略...(Conditional Access):限制登录地域、设备合规性、应用类型;定期审查邮箱转发规则:攻击者常设置自动转发规则,将敏感邮件静默抄送至外部地址。...以下是一个基于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