摘要以 EvilTokens 工具化服务为代表的设备代码钓鱼已成为针对 Microsoft 365 用户的主流威胁形态,攻击者依托 OAuth 2.0 设备授权流程,在无需窃取账号密码、无需绕过多重要素认证的前提下...3.3 令牌窃取与权限获取阶段用户完成验证后,攻击者轮询拿到访问令牌与刷新令牌,获得以下能力:非交互式访问 Microsoft Graph API,读取邮件、下载文件、获取通讯录;长期维持访问:刷新令牌可重复生成有效访问令牌...(如 XXXX-XXXX)、紧急指令与敏感权限诱导;令牌异常特征:刷新令牌长时间未过期、异地 / 异常 IP 使用令牌、非典型权限组合;登录上下文特征:非常规业务时段、非授信设备、非授信位置、无历史设备记录...,告警异常设备码流与非授信应用;安全运营:每日审计刷新令牌,对长时间未过期、异地 IP 令牌执行撤销。...;令牌层:审计令牌使用行为,对异常使用立即撤销并告警。
在此过程中,攻击者不仅捕获用户名与密码,更重要的是截获认证成功后返回的会话Cookie、OAuth 2.0访问令牌及刷新令牌(Refresh Token),从而实现无需凭证重放的持久化账户访问。...由于整个流程发生在合法TLS通道内,且用户确实完成了MFA挑战,传统基于异常登录行为或IP跳跃的检测机制往往失效。此类攻击的后果远超个体账户失陷。...,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。...例如,若受害者通常使用Windows 11 + Chrome 124访问Office 365,攻击者将配置代理以相同特征发起API请求,使登录活动在审计日志中呈现为“正常行为”。...(三)浏览器内令牌绑定(DPoP)推动SaaS供应商支持OAuth 2.0 DPoP规范。DPoP要求客户端在每次API请求中附带一个由私钥签名的证明令牌,该私钥与TLS连接绑定。
;设备凭令牌访问资源,无需用户密码输入。...该流程全程使用官方域名与加密通道,具备天然可信特征,被 Microsoft Entra ID(原 Azure AD)广泛支持。...3.3 核心技术突破点MFA 绕过机制攻击不拦截验证码,而是在用户完成 MFA 后窃取合法令牌。令牌等效已认证会话,无需再次验证,实现 MFA 实质性绕过。...4.3 代码实现:设备码流异常检测脚本以下 Python 示例从 Microsoft Graph API 获取登录日志,实时识别可疑设备码授权,可集成至 SIEM/EDR 平台。...5.3 监测与响应层:闭环运营SIEM 实时告警:设备码授权、异常令牌使用;自动化响应:发现可疑授权立即撤销令牌、强制重登录、触发风险评估;溯源复盘:分析诱饵渠道、用户行为、授权路径,优化策略。
攻击者通过伪造IT部门通知、安全警报或软件更新提示,诱使用户访问看似合法的指令页面,并要求其在https://microsoft.com/devicelogin 输入一串六位字母数字组合的设备代码。...客户端通过轮询使用device_code换取访问令牌(access_token)和刷新令牌(refresh_token)。...Graph API,读取邮件、日历、联系人,甚至创建新应用或修改权限。.../devicelogin 输入user_code并完成登录后,上述脚本将成功获取访问令牌。...随后,攻击者可使用该令牌调用Graph API:# Example: Read user's mailboxheaders = {'Authorization': f'Bearer {token_json
以授权码模式(Authorization Code Flow)为例,典型步骤如下:用户访问第三方应用:例如点击“使用Microsoft登录”按钮;重定向至Microsoft登录页:URL包含client_id...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...注册过程无需特殊权限,任何拥有个人Microsoft账户的用户均可完成。...典型伪装策略包括:应用名称模仿官方工具:如“Microsoft Secure Access”、“Entra Verify Tool”;使用微软品牌图标:上传与Office 365相似的SVG或PNG图标...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...本文系统分析该类攻击的技术路径、权限滥用模式与隐蔽性特征,指出传统基于登录异常或密码泄露的检测机制对此类“合法授权”行为存在显著盲区。...一旦同意,攻击者即获得授权码,兑换为访问令牌(access token)与长期有效的刷新令牌,从而无需再次触发MFA即可持续访问用户邮箱与文件。...;应用使用令牌调用Microsoft Graph API。...2.4 攻击隐蔽性与影响绕过MFA:因使用刷新令牌,无需再次认证;规避EDR/邮件网关:无恶意附件或可疑URL;供应链渗透:若受害者为供应商员工,可进一步攻击其客户;勒索前置:批量下载敏感邮件与文件,为后续勒索提供素材
一旦用户输入代码并点击“下一步”,系统会要求其使用 Microsoft 365 账户登录——此时 MFA 可能被触发,用户收到短信或 Authenticator 推送通知,并完成验证。...授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...更危险的是,一旦获得 Refresh Token,攻击者可长期维持访问,即使用户更改密码也无效——因为 OAuth 令牌独立于密码体系。...部署条件访问(Conditional Access)策略限制高风险操作(如令牌颁发)仅允许从受信任设备、网络或地理位置发起。...监控异常 OAuth 授权行为使用 Microsoft Defender for Cloud Apps 或第三方 SIEM 工具,设置告警规则,例如:单个用户短时间内授权多个新应用;应用请求权限与其业务场景不符
OAuth 2.0授权虽简化了单点登录(SSO),但也导致权限过度授予问题。例如,一个仅需读取日历的协作工具,常被授予“完全访问邮箱”权限,一旦该应用令牌泄露,攻击者可直接读取高管邮件。...典型路径如下:钓鱼获取员工凭证(含MFA绕过,如MFA疲劳攻击);登录云控制台(如Azure AD、AWS IAM);枚举高权限账户或服务主体;申请或窃取OAuth令牌/会话Cookie;通过Graph...此过程中,攻击者无需部署恶意软件,全程利用合法API调用,规避传统EDR检测。思科报告显示,73%的勒索事件中,攻击者在获得凭证后4小时内完成数据加密或外传。...攻击者购得凭证后,通常在24小时内完成以下操作:使用az login --service-principal或gcloud auth activate-service-account登录云环境;通过Get-MgUser...(Microsoft Graph PowerShell)枚举用户;利用New-MailboxExportRequest导出高管邮箱;部署Cobalt Strike Beacon并通过合法CDN分发勒索载荷
token)或刷新令牌(refresh token)泄露给攻击者控制的应用。...(二)授权诱导与令牌捕获当用户点击“继续”或“验证”按钮时,浏览器跳转至微软官方登录页。...,"scope": "Mail.Read Mail.Send Files.Read.All","expires_in": 3600}至此,攻击者无需知道用户密码,即可通过access_token调用Microsoft...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权
;授权服务器校验通过后,标记设备授权状态;设备客户端按轮询间隔请求令牌,授权服务器返回访问令牌与刷新令牌;设备使用访问令牌调用资源服务器接口,获取用户数据。...3.2.3 社会工程学诱导授权伪造页面提示用户完成设备验证,展示微软官方设备登录 URL(microsoft.com/devicelogin)与用户码,谎称是账号安全校验、设备绑定流程。...攻击者使用令牌访问 Microsoft 365 邮件、日历、OneDrive、SharePoint 等资源,部分配置下可获取全局管理员权限,实现内网横向渗透。...Microsoft Graph 配置权限限制示例:httpPATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicyAuthorization...5.3 兼容性与适用性分析本文方案兼容 Microsoft 365、Azure AD、Entra ID 等主流身份平台,支持 PowerShell、Microsoft Graph 自动化部署,无需改造现有业务系统
客户端通过轮询使用device_code换取访问令牌(access_token)和刷新令牌(refresh_token)。...其典型手法包括:利用已攻陷的政府邮箱发送伪造“安全警报”,诱导目标扫描QR码或点击链接进入设备登录页面;注册高可信度域名(如microsoft-security[.]com)托管钓鱼页面,但最终跳转至真实...其优势在于:无需漏洞利用或密码爆破,成功率高;绕过基于短信或推送通知的MFA;获取的refresh_token可用于长期驻留,便于部署Cobalt Strike或Rclone等工具进行数据外泄。...4 攻击链复现与代码示例4.1 恶意应用注册攻击者首先在Azure AD中注册一个恶意应用(可使用个人微软账户完成,无需租户管理员权限):应用名称:Secure Document Sync重定向URI:...留空(设备授权无需回调)API权限:勾选Microsoft Graph的Delegated权限,如:Mail.ReadWriteCalendars.ReadWriteUser.Read.AllFiles.ReadWrite.All4.2
传统钓鱼攻击依赖伪造登录页面窃取用户名和密码。但随着MFA(多因素认证)普及,仅凭密码已无法完成登录。于是,攻击者转向更隐蔽的“令牌窃取”路径。...整个过程无需输入密码,且若用户已处于登录状态(如浏览器记住会话),甚至无需再次输入MFA。而攻击者正是利用了第3-5步的“信任链”。...# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...若因业务需要必须保留,可采用“白名单”策略,仅允许特定用户组、IP段或操作系统使用。
攻击采用企业级 HTML 模板、合规服务背书、Cloudflare CAPTCHA 校验、多阶段跳转与设备码钓鱼流程,绕过传统邮件网关与终端检测,诱导用户完成 Microsoft 账号登录并窃取认证令牌...2.3 典型危害后果账号接管:窃取令牌后无需密码即可登录,控制邮箱、OneDrive、SharePoint 等业务系统数据泄露:窃取邮件、合同、客户信息、财务数据、合规文档等敏感资产横向渗透:以邮箱为跳板实施...:攻击直接获取令牌,无需破解密码信任判断失效:用户与系统均将 “合规场景 + 合法服务” 判定为安全4.4 用户安全意识失效内部合规通知属于高信任场景紧急性与权威性压制怀疑普通用户无法识别 AiTM、令牌劫持...self.tenant_id = tenant_id self.graph_url = f"https://graph.microsoft.com/v1.0/auditLogs/signIns...、强制密码重置限制敏感账号登录位置与设备范围启用令牌生命周期管理,自动撤销可疑会话6.3 安全运营配置开启 Microsoft Defender XDR 自动攻击中断配置告警与工单联动,缩短响应时间定期审计登录日志
你有没有在登录某个小工具或第三方应用时,看到过这样的提示:“此应用想要访问你的Microsoft 365邮箱、日历和文件”?...一旦用户被导向伪造的微软登录页并输入凭证,系统会跳转到一个“授权请求”页面——看起来和平时一模一样。只要用户点了“同意”,攻击者就获得了OAuth令牌,从此无需密码、无需验证码,即可长期访问该账户。...,攻击者可长期潜伏,甚至设置邮件转发规则,悄无声息地窃取情报;即使用户更改密码,只要未撤销授权,攻击者仍能通过刷新令牌继续访问。...同时,定期审查已授权应用列表(路径:Microsoft 365门户 > 账户 > 应用权限),删除不再使用或可疑的“影子应用”。3....即使令牌被盗,也无法在陌生设备上使用。5. 定期吊销可疑刷新令牌通过Microsoft Graph API或安全中心,监控异常令牌活动(如非工作时间、非常用地点),并批量撤销高风险会话。
设备码钓鱼通过滥用 OAuth 2.0 设备授权合法流程,诱导用户在官方登录页面输入设备码,使攻击者在无需伪造站点、无需窃取静态密码的情况下获取高权限访问令牌与刷新令牌,可直接实现账户接管、邮件窃取、内网横向渗透乃至勒索软件部署...设备码钓鱼依托 OAuth 2.0 设备授权授权流(RFC 8628)实现,该机制初衷用于智能电视、IoT 设备、命令行工具等无浏览器或输入受限场景的身份认证,用户通过在其他设备访问官方登录页并输入设备码完成授权...现有研究多聚焦单一工具分析或攻击流程描述,对产业化扩散机制、协议级滥用原理、令牌劫持持久化、跨组织战术趋同等关键问题缺乏系统性论述,防御方案多为零散建议而未形成闭环体系。...device_code 换取 access_token 与 refresh_token;持久化:使用令牌登录邮箱、下载数据、添加转发规则、维持长期控制。...4.4 令牌持久化与资源访问示例# 使用访问令牌调用Microsoft Graph读取邮件import requestsdef read_emails(access_token): headers
应用程序通常需要维护注册用户的一些信息,并能够将此信息与令牌中的声明中包含的标识符相匹配。 这通常通过用户首次访问应用程序时的注册来完成,在每次身份验证之后,信息作为附加声明注入到令牌中。...例如,如果用户在 Microsoft 域中输入电子邮件地址(例如 user@live.com),则 STS 会将用户重定向到 Microsoft 帐户登录页面。...在以后的访问中,STS 可以使用 cookie 来指示最后的登录使用的是 Microsoft 帐户。...在此方案中,需要对公司安全边界外的云托管的公司应用程序进行员工身份验证,而无需要求他们在每次访问应用程序时登录。...用户体验与使用本地应用程序时的用户体验相同,在登录到公司网络时进行身份验证,此后即可访问所有相关应用程序,无需再次登录。 与多个合作伙伴的联合身份。
;用户在授权服务器页面登录并同意权限请求;授权服务器生成授权码(Authorization Code),通过重定向返回至Client指定的redirect_uri;Client使用授权码、client_secret...向令牌端点换取访问令牌与刷新令牌;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...该参数指示授权服务器在用户已登录且先前已授予权限的情况下,不显示任何UI直接返回令牌。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers...可使用Microsoft Graph PowerShell批量设置:# 禁止用户同意应用Set-MgPolicyAuthorizationPolicy -PermissionGrantPolicyId
以Microsoft 365为例,用户登录后,服务器会颁发一个短期有效的访问令牌(Access Token)和一个长期刷新令牌(Refresh Token)。...只要持有这些令牌,攻击者无需再次输入密码或MFA验证码,即可直接访问邮箱、OneDrive等服务。...Callisto常用的手法是:诱导用户在伪造页面输入账号密码;后台脚本立即将凭证提交至真实Microsoft登录页;获取合法会话后,提取Cookie中的x-ms-cpim-sso或ESTSAUTHPERSISTENT...等关键令牌;使用这些令牌通过Graph API直接操作用户数据。...-0ff1-ce00-000000000000&refresh_token=&grant_type=refresh_token&scope=https://graph.microsoft.com
其前端JavaScript会尝试读取以下关键Cookie:x-ms-gateway-sso:用于Azure AD无缝单点登录ESTSAUTHPERSISTENT:长期有效的身份验证令牌// RaccoonO365...管理员可通过Microsoft Entra ID策略强制高风险用户使用FIDO2:# 使用Microsoft Graph PowerShell SDK启用FIDO2策略Connect-MgGraph -...)并自动撤销会话令牌,无需等待Token过期。...CAE需满足两个前提:使用支持CAE的应用(如Outlook、Teams新版客户端);在Entra ID中启用“安全默认值”或自定义条件访问策略。...企业应定期扫描Have I Been Pwned、DeHashed等泄露数据库,或使用Microsoft Defender for Identity的“泄露凭据警报”功能。
CA策略差距#1:用户在公司网络外需要MFACAP要求用户在远程工作时(不在公司网络上或通过VPN连接)进行MFA假设没有攻击者会在公司网络上攻击者可以使用用户名/密码而无需MFACA策略差距#2:管理员不需要...MFAMFA是某些用户访问特定应用程序所必需的但是,没有CAP要求管理员使用MFA或者……CAP只要求少数角色的成员使用MFA攻击者可以使用用户名/密码而无需MFACA策略差距#3:排除项CAP包括几个安全控制需要...保护无缝单点登录(SSSO)攻击Azure AD无缝单点登录由Azure AD Connect管理"Azure AD公开一个公开可用的端点,接受Kerberos票据并将其转换为SAML和JWT令牌"危害...(SSSO)对于Windows 10、Windows Server 2016及更高版本,建议通过主刷新令牌(PRT)使用SSO。...,是PIM符合条件的,并且不是从本地同步的如果您使用角色可分配组,确保所有者未设置在Tier 0角色上仔细审查任何具有Tier 0应用程序权限的应用程序确保条件访问要求Tier 0角色成员每次身份验证都使用