浏览器并非安全空间:密码管理器与窃取者日志的风险警示

本文通过真实红队案例揭示浏览器存储敏感信息的风险,分析窃取者日志的危害,并提供企业及个人防护建议,强调使用密码管理器的重要性及技术控制措施。

浏览器并非安全空间

Corey Ham

内容提要

  • 使用密码管理器替代浏览器存储密码、信用卡号和其他自动填充项。
  • 个人安全:不要在浏览器中保存任何敏感信息,尤其是凭据。这些数据可能传播得比你想象的更远,并可被恶意软件访问。考虑从所选浏览器中删除所有凭据和自动填充项。
  • 企业安全:防止用户在浏览器凭据存储中保存凭据,并考虑阻止用户在企业托管主机上登录浏览器。如果可能,强制执行访问控制,防止用户在非托管主机上登录浏览器。监控凭据滥用情况。

故事背景

我在BHIS从事红队演练工作。这些演练旨在覆盖目标实体的最广攻击面。我们采用广泛的范畴——意味着我们可以攻击任何被识别为目标拥有的用户、计算机、应用程序或传真机,除非事先明确列为范围之外。

在最近的一次红队演练中,我在测试的第一天就获得了员工凭据、浏览器cookie、用户桌面截图以及一些有趣的文件。现在,你可能会认为这听起来像是我在吹嘘自己神级的黑客技能,或者目标的安全措施非常糟糕,如果我在第一天就取得了如此进展。事实是,我可能甚至还没有建立命令与控制基础设施,而且目标的安全措施非常出色。那么这是如何发生的呢?我在一些窃取者日志中发现了所有这些数据。

窃取者日志?

我最初是在WWHF Deadwood 2022上了解到窃取者日志的,当时我在Mishaal Khan的演讲后与他进行了精彩的对话,他演示了如何使用它们进行OSINT。我自己也算是个OSINT爱好者,并且是BHIS的主要数据泄露处理者,所以我决心获取一些这些数据并亲自查看。最终,我设法获取了大量数据,总计超过10TB。然后,我努力处理尽可能多的数据,使其可搜索。我不会赘述这些无聊的细节,但可以说,黑帽黑客在组织文件方面绝对糟糕。如果你想知道我是如何处理数据并使其在我们的私人泄露数据库中可搜索的,请告诉我是否想看单独的博客文章或网络直播。

关于日志本身的样子,可以查看IntelTechniques的这篇优秀博客(https://inteltechniques.com/blog/2022/07/06/new-breach-data-lesson-ii-stealer-logs/)。简要概述:

  • 窃取者恶意软件通过各种方式分发,包括与破解/盗版软件打包、网络钓鱼活动和恶意广告。
  • 窃取者是廉价(100美元)的商品恶意软件,有相当多的变种,包括Redline、Raccoon、Vidar等。窃取者通常从受害者那里获取以下信息:
    • 系统信息(运行进程、安装的软件、截图)
    • 浏览器数据(凭据、历史记录、cookie、自动填充等)
    • 浏览器凭据数据通常报告为四个字段:
      • 主机/URL
      • 用户名
      • 密码
      • 浏览器版本(例如Chrome 104)
    • 有趣的文件
    • 针对高价值软件构建的特定提取器,如加密货币钱包、视频游戏、Discord认证令牌等。
    • 网络摄像头捕获,取决于变种

恶意软件不会长时间停留,但会尽可能抓取数据并发送到中央服务器进行处理。在那里,每个受害者的数据被打包,并在论坛和Telegram群组中出售,通常是大规模集合。它们并不特别昂贵,平均受害者的数据成本为几分甚至更少。作为参考,受害者的文件夹可能看起来像这样:

内容几乎是不言自明的。一些变种会列出存在的防病毒程序、进程是否提升以及用户拥有的UAC权限。

受害者桌面的截图既令人悲伤又搞笑。其中一些让我觉得我在负载方面过度设计了……

受害者

回到故事。正如你可能想象的那样,侦察是红队工作的巨大组成部分。我个人喜欢侦察过程,因为我用它来收集情境意识和信心,以便后续执行攻击。我对目标实体的运作方式了解得越多,我就越能利用它来对付他们,尤其是在社会工程和后期利用阶段。在我开始处理窃取者日志后,我将搜索它们添加到所有演练的侦察工作流程中;具体来说,在主机字段和用户名字段中搜索客户域名。这几乎立即开始产生结果,但这里有一个具体的故事,我认为很好地说明了风险。

我发现一个结果,其中一个捕获的凭据的URL类似于https://citrix.client.com/vpn/login。为该站点捕获的用户名似乎是有效的用户名,但保存的密码是一个六位数字。这很可能是一个临时的MFA代码,我们无法使用捕获的信息访问Citrix界面。

我提取并浏览了用户的整个日志文件夹,其中包含大约67组凭据,但没有其他我们可以利用进行初始访问的信息。我们针对该用户发起了一个长期运行的凭据填充活动,使用了窃取者日志中列出的所有凭据。对我们不利(但对客户有利),这次攻击不成功,我们在所有数据中心都触发了该用户帐户的智能锁定。

一旦我们承认使用数据进行初始访问失败,我们联系了客户,告知他们情况,并让他们与受害者取得联系。我想向用户提供完整的窃取者日志文件存档,以便他们尝试使所有披露的信息失效。然而,鉴于数据的个人性质,我不愿意与受害者的雇主共享整个转储。同时,我们的客户也不愿意承担传输和存储用户个人数据的责任。最终,我们决定将内容发送到一个加密的zip文件中,密码通过电话口头交换。受害者非常有礼貌,并对提醒表示感激,我认为这令人钦佩。

最让我惊讶的部分是,受害者没有意识到他们的计算机被入侵,甚至不知道他们的数据被暴露。我问他们是否收到了虚假的MFA推送通知、可疑的登录通知或任何其他入侵指标,但他们都没有意识到。恶意软件在我发现它的一年多前就执行了。这让我相信,收集这些数据的攻击者必须对其进行分类,并只针对最有价值的目标采取行动——那些拥有信用卡、加密货币钱包和其他可以导致快速直接财务收益的信息的目标。

至于受害者是如何被感染的,他们的一个孩子在安装破解软件时感染了家庭计算机。受害者在我们对话中提到,他们将召开一次“家庭会议”,一起更改所有受影响的密码,并将其作为一个可教的时刻,这很好。此时我们分道扬镳,我们继续我们的红队演练。

下一步?

当我们结束演练并转向报告时,我开始考虑客户可以做些什么来防止这种事情再次发生。

首先,我考虑了导致这种数据泄漏的技术机制。我没有足够的证据来证明到底发生了什么,但我想出了一些可能性:

  • 用户用他们的个人帐户登录工作浏览器,导致现有和未来的凭据通过他们的个人Google/Microsoft帐户同步到他们的家庭计算机。
  • 用户用他们的工作帐户登录家庭计算机浏览器,将所有存储在那里的凭据同步到他们的家庭计算机。
  • 客户使用自带设备(BYOD)访问模型,允许员工从个人计算机远程访问公司资源。

在所有情况下,个人和工作数据都会混合,导致潜在的数据泄漏。

技术控制?

多年来,我一直在报告“允许浏览器凭据存储”作为一个发现,主要是在后期利用期间使用SharpChromium和SharpDPAPI等工具时,发现用户将密码保存在浏览器凭据存储中而不是密码管理器中。那里的建议是使用GPO或MDM在所有浏览器中完全禁用此功能。有一种可能性是,如果用户只从托管计算机登录Citrix界面,这可能会阻止用户首先保存密码。

这种情况提出了一个额外的建议可能性,即完全阻止用户登录他们的浏览器。虽然我考虑过这一点,但它可能会降低一些经常在批准设备之间切换的工人的效率。这也是我讨厌的那种安全解决方案——那种阻止一堆有用功能以防止其中一部分被滥用的解决方案。

用户安全意识?

尽管我经常犹豫是否要拉这个杠杆,但我认为让用户意识到浏览器同步的影响对员工和雇主都有帮助。这远远超出了安全范围;我认为大多数人不会想与配偶或亲密朋友分享他们的浏览器历史记录,更不用说他们的雇主了。随着更多应用程序转向Web客户端模型,我们将比以往任何时候都更多的敏感数据放入浏览器中。

检测?

尽管泄露的数据可能似乎超出我们的控制,但监控和检测可以防止这些数据被滥用。

首先了解到底哪些数据被泄露,对公司和个人都有很大帮助。在撰写本文时,我没有意识到有任何公共网站像HaveIBeenPwned但针对窃取者日志。如果你知道一个好的,请联系。

对于公司,可能有付费的数据泄露监控服务可以摄入窃取者日志。你也可以订阅我们的持续测试产品,其结构允许我们像真实攻击者一样长期使用这些技术(无耻的插播)。

对于个人,在窃取者日志中搜索你的数据更加困难。有一个政府网站(https://raccoon.ic3.gov/home)可以让你确定你的数据是否被Raccoon Stealer窃取。HaveIBeenPwned有大约400,000条来自Redline窃取者的记录,这是一个有限的子集。目前,我的数据集包含近1000万受害者,我可能遗漏了相当多的数据。

公司还应监控凭据填充攻击并相应响应,特别是在发生有效登录时。防御者还应意识到浏览器数据的安全影响。

我的建议

  • 使用好的密码管理器,用于企业和个人安全。
  • 使用组策略或设备管理工具(如Intune)在所有托管计算机的所有浏览器上禁用浏览器凭据存储。
  • 清理先前保存的登录信息和其他敏感数据。
  • 教育用户和防御者:
    • 提高对登录浏览器时交换的数据量的认识。
    • 演示如何手动禁用凭据存储、导出旧凭据并将其导入他们选择的密码管理器。

感谢阅读!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计