Graph API 的代码示例,验证防御措施的可行性。...邀请可通过以下方式发起:手动邀请:管理员或具有“Guest Inviter”角色的用户通过 Azure 门户、Microsoft Graph API 或 PowerShell 发送邀请。...一旦获得权限,攻击者可通过 Microsoft Graph API 发送邀请。...Single User条件:同一用户在 1 小时内发送超过 5 次邀请响应:自动禁用该用户邀请权限并告警Graph API 查询示例:GET https://graph.microsoft.com/v1.0...结果:租户 A:攻击者成功发送 10 封含虚假电话的邀请邮件,全部通过 Defender for Office 365 检测;租户 B:攻击者尝试发送邀请时返回错误:“User is not allowed
其典型交互流程包含以下步骤:客户端(Client)向授权服务器(Authorization Server)发起设备授权请求;授权服务器返回设备代码(device_code)、用户代码(user_code...,服务器返回标准OAuth令牌,其中refresh_token可长期使用(默认90天,可配置延长),使攻击者获得持久访问能力。...)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...6 工程实践中的权衡与挑战全面禁用设备授权流程虽有效,但在DevOps、远程办公等场景中可能造成业务中断。
使用该 OAuth Token 就可以向 Microsoft Graph API 请求(https://graph.microsoft.com/v1.0/me/drive/root:/Documents...还需要包含两个信息:要上传的本地文件路径、攻击者自定义的远程文件名。请求结构为:https://graph.microsoft.com/v1.0/me/drive/root:/Uploaded/???...通过 OneDrive 下载文件,请求结构为https://graph.microsoft.com/v1.0/me/drive/root:/Downloaded/???:/content。...Execute 未响应任何指令时,将进入该分支。响应中可以包含要执行的命令数组或先前下载文件的文件路径。攻击者也可以使用单命令与文件路径的组合。...程序如何使用窃取的凭证进行身份验证并连接到 C&C 服务器。
然而,这一结论主要基于传统凭证钓鱼或暴力破解场景,未充分考虑身份授权机制本身的结构性风险。...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...管理员需手动启用“用户无法注册应用”或“仅限批准应用”策略,但多数企业未配置。4.2 权限审查机制缺失用户授权后,无自动通知或定期审查机制。许多员工甚至不知自己授权过哪些应用。...5.2 检测与响应层5.2.1 PowerShell审计脚本以下脚本可导出所有用户授权的第三方应用,并标记高权限项:Connect-MgGraph -Scopes "AuditLog.Read.All"
邮件内容通常包含两类诱导:紧急事务提示:“检测到你的账户有未授权订阅,月费$299”;社交工程指令:“如非本人操作,请立即拨打以下号码取消”。关键在于,整个过程无需用户点击任何链接。...以下是一段简化版的PowerShell命令,用于从伪装站点下载并静默执行远程工具:# 伪装为“微软安全更新”$uri = "https://update-microsoft-support[.]xyz/...邮件层:增强Teams通知监控限制Teams外部邀请:在Microsoft 365管理中心配置策略,禁止非组织成员创建团队或邀请用户;监控异常团队命名:通过Microsoft Graph API定期扫描团队名称...,识别含“PayPal”“Billing”“Urgent”等关键词的可疑实体;# 示例:通过Graph API列出所有团队GET https://graph.microsoft.com/v1.0/groups...:监控非常规时间启动的远程会话、异常进程树(如powershell → anydesk.exe)。
xxx.xxx.xxx.0/24 搜索favicon http.favicon.hash:-395680774 shodan命令行工具 pip install shodan shodan init 'API..." && body="默认密码" && country="CN" 其他用法 搜索 URL 参数中包含 id=,这是常见的 SQL 注入参数: title="id=" || body="id=" 搜索返回中包含...="ODBC" || body="ORA-" || body="SQL Server" 查找未授权访问漏洞: title="401 Unauthorized" || title="403 Forbidden...title="Apache Tomcat" || title="GlassFish Server" || title="nginx" || title="Oracle HTTP Server" 查找远程命令执行漏洞...本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。
;用户在授权服务器页面登录并同意权限请求;授权服务器生成授权码(Authorization Code),通过重定向返回至Client指定的redirect_uri;Client使用授权码、client_secret...向令牌端点换取访问令牌与刷新令牌;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...EvilProxy则更进一步,利用OAuth的prompt=none参数实现静默授权。该参数指示授权服务器在用户已登录且先前已授予权限的情况下,不显示任何UI直接返回令牌。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers...可使用Microsoft Graph PowerShell批量设置:# 禁止用户同意应用Set-MgPolicyAuthorizationPolicy -PermissionGrantPolicyId
: application/x-www-form-urlencodedclient_id=YOUR_APP_ID&scope=https://graph.microsoft.com/.default服务器返回...Graph API 窃取数据breakelif token_resp.json().get("error") == "authorization_pending":time.sleep(5)else:...print("❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API 执行任意操作:# 示例:读取受害者最近...而企业若未启用 条件访问(Conditional Access) 策略,这类低权限授权几乎不会被审计系统标记。...必须教育员工:任何要求你访问 aka.ms/devicelogin 的请求都需先联系 IT 确认;授权前务必点击“查看此应用将访问哪些数据”;若未主动发起设备登录,绝不要输入任何代码。
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...官方图标;重定向URI:指向攻击者控制的服务器(用于接收授权码);API权限:请求高危权限组合,例如:["Mail.Read","MailboxSettings.ReadWrite","User.ReadWrite.All...可通过Microsoft Graph API动态评估权限风险:HIGH_RISK_SCOPES = {'Mail.ReadWrite', 'MailboxSettings.ReadWrite','User.ReadWrite.All...: Bearer 返回结果包含每个授权的clientId、scope、consentType。
其典型交互流程包含以下步骤:客户端(Client)向授权服务器(Authorization Server)发起设备授权请求;授权服务器返回设备代码(device_code)、用户代码(user_code...,服务器返回标准OAuth令牌:{"token_type": "Bearer","scope": "https://graph.microsoft.com/.default","access_token...假设攻击者已注册一个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...5 工程实践中的挑战与权衡全面禁用设备授权流程虽有效,但在混合办公环境下可能影响开发人员使用Azure CLI、DevOps工具链或远程调试场景。
默认情况下,服务器将试图加载用户配置文件。如果远程用户不是目标系统上的本地管理员,则需要使用该选项 (默认设置将导致错误)。...是一个Visual Basic脚本,允许管理员“配置WinRM并获取数据或管理资源” 是基于WinRM脚本API,而这个api使我们使能够从远程计算机执行WS-Management协议操作和获得数据。...利用后,模块将尝试修改PowerShell执行策略以允许执行未签名的脚本。然后,将PowerShell脚本写入磁盘并自动执行以返回Meterpreter会话。...但是,未成功的错误记录了WMI资源的名称。 考虑将可信主机列入白名单,以仅允许某些计算机连接到WinRM服务器。可以在此Red Canary博客文章中找到更多信息。...管理员不是唯一可以利用WinRM进行远程管理的用户。该成员远程管理用户本地/域组可以在WinRM的连接到WMI资源。确保仅允许授权人员使用组成员身份。
二、解决思路 为有效解决Ollama未授权访问问题,确保其远程调用的安全性,本文利用Nginx反向代理并结合认证头信息进行验证。...通过验证请求头中的认证信息(如Authorization: Bearer YOUR_SECRET_TOKEN),若认证失败,返回401状态码;若认证成功,则将请求正常转发给目标服务。..."'; # 提示客户端需要认证 return 401; # 如果认证失败,返回 401 Unauthorized } # 处理 OPTIONS 请求...验证认证效果未添加请求头访问:在未添加请求头的情况下直接访问Ollama服务,将会出现401错误页,表明认证失败。添加认证请求头访问:添加正确的认证请求头后,则可以正常调用Ollama服务。4....本文以认证头为例,给出了解决Ollama未授权访问问题的思路以及详细的实际配置文件。通过Nginx反向代理为Ollama WEB API服务设置认证头信息,能够有效防止未授权访问。
攻击者不再依赖伪造发件人地址或拼写错误的域名,而是将矛头直指 微软官方基础设施本身——具体而言,是 Microsoft Entra ID(原 Azure Active Directory)中的 B2B...邮件认证链完整invites@microsoft.com 是微软官方服务地址,其 SPF 记录明确授权 Microsoft 服务器发送邮件,DKIM 密钥由微软私有保管,DMARC 策略通常设为 p=reject...企业可通过 Microsoft Graph API 监控可疑邀请行为。...以下是一个基于 PowerShell 的监控脚本雏形:# 获取最近24小时内所有外部邀请$invites = Invoke-MgGraphRequest -Uri "https://graph.microsoft.com...一旦电话接通,攻击者便进入“高转化率”阶段:利用专业话术制造紧迫感(“24小时内不处理将自动扣款”);引导用户访问“安全验证页面”(实为钓鱼站);要求“临时授权”远程桌面以“协助排查问题”;甚至直接诱导转账至
几分钟后,系统提示“授权成功”,文档顺利打开。一切看起来再正常不过。然而,就在那一刻,她的Microsoft 365账户已被悄然接管。攻击者并未窃取她的密码,也未触发任何多因素认证(MFA)警报。...https://microsoft.com/devicelogin,手动输入验证码;同时,设备后台持续轮询服务器,等待用户完成授权;用户在网页端登录并同意授权后,服务器向设备返回Access Token...# 攻击者侧:使用Microsoft Graph API发起设备代码请求(简化示例)import requestsclient_id = "attacker-controlled-app-id" # 攻击者注册的恶意应用...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...(2)审计第三方应用授权所有用户都应定期检查其Microsoft 365账户的“隐私仪表板”中的应用权限:https://account.microsoft.com/privacy/管理员则可通过PowerShell
-服务器 BS:浏览器-服务器 2.1.1 http协议 请求过程 消息结构 请求方法 状态码 header 请求过程 1.URL解析 2.DNS查询 3.TCP连接 4.处理请求 5.接受响应 6.渲染页面...POST 创建 PUT 替换(资源整体替换) PATCH 修改(资源段落性修改) DELETE 删除 OPTIONS 状态码 200 300 已转移地址/永久移动(response redirect) 401...未认证 403 未授权 404 未找到文件 500 内部服务错误,服务器不知道如何处理的错误 HTTP协议详解: https://www.cnblogs.com/tankxiao/archive/2012...Apache webapplication framework asp .net asp .net core springboot express [001.jpg] 基本功能 url映射 安全性(认证、授权等...示例 安装 SDK https://dotnet.microsoft.com/download/dotnet-core/3.1 新建 web api 示例 dotnet new webapi -n HelloApi
-服务器 BS:浏览器-服务器 2.1.1 http协议 请求过程 消息结构 请求方法 状态码 header 请求过程 1.URL解析 2.DNS查询 3.TCP连接 4.处理请求 5.接受响应 6.渲染页面...POST 创建 PUT 替换(资源整体替换) PATCH 修改(资源段落性修改) DELETE 删除 OPTIONS 状态码 200 300 已转移地址/永久移动(response redirect) 401...未认证 403 未授权 404 未找到文件 500 内部服务错误,服务器不知道如何处理的错误 HTTP协议详解: https://www.cnblogs.com/tankxiao/archive/2012...基本功能 url映射 安全性(认证、授权等) 网页模板系统 razer pages 数据库关系与映射(ORM) 扩展功能 依赖注入 配置 日志 2.1.3 .net 与 .net core asp .net...示例 安装 SDK https://dotnet.microsoft.com/download/dotnet-core/3.1 新建 web api 示例 dotnet new webapi -n HelloApi
授权完成后,微软将授权码(authorization code)重定向至redirect_uri(即攻击者服务器)。...Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...许多遗留OAuth应用仍使用宽泛的权限范围(如Mail.ReadWrite而非Mail.ReadBasic),且未启用增量授权(incremental consent)。...(二)策略管理层:建立授权生命周期管理定期授权审计:每季度导出全组织应用授权清单,清理未使用或来源不明的应用;实施最小权限原则:推动业务部门使用权限更细的现代API(如Microsoft Graph的delegated...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权
context.Request.Headers.GetCookies().Clear(); context.ErrorResult = new AuthenticationFailureResult("未授权请求...实际实践中,我发现,采用注释中的做法,无论如何,调用总是返回401,迫不得已,download认证及授权源码,发现该处逻辑是这样的: var user = context.User;...,所以某一种认证失败就直接返回401或403是错误的。...Challenge,Challenge返回相应验证结果到API调用方。...当未调用登录API,直接请求api/Account/serverresponse时,如下: ?
-force 2>&1> $null;netstat -ano|findstr :5985; 然后再配置远程桌面服务(多用户多会话) 目录 一、安装远程桌面服务 二、激活授权服务器 三、配置授权 四、...会话主机、远程桌面授权、远程桌面服务工具(授权工具、许可诊断工具) 如果是点鼠标的操作的话,你会看到这些 image.png 这里我们用powershell安装,命令如下: Get-WindowsFeature...打开远程桌面授权诊断工具: 运行lsdiag.msc打开“RD授权诊断程序”,查看当前服务器为没有授权(是❌,不是✅),于是按如下步骤设置授权。...1、运行gpedit.msc → 计算机配置—管理模板—windows组件—远程桌面服务—远程桌面会话主机—授权, 找到 “使用指定的远程桌面许可服务器”,设置为启用,并在“要使用的许可证服务器”中,设置当前服务器的主机名...image.png 2.运行gpedit.msc → 计算机配置—管理模板—windows组件—远程桌面服务—远程桌面会话主机—授权, 找到 “设置远程桌面授权模式”,设置为启用,并在“指定RD 会话主机服务器授权模式
很多时候我们一个接口写好了,单元测试什么的也都ok了,需要完整调试一下,检查下单元测试未覆盖到的代码是否有bug。...会得到未授权的返回结果 1.内容目录 我们可以在Controller的Get方法输出当前的内容目录 ? ...401状态码。 ...在valuesController新增登录的Action并配置Get的Action需要授权访问 using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies...如我们预期,返回了401,说明未授权。