,它搭建在作者的服务器上,需要根据教程配置应用的api和key,之后访问并登陆作者搭建好的网站(使用Github账号),授权其实用你的应用客户端即可。...->Calendars.Read) 客户端密码创建:证书和密码->添加客户端密码 确认完成在列表处可以看到生成的记录,点击选择复制值(即客户端密码) b.API调用工具 Microsoft...Graph 浏览器是一种基于 Web 的工具,可用于生成和测试对 Microsoft Graph API 的请求 API需要的权限设定可在预览卡中查阅,授权后则可再次尝试调用响应 ...Postman 是一个可用于向 Microsoft Graph API 发出请求的工具:Postman&Microsoft Graph API使用 c.Microsoft Graph 快速入门示例...maven依赖,随后编写接口测试 主要步骤说明:注册应用、身份验证、API调用 其API调用核心思路为 创建一个authProvider用户凭据(根据实际身份验证的方式获取,不同渠道构建方式不同
2 OAuth 2.0设备授权流程概述OAuth 2.0设备授权模式(Device Authorization Grant)定义于IETF RFC 8628,适用于无法直接处理重定向或输入复杂凭据的设备...3 设备代码钓鱼攻击机理与实验复现3.1 攻击链路解析设备代码钓鱼攻击的核心在于“授权劫持”——攻击者注册一个恶意OAuth客户端应用,触发设备授权流程获取device_code和user_code,随后诱导目标用户在真实微软页面输入...,在微软官方页面输入代码并完成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
此类攻击不依赖凭据窃取,而是滥用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...4.6 Graph API 异常行为监控部署KQL查询,检测异常API调用模式:// 检测单应用大量邮件读取AuditLogs| where OperationName == "Consent to application
研究揭示了当前OAuth生态中重定向URI校验宽松、客户端凭据管理疏漏、用户授权界面缺乏风险提示等关键脆弱点,并结合真实攻击链路,提出涵盖策略控制、运行时检测与响应、开发安全加固三位一体的纵深防御框架。...尤其在Microsoft 365、Google Workspace等企业生产力平台中,OAuth被深度集成于单点登录(SSO)、API调用、跨应用数据共享等关键场景。...Graph API)。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers...以下Python脚本利用Microsoft Graph API实现自动化审计:import requestsfrom datetime import datetime, timedeltadef audit_shadow_apps
Graph API 的代码示例,验证防御措施的可行性。...邀请可通过以下方式发起:手动邀请:管理员或具有“Guest Inviter”角色的用户通过 Azure 门户、Microsoft Graph API 或 PowerShell 发送邀请。...一旦获得权限,攻击者可通过 Microsoft Graph API 发送邀请。...由于整个流程使用合法 API 且经身份验证,邮件完全合规。...Single User条件:同一用户在 1 小时内发送超过 5 次邀请响应:自动禁用该用户邀请权限并告警Graph API 查询示例:GET https://graph.microsoft.com/v1.0
一,引言 上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源,以及在项目中集成Swagger,并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的?...3,使用 Client Credentials 访问资源 客户端凭证模式,是最简单的授权模式,因为授权的流程仅发生在客户端和授权认证中心之间。适用场景为服务器与服务器之间的通信。 ...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...这种模式直接是通过 client id 和 client secret 来获取 access_token,该方法通常用于服务器之间的通讯 以上就是使用 资源持有者密码授权以及 客户端凭据授权两种授权模式
第五步:服务端接收到第四步消息,客户端身份和消息验证通过,生成密钥并使用密钥加密并发送完成消息。 以上就是 TLS 握手的完整流程。...凭据可以是静态或动态生成的,它随着每次请求传输。常见的凭据中,静态的包括用户密码、API 密钥等;动态的包括数字签名。 用户密码:最不安全的一种凭据,一般不会使用这种方式。...凭据被窃取即意味着用户信息被窃取。 API 密钥:较为常见的身份验证凭据。这是服务端提供与客户端唯一对应的 API 密钥。 数字签名:基于非对称密钥体系,使用私钥生成签名,公钥验证签名。...从不可抵赖性以及被窃取后可能造成的严重程度来看,凭据选择的优先级为数字签名 > API 密钥 > 用户密码。...授权的核心是授权凭据。 服务端可以直接或依赖第三方来授权客户端。直接授权使用的凭据和身份验证凭据一样,它结合内部授权机制实现。
典型流程如下:用户在钓鱼页面输入凭据;攻击脚本实时将凭据转发至真实登录接口,完成身份验证;获取有效的会话Cookie或OAuth 2.0访问令牌;直接注入浏览器或API调用,绕过MFA校验。...登录时,服务端发送挑战,客户端用私钥签名响应,全程无密码传输。...关键措施包括:自动化会话吊销:通过API批量注销用户所有活动会话;凭据紧急重置:强制更改密码并撤销刷新令牌;行为回溯:利用审计日志定位首次异常活动时间点。...Microsoft Graph API吊销会话示例:import requestsdef revoke_user_sessions(user_id, access_token):url = f"https...://graph.microsoft.com/v1.0/users/{user_id}/revokeSignInSessions"headers = {"Authorization": f"Bearer
2 OAuth 2.0设备授权流程的技术基础OAuth 2.0设备授权模式(Device Authorization Grant)定义于IETF RFC 8628,适用于无法直接处理重定向或输入复杂凭据的设备...其典型交互流程包含以下步骤:客户端(Client)向授权服务器(Authorization Server)发起设备授权请求;授权服务器返回设备代码(device_code)、用户代码(user_code...)、验证URI(verification_uri)及轮询间隔;客户端向用户展示user_code和verification_uri,提示其在另一设备上完成登录;用户访问verification_uri(...如https://microsoft.com/devicelogin),输入user_code;授权服务器验证用户身份(通常包括MFA)后,将授权授予客户端;客户端通过轮询使用device_code换取访问令牌...Graph API读取邮件:import requestswith open('stolen_token.json') as f:token = json.load(f)headers = {'Authorization
“过去是靠话术和心理操控,现在是靠代码和基础设施。”芦笛指出,“像Samuel这样的开发者,往往受过正规计算机教育,熟悉云服务、DevOps、甚至前端框架。他们把犯罪当作创业项目来经营。”...管理员可通过Microsoft Entra ID策略强制高风险用户使用FIDO2:# 使用Microsoft Graph PowerShell SDK启用FIDO2策略Connect-MgGraph -...e5f6-7890-g1h2-i3j4k5l6m7n8" } # 全局管理员组)}}authenticationMethodConfigurations = @(@{"@odata.type" = "#microsoft.graph.fido2AuthenticationMethodConfiguration"state...CAE需满足两个前提:使用支持CAE的应用(如Outlook、Teams新版客户端);在Entra ID中启用“安全默认值”或自定义条件访问策略。...企业应定期扫描Have I Been Pwned、DeHashed等泄露数据库,或使用Microsoft Defender for Identity的“泄露凭据警报”功能。
特性与功能 基于2021年4月版本分析,框架核心能力构成如下: 多云支持矩阵: AWS完整接口支持 Azure(Graph API与管理API) DigitalOcean基础服务 模块化架构: 功能分类...7 权限提升路径 7 横向移动模块 0 载荷分发系统 2 后渗透操作模块 0 辅助工具集合 1 初始访问向量 2 检测规则集合 0 版本3.0增强特性: 引入团队协同作战架构(C/S模式) 实现全流程认证机制...(JWT标准) 采用MongoDB进行态势数据持久化 优化已获取情报的快速检索能力 核心功能组件: 凭据管理系统(支持AccessKeyID/SecretKey/SessionKey) 用户代理伪装机制...云服务接口:AWS boto3 SDK 容器运行时:Docker 20.10+ 数据存储:MongoDB 4.4+ 辅助工具:Windows分页组件(集成less-Windows实现) 部署与操作 标准部署流程...run -it nebula-teamserver -dH -du -dp -dn --p # 客户端部署
PaaS 环境中时,Cookie 身份验证仍然适用 不过它也会给应用增加额外负担 首先,Forms 身份验证要求应用对凭据进行维护并验证 也就是说,应用需要处理好这些保密信息的安全保障、加密和存储 云环境中的应用内加密...; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.AspNetCore.Authentication.Cookies...: 授权域名 客户端 ID 客户端密钥 回调 URL 由于这些信息的敏感性,我们的 appsettings.json 文件没有签入到 GitHub,不过以下代码清单列出了它的大致格式 { "OpenID...在这个流程中,用户登录的流程前面已经讨论过,即通过几次浏览器重定向完成网站和 IDP 之间的交互 当网站获取到合法身份后,会向 IDP 申请访问令牌,申请时需要提供身份证令牌以及正在被请求的资源的信息...使用客户端凭证保障服务的安全 首先,只允许通过 SSL 与服务通信 此外,消费服务的代码需要在调用服务时附加凭据 这种凭据通常就是用户名和密码 在一些不存在人工交互的场景中,将其称为客户端标识和客户端密钥更准确
OAuth 2.0工作流程 OAuth 2.0 的授权流程是一个标准化的协议,它定义了一种安全的方式,允许应用程序(客户端)在不存储用户凭据的情况下访问受保护的资源。...以下是 OAuth 2.0 的常见授权流程: OAuth 2.0 授权流程: 客户端注册: 客户端在授权服务器进行注册,并获取客户端标识和客户端密钥。...OAuth 2.0 的这个流程提供了一种安全且灵活的机制,使得第三方应用程序可以安全地访问用户的受保护资源,同时避免了存储用户的凭据。...隐式授权方式通常用于移动应用,简化了流程。 API访问控制: 在微服务架构中,OAuth 2.0可以用于限制和控制微服务之间的API访问。...云服务集成: 企业可以使用OAuth 2.0来整合各种云服务,例如使用Google Drive API或Microsoft Graph API,以实现对云存储和办公应用的访问。
开发流程 向 Azure Active Directory (AAD) 注册的客户端 ID 和密钥(客户端密码) 从 OAuth 2 授权代码流收到的授权代码 OneDrive for Business...开始对接 客户端id和密钥使用过oneindex的小伙伴应该都知道怎么设置,这里就不多介绍,除此之外设置一个回调的uri就可以了,我使用的是“localhost:8400” 获取access_token...onedrive for business使用的是标准的Oauth2流程,所以大概流程就是先获取code,使用code交换access_token,然后就可以调用api了,这里先贴出获取code以及交换...r.status_code not in [200, 201, 202]: print("上传出错") break 遇到的几个坑 终结点是https://graph.microsoft.com...onedrive的请求api是https://graph.microsoft.com/v1.0/me/drive,但是文档中以及网上教程写的是https://graph.microsoft.com/me
这种利用人类视觉惯性和快速阅读习惯的攻击手法,被称为 “泰波蹲守”(Typosquatting),如今正成为高级持续性钓鱼(APPh)的新宠。...他指出,该钓鱼邮件不仅诱导用户点击链接,更会将受害者导向一个高仿 Microsoft 365 登录页面,一旦输入账号密码,凭据即被实时窃取。...例如:真实域名: microsoft.com伪造域名: rnicrosoft.com在邮件客户端预览窗格、手机通知栏或 Outlook 快速查看模式下,用户往往只扫一眼发件人名称(如“Microsoft...阶段4:横向移动与持久化一旦获得有效凭据,攻击者立即使用 合法工具(如 PowerShell + Azure AD Graph API) 进行内网侦察:# 示例:使用窃取的凭据查询Azure AD用户列表...第二层:邮件安全网关增强启用 BIMI(Brand Indicators for Message Identification),在支持的邮箱客户端中显示企业 Logo,提升仿冒识别度;部署基于 AI
公共互联网反网络钓鱼工作组技术专家芦笛在接受本报独家采访时强调,“RaccoonO365在过去一年里,至少窃取了5000个企业级Microsoft 365账户凭据,波及94个国家。...{grant_type: 'password',username,password,client_id: 'd3590ed6-52b3-4102-aeff-a66161696c18' // 微软官方客户端...客户只需支付USDT(泰达币),即可获得专属钓鱼页面,并实时查看受害者IP、设备信息、是否成功窃取凭据等数据。这种“去中心化+加密货币结算”模式极大降低了执法追踪难度。...# 通过Microsoft Graph API强制用户注册FIDO2密钥(示例)Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod...建议:普通员工不得拥有全局管理员权限;对邮箱转发、规则创建、应用注册等高风险操作启用审批流程;定期审计Azure AD中的异常应用授权(如未知第三方应用请求Mail.Read权限)。
下图演示了威胁参与者实施的真实世界攻击,目的是通过滥用 Exchange 服务、Exchange API 和标准 Outlook 功能来实现完全的域入侵。...但是,如果业务需要,则应评估 Exchange Web 服务和 Exchange ActiveSync。 Exchange Web 服务允许客户端应用程序与 Exchange 服务器进行通信。...启用两因素身份验证 大多数与 Microsoft Exchange 相关的攻击都要求攻击者已经获得用户的域凭据(密码喷洒、网络钓鱼等)。...应用 Microsoft 补丁将永久禁用任意客户端邮件规则。...在浏览邮箱文件夹或重新启动 Microsoft Outlook 时将触发有效负载。该技术的发现属于Etienne Stallans,并且该攻击的实施需要用户凭据。
与仅提供视觉警告的同类工具不同,Check采取“硬阻断”策略,在检测到可疑登录页面时直接禁止表单提交,并向用户和管理员发出告警。...您的凭据不会被提交。请勿刷新或尝试绕过此页面。您的IT管理员已收到告警。...4 部署实践与效能评估4.1 部署要求Check的部署极为轻量:支持Chrome、Edge、Firefox等主流浏览器;无需安装额外代理或客户端软件;MSP可通过组策略(GPO)或MDM工具(如Intune...无Graph API集成:当前版本不自动撤销会话或令牌,需管理员手动响应。权限范围审慎:扩展需activeTab与storage权限,虽无敏感权限,但仍需用户信任。...与Microsoft Graph API联动:在检测到钓鱼后,自动调用/revokeSignInSessions终结用户所有活动会话。
但是,若前端和接口不是部署在一起的,那么一般都会存在跨域问题,本文将通过两种方式介绍如何使接口允许跨域请求。...(参数类型实际为:new string[]{ }) 当客户端需要添加指定的请求头,需要在 WithHeaders() 方法中全部配置上。...默认情况下,浏览器不会使用跨源域请求发送凭据。凭据包括 cookie 和 HTTP 身份验证方案。...要使用跨源请求发送凭据,客户端必须将 Credentials 设置为 true,默认情况下为 false。 .AllowCredentials():允许跨源请求发送凭据。...注:Chrome 和 Microsoft Edge 浏览器不会在 F12 工具的 Network 选项卡上显示 OPTIONS 请求,需要额外配置,打开地址:chrome://flags/#out-of-blink-cors
网络安全公司 Proofpoint 近日披露,一种利用 Microsoft OAuth 2.0 设备授权流程(Device Code Flow) 的新型钓鱼手法正大规模针对 Microsoft 365...其标准流程如下(RFC 8628):客户端(Client) 向授权服务器(如 Azure AD)请求设备代码;POST /devicecode HTTP/1.1Host: login.microsoftonline.comContent-Type...Graph API 窃取数据breakelif token_resp.json().get("error") == "authorization_pending":time.sleep(5)else:...print("❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API 执行任意操作:# 示例:读取受害者最近...(本文技术细节参考 Proofpoint 研究报告及 Microsoft 官方文档,OAuth 流程符合 RFC 8628 标准)相关阅读:Proofpoint 原文:Microsoft 365 Device