Exchange Online 环境提出 Exchange 网络服务(EWS)API 请求。...在一些攻击中,UNC3524 也会在 DMZ 网络服务器上部署 reGeorg 网络外壳(注:该版本与俄罗斯赞助的 APT28/Fancy Bear 组织有关联),以创建一个SOCKS 隧道作为进入受害者网络的替代接入点...△UNC3524 隧道 UNC3524 通过这些设备(如无线接入点控制器、SAN 阵列和负载平衡器)上部署的恶意软件,大大延长了初始访问与受害者检测到其恶意活动,并切断访问之间的时间间隔。...在获得访问权并部署其后门后,UNC3524 获得了受害者邮件环境的特权凭证,并开始通过 Exchange 网络服务(EWS)API请求,瞄准企业内部的Microsoft Exchange或Microsoft...365 Exchange Online邮箱。
以下文章来源于雷石安全实验室 ,作者雷石安全实验室 一、发现 Exchange 在渗透测试中,当进行信息收集与环境侦察时,发现与识别 Exchange 及其相关服务,可以有多种方法与途径。.../Exchange.asmx /EWS/Services.wsdl /EWS/ /OAB/ /Mapi API接口 说明 /autodiscover 自 Exchange Server 2007 开始推出的一项自动服务...2、通过 Exchange Web Service(EWS) 通过EWS接口,可以实现客户端与服务端之间基于HTTP的SOAP交互。很多针对 Exchange 的二次开发,都是基于该端口进行开发。...因此,当 ecp 可登录且拥有管理员权限时,就可以通过添加邮箱委托的方式,实现邮箱控制。在默认情况下,某些管理员在配置时,组用户会默认拥有对组内用户的委托管理权限。...当用户使用 Outlook 并从 Exchange 服务端同步该设置时,其随后对收件箱的刷新浏览将触发加载恶意网页,并执行恶意代码。
Exchange Web Service(EWS,SOAP-over-HTTP) Exchange提供了一套API编程接口可供开发者调用,用于访问Exchange服务器,与邮件、联系人、日历等功能进行交互和管理操作...微软基于标准的Web Service开发EWS,EWS实现的客户端与服务端之间通过基于HTTP的SOAP交互。...二、发现Exchange 在渗透测试中,当进行信息收集与环境侦察时,发现与识别Exchange及其相关服务,可以有多种方法与途径,或者说,当你在执行一些端口扫描、名称查询等过程时,当发现如下举例的一些迹象和扫描结果时...并从Exchange服务端同步该设置时,其随后对收件箱的刷新浏览将触发加载恶意网页,并执行恶意代码。...,攻击服务器取得该Net-NTLM哈希时,将其重放到真实Exchange服务器以访问EWS接口,重放认证通过,管理后台可看到Exchange会话已经上线。
exchange 2010 邮箱服务器 mailbox server,提供托管邮箱,公共文件夹等服务,是必选的服务器角色 客户端访问服务器 client access server,用来接收并处理不同客户端的请求...其接受来自内部组织的邮件和来自外部可信服务器的邮件,然后应用特定的反垃圾邮件、反病毒策略,最后将通过策略筛选的邮件路由到内部的集线传输服务器,可选角色 exchange 2013 邮箱服务器 托管邮箱、...EWS Exchange Web Service,是exchange提供的一套API编程接口,用于操作exchange相关功能,于exchange server 2007被提出。...若我们获得某用户的凭证,可以通过此功能设置“用户收到含指定字符的邮件时 执行指定的指令比如clac.exe”,当用户登录outlook客户端并访问到此邮件时,它的电脑便会执行calc.exe。...具体步骤为打开规则与通知功能,然后新建功能,在接收到某条件邮件时启动指定应用程序 收到含abc内容的邮件后,成功弹计算器
(四)持久化与横向移动一旦获得高管账户访问权限,攻击者立即执行以下操作:创建恶意OAuth应用:通过Azure AD注册一个名为“HR Document Sync”或“Compensation Review...设置邮件转发规则:通过Exchange Web Services (EWS) API创建隐藏的邮件转发规则,将含“Board Meeting”、“M&A”、“Q4 Forecast”等关键词的邮件自动转发至外部邮箱...此后,即使原始凭证被重置,攻击者仍可通过OAuth令牌维持API级访问,实现长期潜伏。...三、现有防御体系的局限性尽管多数企业已部署高级邮件安全网关(如Mimecast、Proofpoint)、端点检测与响应(EDR)系统及多因素认证,但在应对上述攻击时仍存在明显短板。...Exchange Online PowerShell检查隐藏转发规则:Get-InboxRule -Mailbox "ceo@company.com" |Where-Object { $_.ForwardTo
下图演示了威胁参与者实施的真实世界攻击,目的是通过滥用 Exchange 服务、Exchange API 和标准 Outlook 功能来实现完全的域入侵。...: Outlook Web 访问 (OWA) 交换网络服务 (EWS) Exchange ActiveSync (EAS) 所有这些服务都创建了一个攻击面,威胁参与者可以通过进行可能导致发现合法凭据、访问用户邮箱和执行域升级的攻击而受益...Exchange Web 服务允许客户端应用程序与 Exchange 服务器进行通信。如果 EWS 不能满足特定的业务需求,则应禁用访问。...禁用 Exchange Web 服务 (EWS) 的身份验证将阻止攻击。 同样,禁用跨组织的 Exchange Web 服务邮箱访问将产生相同的结果。...强制执行 LDAP 签名和 LDAP 通道绑定 与 Microsoft Exchange 相关的各种攻击滥用与 Active Directory 存在的信任关系,以修改权限并获得提升的访问权限。
在此基础上,提出涵盖身份策略强化、条件访问控制、终端行为监控与安全运营中心(SOC)检测规则的多层次防御体系。通过构建可部署的重定向链解析原型与异常登录检测逻辑,验证技术对策的有效性。...例如,攻击者可利用被盗邮箱发起线程劫持(Thread Hijacking),插入伪造发票诱导财务付款;或通过Exchange Web Services(EWS)导出敏感邮件与联系人数据。...凭证与会话捕获:钓鱼页面提交表单后,数据通过POST发送至攻击者API。...3 攻击影响与横向移动路径一旦成功窃取凭证或会话,攻击者可迅速展开后续行动:邮箱接管与线程劫持:通过Outlook Web Access(OWA)或EWS API监控收件箱,识别正在进行的商务沟通(如合同...通过强制无密码认证、细化条件访问规则、部署点击时分析与构建基于行为的SOC检测能力,企业可显著提升对高级钓鱼攻击的韧性。
场景1:线程劫持——伪装成对话延续攻击者首先通过信息泄露或撞库获取某员工的邮箱凭证,登录后找到一封真实的内部邮件(如“Q4销售预测讨论”),然后以该员工身份回复:“附件是更新版,请查收。”...用户点击后,页面通过JavaScript或HTTP 302跳转至最终钓鱼站点。托管于 GitHub Pages 的中间页 -->访问用户邮箱、日历、联系人的API权限,且该令牌长期有效,难以察觉。...企业应在Exchange Online或Google Admin Console中全局禁用。4....PowerShell 示例:吊销用户所有刷新令牌Revoke-AzureADUserAllRefreshToken -ObjectId "user@company.com"6.
这些参数将用于在与OAuth2服务进行交互时进行身份验证。...在CallBack函数中,我们首先校验传递的授权码是否与之前生成的state匹配,以确保安全性。然后,使用OAuth2的conf.Exchange方法来交换授权码以获取访问令牌。 4....获取和处理用户权限信息 一旦我们获得了访问令牌,我们可以使用它来进行API请求,访问受保护的资源(比如获取用户的权限信息)。...在代码中,我们可以看到构建HTTP请求并在请求头中添加访问令牌,然后发送请求以获取用户的权限信息。 通过解析返回的权限信息,我们可以获取用户的权限列表,并进行一些操作。...认证与客户端授权码模式详解-腾讯云开发者社区 如何验证和刷新 OAuth2 Token - 知乎 OAuth2.0用refresh_token更新access_token令牌_reuserefreshtokens_CSDN
然而,后台实则由攻击者控制的反向代理实时转发请求至真实login.microsoftonline.com,完成认证后截获会话Cookie与刷新令牌。此类攻击的成功率远高于传统钓鱼。...2.2 登录门户伪装与反向代理恶意登录页通常托管于两类位置:被攻陷的合法域名:如某合作方网站遭入侵,子域office....3 现有防护机制的局限性当前企业普遍采用以下措施,但在面对上述攻击时存在明显短板:邮件网关过滤:难以识别托管于合法云服务的钓鱼页;用户安全意识培训:无法克服“生产力惯性”下的自动化响应;基础MFA启用:...4.2 阻断遗留协议通过Exchange Online PowerShell禁用不安全协议:Set-CASMailbox -Identity user@company.com -ImapEnabled...有效的应对必须从架构层面重构:通过条件访问限制风险上下文,通过阻断遗留协议消除弱认证入口,通过OAuth审批控制第三方应用权限,并通过统一日志实现行为闭环监控。
建议根据业务场景设置合理的过期时间: 访问令牌(Access Token):15分钟到2小时 刷新令牌(Refresh Token):7天到30天 使用刷新令牌机制可以平衡安全性和用户体验: public...服务间调用: 订单服务需调用支付服务时,将原请求中的用户头信息直接传递,确保链式认证一致性。 异常处理与安全增强 令牌过期:客户端需通过刷新令牌机制获取新JWT,避免频繁登录。...刷新令牌是长期有效的凭证,用于在访问令牌过期后获取新的访问令牌,有效平衡安全性与用户体验。...刷新令牌最佳实践: 独立存储:刷新令牌应单独存储,与访问令牌分离 可撤销机制:提供管理员主动撤销刷新令牌的能力 使用次数监控:异常频繁刷新应触发安全警报 @Service public class TokenRefreshService...开发者可通过结合API网关(如Spring Cloud Gateway)与JWT,实现请求的实时验证与路由,有效防御令牌泄露或重放攻击。
值得注意的是,攻击者并非仅获取静态密码,而是通过代理中继完成MFA挑战,最终获得有效的OAuth 2.0访问令牌或会话Cookie,实现对邮箱、OneDrive乃至Azure资源的完全控制。...3 现有防御机制的失效原因3.1 URL与证书信誉失效由于钓鱼页面常托管于新注册但合法的域名(如secure-microsoft-login[.]us),且使用Let’s Encrypt证书,传统浏览器安全浏览...更危险的是,若攻击者已窃取Refresh Token,可长期静默访问API资源,而无需再次交互。...(Token Binding):将访问令牌与客户端TLS证书绑定,防止令牌被盗后在其他设备使用。...内部资源Private Link:将关键服务(如Azure DevOps、Exchange Online)配置为仅可通过Azure Private Endpoint访问,公网无法直连,从根本上阻断钓鱼代理的中继可能
当用户访问受限资源时,服务器会返回401状态码要求进行身份认证,身份认证成功之后会进行6个请求,首先请求了 autodiscover/autodiscover.xml 页面,接着在获取了对应邮箱的 MailboxId...通过向SOAP请求向Exchange服务器发送请求能让Exchange服务器向制定的IP地址发送NTLM hash,该hash值可以被我们用来重新与Exchange服务器进行交互,并且该hash值是在...读取邮件的代码需要用 C# 进行编写,使用 EWS Managed API 开发 https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services.../get-started-with-ews-client-applications#create-your-first-ews-application 给其他用户添加Rule规则 通过之前的抓包我们发现...ruler与exchange进行交互的方式仍然是HTTP Basic Auth的方法。
攻击者通过截获的令牌,在过期前持续访问用户数据。...攻击者利用弱密钥成功伪造管理员令牌,访问核心业务系统。 解决方案包括引入短期访问令牌(15分钟)+长期刷新令牌组合,并集成实时令牌状态检查,对敏感操作要求二次认证。...高级优化:令牌刷新、黑名单与性能调优 令牌刷新机制:告别频繁登录的烦恼 在实际生产环境中,JWT令牌的过期时间设置是个需要权衡的问题。过短的过期时间会影响用户体验,而过长的过期时间又会带来安全风险。...2025年的最佳实践是采用双令牌机制:访问令牌(Access Token)和刷新令牌(Refresh Token)。...根据OAuth 2.1标准,访问令牌通常设置15-30分钟的过期时间,刷新令牌则为7-30天。当访问令牌过期时,客户端可以使用刷新令牌获取新的访问令牌,无需用户重新登录。
获取访问令牌并调用API要获取访问令牌并调用API,您可以使用OAuth2客户端库中的Exchange方法交换授权码,然后使用返回的访问令牌进行API调用。...处理过期令牌OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。...实时刷新:在发现访问令牌过期时立即刷新令牌,以确保无缝的用户体验和持续的访问权限。后台任务:定期检查访问令牌的有效期,并在过期前一段时间进行刷新,以避免在用户操作时出现令牌过期的情况。...以下是一些常见问题的解答:如何处理令牌过期? 当访问令牌过期时,您可以使用刷新令牌获取新的访问令牌,而无需用户重新登录。...通过定期检查访问令牌的有效期,并在过期前一段时间使用刷新令牌,可以避免令牌过期导致的访问中断。
基本知识点 与NLTM认证相关的安全问题主要有Pass The Hash、利用NTLM进行信息收集、Net-NTLM Hash破解、NTLM Relay几种。...NTLM认证过程 当客户端需要访问服务器时,客户端需要输入服务器的用户名和密码进行验证,并且客户端会将服务器的NTLM-Hash值缓存。...@#45 那么可以通过 dir \192.168.3.32\c$访问到sqlserver下C盘文件,因为访问时默认会使用当前用户密码进行验证对方电脑账号密码 当访问DC(administrator...administrator权限 msf下窃取令牌 很遗憾没有复现成功(生成新的对话) 在公网vps上测试: 一开始以为是网络问题,切换至本地kali上同样也是只返回一段hash...值,并没有生成新的对话 Impacket中的smbrelayx.py 攻击者伪造一个恶意的SMB服务器,当内网中有机器Client1(webserver)访问这个攻击者精心构造好的SMB服务器时,
获取访问令牌并调用API 要获取访问令牌并调用API,您可以使用OAuth2客户端库中的Exchange方法交换授权码,然后使用返回的访问令牌进行API调用。...为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。 实时刷新:在发现访问令牌过期时立即刷新令牌,以确保无缝的用户体验和持续的访问权限。...后台任务:定期检查访问令牌的有效期,并在过期前一段时间进行刷新,以避免在用户操作时出现令牌过期的情况。...以下是一些常见问题的解答: 如何处理令牌过期? 当访问令牌过期时,您可以使用刷新令牌获取新的访问令牌,而无需用户重新登录。...通过定期检查访问令牌的有效期,并在过期前一段时间使用刷新令牌,可以避免令牌过期导致的访问中断。
通过C#中丰富的API和工具,开发人员可以轻松地集成邮件功能到他们的应用程序中,实现高效的邮件通信。...在C#中,使用Exchange服务可以通过EWS(Exchange Web Services)或其他API发送邮件。...服务器提供了丰富的API来访问和管理邮箱数据,包括读取收件箱中的邮件。...通过EWS或其他API,可以检索收件箱中的邮件,并对其进行操作,如查看、删除等。...之外,还有其他一些方式可以发送邮件,比如使用第三方邮件服务提供商的API、使用Socket编程直接与邮件服务器通信等。
基于登录的客户端 Login-based Client ,用户访问服务提供者的应用程序的功能时,需要通过一个客户端交互界面来与服务提供者交互,用户需要先登录,然后由客户端代表用户身份去访问服务提供者应用程序...基于用户登录的客户端(Login-based Client):用户访问服务提供者的应用程序的功能时,需要通过一个客户端交互界面来与服务提供者交互,用户需要先登录,然后由客户端代表用户身份去访问服务提供者应用程序...对访问令牌时间较短如2分钟,刷新令牌为一次性令牌有效期略长如30分,如果存在已作废的刷新令牌换取访问令牌的请求,授权端点也能够及时发现做出相应入侵处理,如注销该用户的所有刷新令牌。...(E)授权服务器IAM对网关进行身份验证,验证授权代码,并确保接收的重定向URI与网关注册时的URI相匹配。匹配成功后,授权服务器IAM响应返回访问令牌与可选的刷新令牌给网关。...访问令牌失效后,网关根据自己的客户端凭证+刷新令牌一起发送授权服务器,获取新的访问令牌和刷新令牌,并再返回响应中将访问令牌写入到用户浏览器的存储中。
从安全角度来看,IndexedDB与本地存储相当: 令牌可能会通过文件系统泄露。 令牌可能会通过XSS攻击泄露。 因此,不要在IndexedDB中存储访问令牌或其他敏感数据。...如果攻击者设法窃取刷新令牌,他们可以显着延长攻击时间并增加损害,因为他们可以续新访问令牌。黑客甚至可以将攻击扩展到除JavaScript应用程序使用的API之外的其他API。...相反,将访问令牌存储在cookie中。当使用适当的属性配置cookie时,浏览器泄露访问令牌的风险为零。然后,XSS攻击与在同一站点上的会话劫持攻击相当。...为此,cookie需要有适当的设置,比如SameSite=Strict、指向API端点域的域属性和路径。 最后,在使用刷新令牌时,请确保将它们存储在自己的cookie中。...没有必要在每个API请求中都发送它们,所以请确保不是这种情况。刷新令牌必须只在刷新过期的访问令牌时添加。这意味着包含刷新令牌的cookie与包含访问令牌的cookie有稍微不同的设置。