攻击者越来越多地转向会话劫持来绕过广泛采用的 MFA。数据支持这一点,因为:
-
2023 年,微软检测到 147,000 次令牌重放攻击,同比增长 111%(微软)。
-
现在对会话 cookie 的攻击与基于密码的攻击(Google)的数量级相同。
但会话劫持并不是一项新技术——那么有什么变化呢?
会话劫持有了新面貌
当我们想到会话劫持的经典示例时,我们会想到老式的中间人 (MitM) 攻击,这种攻击涉及窥探不安全的本地网络流量以获取凭证或更常见的财务详细信息,例如信用卡数据。或者,通过进行客户端攻击来破坏网页,运行恶意 JavaScript 并使用跨站点脚本 (XSS) 窃取受害者的会话 ID。
如今,会话劫持看起来大不相同。现代会话劫持不再基于网络,而是基于身份的攻击,通过公共互联网针对基于云的应用程序和服务进行攻击。
虽然媒介不同,但目的大致相同:窃取有效的会话材料 - cookie、令牌、ID - 以便从攻击者的设备(不同的远程设备、浏览器和位置)恢复会话。
与传统会话劫持不同,现代会话劫持在绕过标准防御控制方面更加可靠,而传统会话劫持在面对加密流量、VPN 或 MFA 等基本控制时往往会失败。
还值得注意的是,这些攻击的背景已经发生了很大变化。以前,你可能试图窃取一组用于向内部 Active Directory 以及电子邮件和核心业务应用程序进行身份验证的域凭据,而现在,身份界面看起来非常不同——每个用户在一套庞大的云应用程序中有数十或数百个独立的帐户。
为什么攻击者想要窃取您的会话?
简而言之:窃取实时会话可让攻击者绕过 MFA 等身份验证控制。如果您可以劫持现有会话,则需要担心的步骤更少 - 无需费心将窃取的用户名和密码转换为经过身份验证的会话。
虽然理论上会话令牌的有效期有限,但实际上,只要活动持续,它们就可以保持更长的时间(通常约 30 天)甚至无限期地有效。
如上所述,攻击者可以通过窃取身份获得很多好处。如果它是一个 IdP 身份,例如 Okta 或 Entra 帐户,并且具有对下游应用程序的 SSO 访问权限,那就太好了!如果不是,那么也许它是一个有价值的应用程序(例如 Snowflake?),可以访问您的大部分客户数据。或者它可能是一个不那么吸引人的应用程序,但具有可以利用的有趣集成。
毫不奇怪,身份被视为新的安全边界,而基于身份的攻击继续成为头条新闻。
如果您想了解更多有关 SaaS 应用程序环境中身份攻击的状态,请查看回顾 2023/4 的报告。
然而,并非所有会话劫持方法都相同,这意味着它们对所遇到的控制做出不同的反应。根据攻击者选择的方法,这会造成不同的利弊。
比较会话劫持方法
要劫持会话,首先需要窃取与实时用户会话相关的会话 cookie。从现代意义上讲,有两种主要方法可以实现此目的:
-
使用现代网络钓鱼工具包,例如 AitM 和 BitM。
-
使用针对浏览器数据的工具(例如信息窃取程序)。
值得注意的是,这两种方法都针对典型的凭证材料(例如用户名和密码)以及会话 cookie。攻击者不一定会选择攻击会话 cookie 而不是密码——相反,他们使用的工具同时支持这两种方式,扩大了他们可用的手段。如果识别出没有 MFA 的账户(而且仍然有很多),那么密码就可以了。
现代网络钓鱼攻击:AitM 和 BitM
现代网络钓鱼工具包会让受害者在过程中完成所有 MFA 检查。在 AitM 的情况下,该工具充当代理,这意味着攻击者可以拦截所有身份验证材料 - 包括会话令牌等机密信息。BitM 更进一步,让受害者被诱骗远程控制攻击者的浏览器 - 这实际上相当于攻击者将笔记本电脑交给受害者,要求他们为他们登录 Okta,然后拿回他们的笔记本电脑。
与传统的中间人攻击(通常具有高度投机性)不同,AitM 往往更具针对性,因为它是网络钓鱼活动的产物。虽然 AitM 的规模比传统的中间人攻击(非常本地化)要大得多,但使用 AitM,您自然会根据所模拟的应用程序或冒充的网站,将注意力集中在属于特定应用程序或服务的帐户上。
我们在最近的一篇 Hacker News 文章中详细讨论了 AitM 和 BitM 网络钓鱼以及如何检测和阻止它:如果您错过了,请在这里查看。https://thehackernews.com/2024/08/how-to-stop-aitm-phishing-attack.html
信息窃取者
另一方面,信息窃取者的针对性往往不如 AitM 强——更像是伺机而动的抢劫。这一点在查看信息窃取者的典型传播机制时尤为明显——通过感染网站(或插件)、恶意广告(恶意广告)、P2P 下载网站、游戏论坛、社交媒体广告、公共 GitHub 存储库……等等。
在本文的其余部分,我们将特别关注信息窃取者。在谈论会话劫持时,这样做有充分的理由:
-
信息窃取者的目标是受害者浏览器中保存的所有会话 cookie 以及所有其他已保存的信息和凭据,这意味着,与更有针对性的 AitM 攻击相比,信息窃取者的入侵会使更多的会话面临风险,而 AitM 攻击只会导致单个应用程序/服务被入侵(除非它是用于单点登录到其他下游应用程序的 IdP 帐户)。
-
因此,信息窃取程序实际上非常灵活。如果存在应用程序级控制措施阻止从黑客的设备访问会话(例如严格的 IP 锁定控制措施,需要特定的办公室 IP 地址,而无法使用住宅代理网络绕过),您可以尝试使用其他应用程序。虽然对您的 M365 登录进行更强大的控制很常见,但它们不太可能为下游应用程序实施 - 这对攻击者来说同样有益。即使这些帐户通常通过 SSO 访问,攻击者仍可以通过会话 cookie 窃取和恢复会话,而无需向 IdP 帐户进行身份验证。
但是信息窃取者不是被 EDR 阻止了吗?
不一定。更好的 EDR 可能会检测到大多数商业信息窃取者,但攻击者在不断创新,尤其是更老练、资源更丰富的威胁团体会开发定制或定制的恶意软件包来逃避检测。所以这是一场猫捉老鼠的游戏,总有例外会漏网,或者可以利用漏洞来绕过它们,比如 Microsoft Defender SmartScreen 中的这个漏洞,它最近被利用来传播信息窃取恶意软件。
信息窃取者感染通常可以追溯到非托管设备的入侵——例如在支持 BYOD 的组织中,或者在第三方承包商使用自己的设备的情况下。历史上大多数信息窃取者入侵都归因于个人设备。然而,由于浏览器配置文件可以跨设备同步,个人设备入侵很容易导致公司凭证被入侵:
-
用户在工作设备上登录个人 Google 帐户并保存个人资料。
-
用户启用配置文件同步(这很容易做到并且设计上鼓励这样做)并开始将公司信誉保存到浏览器内的密码管理器中。
-
用户登录其个人设备并同步个人资料。
-
他们的个人设备感染了信息窃取病毒。
-
所有保存的凭证(包括公司凭证)都被恶意软件窃取。
因此,考虑到身份攻击的现实运作方式以及用户的个人身份和公司身份在现代工作场所如何融合,不能依靠 EDR 来完全消除信息窃取者带来的风险。
那么密钥呢?
密钥是一种防网络钓鱼的身份验证控制,这意味着它们可以有效防止 AitM 和 BitM 攻击,这些攻击要求受害者完成身份验证过程才能劫持会话。然而,在信息窃取者的情况下,不会进行身份验证。信息窃取者攻击以端点为目标(见上文),而将被盗会话 cookie 导入攻击者浏览器的操作只是恢复现有会话,而不是再次进行身份验证过程。
检测并响应会话劫持
从理论上讲,有多层控制可以防止攻击链末端的会话劫持。
第一阶段:传播恶意软件
首先必须引诱受害者下载信息窃取程序。如前所述,这种情况可能发生在很多不同的地方,有时不会发生在具有预期控制的公司设备上(例如电子邮件安全、内容过滤、已知不良阻止列表)。
即使这些措施已经到位,也常常达不到要求。
第二阶段:运行恶意软件
防范这种情况的主要控制措施是您的 AV/EDR 解决方案,我们在上一节中已经讨论过。TL;DR 它并不是万无一失的。
第 3 阶段:检测未经授权的会话
一旦攻击者窃取了您的会话 cookie,您检测它们的最后机会就是在它们被用来劫持会话的时候。
对于大多数组织来说,最后一道防线是应用内控制,例如访问限制策略。如前所述,绕过 IP 锁定限制通常并不困难,除非它们被特别锁定——例如锁定到特定办公室的 IP 地址。即便如此,如果攻击者无法访问您的 M365 帐户,您的每个下游应用程序也不太可能实施相同级别的限制策略。
因此,虽然信息窃取者在公司设备上被检测和拦截的可能性很大,但这并不是绝对的保证——许多信息窃取者攻击会完全绕过它们。在检测和拦截未经授权的会话时,你依赖于可变的应用程序级控制——这同样不是那么有效。
视频演示:会话劫持的实际操作
观看下面的视频演示,从信息窃取者入侵的角度查看攻击链的实际操作,展示会话 cookie 窃取、将 cookie 重新导入攻击者的浏览器以及规避 M365 中基于策略的控制。它还展示了在 Microsoft Entra 和 Okta 入侵的背景下通常通过 SSO 访问的下游应用程序的目标。
【https://youtu.be/RlSweA5UfYw】
添加新的防线——浏览器
安全从业者习惯于在这些情况下利用痛苦金字塔的概念。当检测失败时,它通常专注于检测错误的指标(即它与攻击者容易更改的变量相关联)。
要想成功攻击,攻击者必须在受害者自己的浏览器中恢复其会话。这是一种无法避免的动作和行为。
那么,如果您可以检测到攻击者何时使用被盗的会话令牌并劫持会话,情况会怎样?
Push Security 团队发布了一款可以检测这种情况的控件。通过向注册 Push 的浏览器中发生的会话的用户代理字符串中注入唯一标记。通过分析来自 IdP 的日志,您可以识别来自同一会话的活动,这些活动既有 Push 标记,又没有标记。
这种情况只有在从浏览器中提取会话并恶意导入其他浏览器时才会发生。作为额外的好处,这意味着它还可以作为抵御任何其他类型帐户接管攻击的最后一道防线,在这种情况下,通常从安装了 Push 插件的浏览器访问的应用程序突然从其他位置访问。
要了解有关该功能的更多信息,请查看此处的发布版本。https://pushsecurity.com/blog/introducing-session-token-theft-detection-why-browser-is-best/?utm_source=ext&utm_medium=paid&utm_content=hn
了解更多
检测被盗会话只是一个强大的功能,旨在提供针对帐户接管的分层防御,同时:
-
检测并阻止用户将密码输入到任何不属于该密码的网站的行为。
https://pushsecurity.com/blog/introducing-sso-password-protection/?utm_source=ext&utm_medium=paid&utm_content=hn
-
检测您访问的登录页面是否是从合法页面克隆的。
https://pushsecurity.com/blog/introducing-cloned-login-page-detection/?utm_source=ext&utm_medium=paid&utm_content=hn
-
检测并阻止访问运行 AitM 或 BitM 网络钓鱼工具包的页面。
https://pushsecurity.com/blog/introducing-aitm-phishing-toolkit-detection-powered-by-the-push-browser/?utm_source=ext&utm_medium=paid&utm_content=hn
原文始发于微信公众号(Ots安全):会话劫持 2.0 — 攻击者绕过 MFA 的最新方式
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论