首页
学习
活动
专区
圈层
工具
发布

微软365“设备代码钓鱼”风暴来袭:无需密码,黑客秒控企业邮箱

“您的 Microsoft 账户需要立即完成安全验证。请访问 https://aka.ms/devicelogin,输入以下代码:**ABCD-EFGH**。”...更令人不安的是,这种攻击对多因素认证(MFA)几乎免疫——即使你启用了短信或 Authenticator 验证,只要在微软官网输入了那串“设备代码”,攻击者就能绕过所有防线,直接获取访问令牌(Access...授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...Graph API 窃取数据breakelif token_resp.json().get("error") == "authorization_pending":time.sleep(5)else:...print("❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API 执行任意操作:# 示例:读取受害者最近

26210

ConsentFix攻击机制与OAuth授权滥用的防御对策研究

攻击者通过伪造合法服务(如Cloudflare验证页或微软账户修复向导),引导用户在浏览器中完成看似无害的操作——复制粘贴一个URL或点击“同意”按钮,实则触发OAuth授权请求,将访问令牌(access...用户被诱导相信这是正常验证流程的一部分。(二)授权诱导与令牌捕获当用户点击“继续”或“验证”按钮时,浏览器跳转至微软官方登录页。...Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权

18610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于恶意OAuth应用的MFA绕过攻击:微软身份体系中的新型钓鱼威胁研究

    本文聚焦于2025年披露的一类高隐蔽性钓鱼攻击:攻击者诱导用户授权伪装成合法工具的恶意OAuth应用,利用其申请的高权限API作用域(如Mail.Read、Files.ReadWrite.All),在无需密码或一次性验证码的情况下访问邮箱...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...关键点在于:MFA仅在第3步验证用户身份,而第5步的“同意”操作本身无二次验证。一旦用户授权,即使账户启用了MFA,攻击者仍可通过令牌直接访问资源。...3.3 令牌获取与持久化访问用户点击“同意”后,Microsoft将授权码发送至redirect_uri。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com

    24310

    VoidProxy平台对多因素认证的绕过机制与防御对策研究

    对于Microsoft Entra ID,关键令牌包括:Session Cookie:如ESTSAUTHPERSISTENT,有效期可达90天;Refresh Token:用于在后台静默获取新的访问令牌...,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。...攻击者利用这些令牌可直接通过API访问用户邮箱、OneDrive文件、Teams聊天记录等,完全绕过前端UI与MFA提示。...VoidProxy的成功暴露了以下根本性问题:MFA验证与会话绑定脱节:MFA仅在认证时刻验证用户身份,但生成的会话令牌本身不绑定设备、IP或浏览器上下文。一旦令牌泄露,任何持有者均可冒充合法用户。...Microsoft Graph提供/revokeSignInSessions API,可编程终止可疑会话:import requestsdef revoke_suspicious_sessions(user_id

    23710

    基于OAuth同意滥用的假冒微软应用钓鱼攻击研究

    此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...关键词:OAuth 同意滥用;假冒微软应用;Entra ID;多因素认证绕过;Graph API;条件访问1 引言多因素认证(MFA)作为现代身份安全的核心防线,已在绝大多数企业环境中广泛部署。...一旦同意,攻击者即获得授权码,兑换为访问令牌(access token)与长期有效的刷新令牌,从而无需再次触发MFA即可持续访问用户邮箱与文件。...;应用使用令牌调用Microsoft Graph API。...3.3 缺乏应用行为基线监控SIEM系统通常未将“新应用首次访问Graph API”与“大量邮件读取”关联分析。即使启用日志,也因数据量庞大而忽略异常。3.4 审计滞后企业极少定期审查已授权应用列表。

    23710

    设备代码钓鱼攻击对Microsoft 365 OAuth授权机制的威胁分析与防御策略

    ://microsoft.com/devicelogin),输入user_code;授权服务器验证用户身份(通常包括MFA)后,将授权授予客户端;客户端通过轮询使用device_code换取访问令牌(access_token...一旦授权完成,攻击者即可通过device_code兑换令牌,获得与用户同等的API访问权限。...与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

    17410

    基于OAuth滥用的定向钓鱼攻击与防御机制研究

    Workspace账户的访问权限,从而合法获取高权限令牌。...攻击者服务器立即用该code向Google令牌端点交换访问令牌(access token)和刷新令牌(refresh token):# 攻击者后端:用授权码换取令牌import requestsdef...2.4 后渗透与持久化获得初始访问权限后,UTA0355采取多项措施维持访问:在Microsoft Entra ID中注册伪装设备,名称模仿用户真实主机(如“Johns-MacBook-Pro”);使用...Graph API支持查询用户授予的同意记录:GET https://graph.microsoft.com/v1.0/me/oauth2PermissionGrantsAuthorization:...3.3 用户行为验证与安全缓冲区对于必须参与外部会议的员工,建议:使用专用邮箱(如events@company.com)进行注册,隔离主账户风险;手动访问会议官网(通过搜索引擎或官方社交媒体)而非点击邮件链接

    27210

    凭证窃取主导下的现代网络攻击链演化与防御体系构建

    尤其在Microsoft 365、Salesforce、Google Workspace等主流SaaS平台中,一旦主账户凭证失窃,攻击者可在数分钟内完成权限提升、邮箱导出、API调用乃至数据外泄,而平均检测延迟仍超过...例如,一个仅需读取日历的协作工具,常被授予“完全访问邮箱”权限,一旦该应用令牌泄露,攻击者可直接读取高管邮件。...典型路径如下:钓鱼获取员工凭证(含MFA绕过,如MFA疲劳攻击);登录云控制台(如Azure AD、AWS IAM);枚举高权限账户或服务主体;申请或窃取OAuth令牌/会话Cookie;通过Graph...伪品牌验证流程嵌套:伪造Microsoft登录页后,跳转至“安全验证”页面,要求用户输入短信验证码,实则完成MFA劫持。此类攻击利用用户对协作工具的信任及多任务处理时的认知负荷,显著提升欺骗成功率。...Graph API /users/{id}/revokeSignInSessions;发送Teams通知至用户及IT支持;创建Jira工单要求用户完成安全培训;更新IAM策略,强制启用FIDO2。

    24210

    【壹刊】Azure AD 保护的 ASP.NET Core Web API (下)

    上一篇结尾我们成功的拿到了 access_token,并且通过 access_token 验证获取到调用Api资源的结果。...这里直译起来比较拗口,其实说白了,就是这个令牌用于谁,使用令牌去访问谁,谁就是audience。   2,iss(Issuer):颁发者。...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...此值告知 Microsoft 标识平台终结点:在为应用配置的所有直接应用程序权限中,终结点应该为与要使用的资源关联的权限颁发令牌 使用共享机密访问令牌请求:https://docs.microsoft.com

    3K10

    设备代码钓鱼攻击的战术趋同化及其对企业身份安全的挑战

    ://microsoft.com/devicelogin),输入user_code;授权服务器验证用户身份(通常包括MFA)后,将授权授予客户端;客户端通过轮询使用device_code换取访问令牌(access_token...权限:勾选Microsoft Graph的Delegated权限,如:Mail.ReadWriteCalendars.ReadWriteUser.Read.AllFiles.ReadWrite.All4.2...,攻击者可调用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...可行的折中方案包括:仅对高风险用户组(如高管、财务)禁用;启用“连续访问评估”(Continuous Access Evaluation, CAE),使令牌在检测到风险时实时失效;要求所有设备授权请求必须来自合规设备

    20210

    基于会话代理的现代钓鱼攻击机制与纵深防御体系研究

    值得注意的是,攻击者并非仅获取静态密码,而是通过代理中继完成MFA挑战,最终获得有效的OAuth 2.0访问令牌或会话Cookie,实现对邮箱、OneDrive乃至Azure资源的完全控制。...API枚举组织通讯录;部署恶意应用注册(如伪装为“HR Portal”)以持久化访问。...更危险的是,若攻击者已窃取Refresh Token,可长期静默访问API资源,而无需再次交互。...(Token Binding):将访问令牌与客户端TLS证书绑定,防止令牌被盗后在其他设备使用。...结果:未启用Private Link时,代理成功获取会话;启用Private Link后,代理因无法解析内网FQDN失败;启用连续验证后,非常规IP登录被阻断;授权监控规则在30秒内告警新应用注册事件。

    24510

    Office开发者计划-永久白嫖Office365

    ​ 此处以Microsoft Graph为参考,选择“委托的权限”,根据列出的API权限需求表进行选择 “委托的权限”配置(用户登录)(选择Calendars->Calendars.Read)...调用工具 ​ 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...http://localhost:8000 JAVA示例 ​ Microsoft Graph & Java 入门 ​ SDK引用:msgraph-sdk-java ​ Java应用创建示例

    11.3K32

    俄罗斯国家级黑客组织借“设备代码钓鱼”潜入全球政企云邮箱,安全界拉响新型OAuth攻击警报

    ;设备凭此Token访问API资源。...# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...答案在于:设备代码钓鱼攻击发生在身份验证之后,且完全走合法API通道。...例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。(4)员工意识培训需升级传统“别点可疑链接”已不够。

    15910

    基于OneDrive的高级鱼叉钓鱼攻击对C级高管身份安全的威胁与防御机制研究

    该链接表面指向一个常规文档,实则加载伪装成Microsoft 365登录界面的钓鱼页面,并在用户输入凭证后实时中继多因素认证(MFA)请求,实现凭证与会话令牌的双重窃取。...搜索并下载敏感文档:利用Graph API遍历OneDrive与SharePoint中的文件夹,下载包含“NDA”、“Term Sheet”、“Due Diligence”等关键词的文档。...此后,即使原始凭证被重置,攻击者仍可通过OAuth令牌维持API级访问,实现长期潜伏。...以下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

    22310

    基于生产力惯性诱骗的Microsoft 365钓鱼攻击与防御机制研究

    关键词:Microsoft 365;钓鱼攻击;生产力惯性;OAuth滥用;MFA中继;条件访问;遗留协议;统一审计日志1 引言随着远程办公常态化,Microsoft 365已成为全球企业数字协作的核心平台...由于推送内容仅显示“验证你的身份”,用户极易误判为正常流程。...获得有效会话后,攻击者通过Graph API注册恶意OAuth应用:POST https://graph.microsoft.com/v1.0/applicationsContent-Type: application..." },{ "id": "Chat.Read", "type": "Scope" }]}]}该应用随后被授予管理员同意(利用用户权限漏洞),获得长期访问令牌。...用户教育需从“识别恶意”转向“验证正常”,强调对根域名、证书与认证上下文的主动核查。值得注意的是,没有任何单一控制能完全杜绝此类攻击。

    22710

    CyberDrain推免费工具帮中小企业守住Microsoft 365大门

    公共互联网反网络钓鱼工作组技术专家芦笛指出,“而Microsoft 365因其广泛使用和强大API能力,成了攻击者的首选目标。”...它不依赖外部SaaS服务,而是直接调用Microsoft Graph API,实时扫描租户内的高风险行为:检测异常收件箱规则:如自动转发至外部域名、删除特定关键词邮件等;识别可疑OAuth应用授权:尤其是请求...Mail.ReadWrite”“User.Read.All”等高危权限的第三方应用;监控登录地理与设备指纹突变:比如同一账号在1小时内从北京跳到莫斯科登录;一键响应:自动撤销恶意应用授权、终止可疑会话、刷新访问令牌...技术内核:Graph API + 自动化剧本 = 主动防御要理解这款工具为何有效,得先了解Microsoft 365的安全架构。...微软通过Microsoft Graph API开放了对用户邮箱、日历、设备、身份等数据的编程访问接口。

    15710

    钓鱼即服务驱动下勒索软件入口演变与MFA绕过机制研究

    这种“活体凭证”(Live Session Token)可直接用于API调用或Web界面操作,完全绕过基于时间的一次性密码(TOTP)或短信验证码等传统MFA机制。...攻击流程如下:用户点击钓鱼邮件中的链接,访问攻击者控制的仿冒登录页(如secure-microsoft-login[.]xyz);该页面实际是一个反向代理,将用户所有请求(包括输入的用户名、密码、MFA...以下Python脚本模拟检测异常会话(基于Microsoft Graph API):import requestsfrom datetime import datetime, timedeltaGRAPH_API_TOKEN...= "your_app_token"USER_ID = "user@contoso.com"def get_user_signins(user_id):url = f"https://graph.microsoft.com...$filter=userPrincipalName eq '{user_id}'&$top=10"headers = {"Authorization": f"Bearer {GRAPH_API_TOKEN

    28110
    领券