对于选择Azure平台的用户来说,会面临选择国内还是国际版的问题。由于一些原因,由世纪互联运营的中国大陆版Azure无法落地所有的国际版服务。相比几年前,情况已经有了一定的改善。...Virtual networks Virtual networks (classic) Virtual WANs VM images (classic) Azure 中国缺少的服务...Azure AD Risk detections Azure AD Risky sign-ins Azure AD Risky users Azure AD Security Azure API for...程序员千万要注意遵纪守法,不要以为 GitHub 上某些东西所谓防识别的就真的不能识别了,时刻记住,国内版的服务不是微软运维的,法律法规不一样,别Azure从入门到入狱。 ?...某些行业符合敏感数据不出境的规定 国内Azure价格计算器: https://www.azure.cn/zh-cn/pricing/ 国际版Azure价格计算器: https://azure.microsoft.com
摘要近年来,攻击者利用Microsoft Entra ID(原Azure AD)的多租户应用注册机制,创建高度仿真的假冒OAuth应用,诱导用户在合法微软授权页面授予高权限(如Mail.Read、User.ReadWrite.All...此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...2.2 假冒应用构造与分发攻击者首先在自身Azure AD租户中注册一个多租户应用,设置以下属性:显示名称:如“Adobe Document Cloud - Verified”;Logo:盗用Adobe...用户难以判断风险。3.3 缺乏应用行为基线监控SIEM系统通常未将“新应用首次访问Graph API”与“大量邮件读取”关联分析。即使启用日志,也因数据量庞大而忽略异常。
一旦授权完成,攻击者即可通过device_code兑换令牌,获得与用户同等的API访问权限。...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...同时,微软已在设备登录页面增加风险提示(如“您是否认识此应用?”),但效果有限,需结合内部安全通告强化认知。
问题在于:步骤4中的授权页面由微软官方提供,用户无法分辨背后的应用是否可信。“普通用户看到的是微软的 UI,但授权的对象却是攻击者注册的 OAuth 应用。”...向 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 中,默认所有租户都启用了设备代码流。管理员应评估是否真的需要此功能(如无 IoT 设备集成需求),若否,则全局禁用。
然而,这种高度信任的平台属性正被高级持续性威胁(APT)及网络犯罪团伙所利用,催生出一类新型钓鱼攻击范式——即“信任滥用型钓鱼”(Trust-Abuse Phishing)。...更关键的是,SharePoint支持动态生成临时共享链接,且可通过Microsoft Graph API进行程序化管理。...(如普通员工创建大量登录页面)以下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...例如:用户A收到含SharePoint链接的邮件(来源:外部发件人)5分钟后访问该链接(SharePoint日志)随后尝试登录Microsoft账户(Azure AD日志),但IP地址与SharePoint
提供新的包用来写 runtime API 的检查 提供 Microsoft Graph 控件 现有的大量控件 对所有控件支持亮主题和暗主题 性能提升和修改bug 新的支持...因为 UWP 开发需要指定最低平台,而且对不同的平台可以不同的 API ,以前只能通过看文档才知道现在有哪些API是可以使用的,现在可以安装Microsoft.Toolkit.Uwp.PlatformSpecificAnalyzer...Microsoft Graph 控件 支持 Microsoft Graph 控件,可以快速在 Xaml 使用 Microsoft Graph 控件。...同时 AadLogin 支持通过 Microsoft Graph 服务器使用Azure Active Directory (AAD) 登陆。 ?...PeoplePicker 从 一个组织的 AD 里面选择一个或多个用户的控件 ? SharePointFileList 让用户可以在点击文件夹或文件时快速预览 SharePoint 文件 ?
典型路径如下:钓鱼获取员工凭证(含MFA绕过,如MFA疲劳攻击);登录云控制台(如Azure AD、AWS IAM);枚举高权限账户或服务主体;申请或窃取OAuth令牌/会话Cookie;通过Graph...伪品牌验证流程嵌套:伪造Microsoft登录页后,跳转至“安全验证”页面,要求用户输入短信验证码,实则完成MFA劫持。此类攻击利用用户对协作工具的信任及多任务处理时的认知负荷,显著提升欺骗成功率。...Graph PowerShell)枚举用户;利用New-MailboxExportRequest导出高管邮箱;部署Cobalt Strike Beacon并通过合法CDN分发勒索载荷。...4.2 检测层:行为异常识别用户行为分析(UBA):建立基线模型,监控登录时间、地理位置、设备指纹、API调用频率等维度。...Graph API /users/{id}/revokeSignInSessions;发送Teams通知至用户及IT支持;创建Jira工单要求用户完成安全培训;更新IAM策略,强制启用FIDO2。
其标准流程如下:用户在受限设备上请求访问资源(如OneDrive);设备向授权服务器(如Azure AD)发起请求,获取一个设备代码(device_code)和用户验证码(user_code);用户被引导至...# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...同时,开启风险用户检测(Identity Protection)和异常登录活动告警。例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。...培训应聚焦:任何要求“输入代码到微软登录页”的请求都需高度警惕;即使链接是 microsoft.com,也可能被用于授权恶意应用;授权前务必确认应用名称是否可信(如“Microsoft Teams” vs
Entra ID(原Azure AD)用户实施精准攻击。...,即使用户登出仍有效;Access Token:短期有效(通常1小时),但可用于调用Microsoft Graph API。...Microsoft Entra ID已支持此功能,可通过条件访问策略强制:# Azure AD PowerShell: 要求FIDO2且禁止非托管设备New-AzureADMSConditionalAccessPolicy...Microsoft Graph提供/revokeSignInSessions API,可编程终止可疑会话:import requestsdef revoke_suspicious_sessions(user_id...指标包括:登录IP是否在历史地理围栏外;User-Agent是否与设备注册信息一致;是否在短时间内访问大量敏感资源(如/me/drive/root:/Board/)。
访客默认操作:将访客用户访问限制从"访客用户具有与成员相同的访问权限(最包容)"更改为"访客用户访问仅限于其自身目录对象的属性和成员资格(最严格)"用户应用程序同意和权限默认值最初在Azure AD/Entra...还有一个应用程序权限(Graph:RoleManagement.ReadWrite.Directory)也提供管理权限。Entra ID租户中最多有500个角色可分配组(创建最大值)。...AppRoleAssignment.ReadWrite.All允许应用程序代表登录用户管理对任何API的应用程序权限授予和任何应用程序的应用程序分配。...MFAMFA是某些用户访问特定应用程序所必需的但是,没有CAP要求管理员使用MFA或者……CAP只要求少数角色的成员使用MFA攻击者可以使用用户名/密码而无需MFACA策略差距#3:排除项CAP包括几个安全控制需要..."设置为"是"将"用户可以创建安全组"设置为"否"将访客用户访问限制设置为"访客用户访问仅限于其自身目录对象的属性和成员资格(最严格)"限制谁可以将设备加入Microsoft Entra并要求MFA将访客邀请设置设置为
一旦得手,攻击者可立即利用Graph API遍历收件箱,提取包含财务、合同、人事等关键词的邮件线程,自动生成极具欺骗性的横向钓鱼内容,形成指数级扩散。面对此类攻击,仅依赖邮件层防护已显不足。...Graph API遍历收件箱:import requestsACCESS_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs..." # 从AiTM获取headers...以下为通过Microsoft Graph API创建条件访问策略的示例:policy = {"displayName": "Block risky logins to SharePoint","state...因此,检测重心必须前移至“会话建立后的连续性”:用户从OneDrive共享页面跳转至登录页的行为是否符合常规路径?登录后首次访问的应用是否为Outlook而非原共享文档?...会话的User-Agent、IP、地理位置是否与共享创建者一致?通过构建会话图谱(Session Graph),将文件访问、登录、API调用等事件关联,可有效识别异常跳转链。
对于新ad,使用属性特征和图学习生成一个合理的embedding。根据属性重合度构造新ad的相似邻居,并按照属性的重合度排序,得到最相似的几个ad。...这个过程相当于根据属性找到与新ad最相似的旧ad,用旧ad的信息丰富新ad的embedding。...2 使用图扩充用户行为 Graph Intention Network for Click-through Rate Prediction in Sponsored Search(SIGIR 2019)...针对冷启动用户历史行为稀疏的问题,提出使用商品图进行历史行为扩充,让冷启动用户也有丰富的历史行为数据,进而最大程度发挥历史行为序列建模的能力。...通过属性节点可以多跳建立实体之间更广阔的联系。对于冷启动缺少交互数据的user和item,也能通过属性节点与非冷启动的user或item建立联系。
当请求到达中枢服务器时,系统会检查以下特征:是否携带自动化工具标识(如webdriver、HeadlessChrome)User-Agent是否异常(如无图形界面的curl/wget)是否缺少常见浏览器...此外,攻击者还利用OAuth授权钓鱼(Consent Phishing)手段,诱导用户授予恶意应用“读取邮件”、“发送邮件”等权限。一旦同意,即使未泄露密码,攻击者也能通过合法API访问邮箱内容。...# 通过Microsoft Graph API批量检查用户MFA方法GET https://graph.microsoft.com/beta/users?...$select=id,displayName,authentication/methods同时,在Azure AD条件访问策略中,强制高权限账户仅允许使用FIDO2或Microsoft Authenticator...收紧外部共享与文档链接默认情况下,Microsoft 365允许用户生成“任何人可访问”的共享链接。攻击者常利用此功能上传恶意文档,诱导点击。
参数必传 username:用户的电子邮件地址 password:用户的密码 2)访问 api/order 砰,成功!...此处应该有掌声,成功的通过验证,并且获取到 api资源,但是这种模式是最不推荐的,因为client可能存了用户密码,此模式仅用于受信任的客户端。复制会发生密码泄露。所以不推荐使用。...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...到此 关于ASP.NET Core Web Api 集成 Azure AD 的授权认证暂时告一段落。
二,正文 1,服务主体对象 若要访问受 Azure AD 租户保护的资源,需要访问的实体必须由安全主体来表示。 这同时适用于用户(用户主体)和应用程序(服务主体)。...安全主体定义 Azure AD 租户中用户/应用程序的访问策略和权限。 这样便可实现核心功能,如在登录时对用户/应用程序进行身份验证,在访问资源时进行授权。...Microsoft Graph ServicePrincipal 实体定义服务主体对象属性的架构。...应用程序对象用作模板,常见属性和默认属性从其中派生,以便在创建相应服务主体对象时使用。 因此,应用程序对象与软件应用程序存在 1 对 1 关系,而与其对应的服务主体对象存在 1 对多关系。...多租户 Web 应用程序/API 还会在租户中的某个用户已同意使用它的每个租户中创建服务主体。
然而,近期多起安全事件表明,攻击者正通过滥用Microsoft Entra ID(原Azure AD)的OAuth 2.0授权框架,绕过MFA保护,直接获取对Microsoft 365账户的持久化访问权限...该机制极大提升了用户体验,但也引入了新的攻击面:若用户被诱导授权一个恶意应用,攻击者即可绕过所有基于密码和MFA的验证环节,直接通过合法API接口操作账户。...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...-4e53-9a4d-7a8e9b0c1d2e", "type": "Scope" } // User.ReadWrite.All]}]}上述权限足以读取全部邮件、上传/下载OneDrive文件、修改用户属性...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com
AD 将解释我们如何滥用 Microsoft Endpoint Manager 从 Azure 租户横向移动到本地 AD 域。...我们对“DeviceTrustType”属性特别感兴趣: image.png 当“DeviceTrustType”属性的属性为“ServerAd”时,此设备为“已加入混合 Azure AD”,这意味着它已加入本地...如果您将“分配给”下拉菜单保留为“选定组”的默认选择,您可以将脚本限定为仅在系统上执行或为属于某些安全组的用户执行。...您可以选择:在每个可能的系统上运行脚本,或者通过将脚本限定为现有安全组或将特定设备或用户添加到新安全组来将其限制为仅在某些系统上运行。...例如,要列出激活了“全局管理员”角色的主体: image.png 您是否信任所有这些用户/主体在您的混合连接、Endpoint Management 注册的系统上以 SYSTEM 身份执行代码?
这篇文章主要用于介绍如何使用 postman 来获得 Azure active directory 的用户访问 token,这个步骤是使用 Azure 对用户鉴权使用的第一步。...因为这个表示的是你 AD 的唯一标识,所以你需要记录下来。...) and personal Microsoft accounts (e.g....API 赋权 你需要确定 Microsoft Graph 有用户读取的权限。 如果没有这个权限的话,你需要单击上面的添加权限来将权限添加进来。...选择 Microsoft Graph 的选项,然后将用户的权限添加进来。 暴露 API 你需要将你的 API 进行暴露,允许进行访问。
留空(设备授权无需回调)API权限:勾选Microsoft Graph的Delegated权限,如:Mail.ReadWriteCalendars.ReadWriteUser.Read.AllFiles.ReadWrite.All4.2...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/v1.0/me/messages...5.4 监控与告警通过Microsoft 365 Defender或Azure AD Audit Logs监控以下事件:Sign-in log 中的“Device code authentication...有效的防御必须超越“是否启用MFA”的二元思维,转向以协议控制、最小授权与强认证为基础的纵深体系。
虽然 Azure 在某些方面利用 Azure Active Directory,但 Azure AD 角色通常不会直接影响 Azure(或 Azure RBAC)。...我还发现了一个似乎相关的 API,这意味着攻击者无需访问 Azure AD 门户即可执行此操作。...我能确定的唯一明确检测是通过监视 Azure RBAC 组“用户访问管理员”成员身份是否存在意外帐户。您必须运行 Azure CLI 命令来检查 Azure 中的角色组成员身份。...核心目录、目录管理“设置公司信息”日志显示租户名称和执行它的帐户是否成功。...但是,这仅表明与“公司信息”相关的某些更改 - 除了“设置公司信息”之外没有记录任何详细信息,并且如果“修改的属性”部分为空,则说明“没有修改的属性”。