研究人员发布 PoC 工具:利用 CVE-2023-32784 漏洞从 KeePass 检索主密码

安全研究员 Vdohney 发布了一个名为KeePass 2.X Master Password Dumper 的PoC 工具,它允许检索 KeePass 的主密码。
该工具利用未修补的 KeePass 漏洞(跟踪号CVE-2023-32784)从 KeePass 2.x 版本的内存中检索主密码。
“在 2.54 之前的 KeePass 2.x 中,即使工作区被锁定或不再运行,也可以从内存转储中恢复明文主密码。内存转储可以是 KeePass 进程转储、交换文件 (pagefile.sys)、休眠文件 (hiberfil.sys) 或整个系统的 RAM 转储。”
 “第一个字符无法恢复。在 2.54 中,有不同的 API 使用和/或随机字符串插入来缓解。”
KeePass 是一种免费的开源软件,用于安全地管理密码。它充当数字“保险箱”,用户可以在其中存储和组织他们的敏感信息,包括密码、信用卡号、备注和其他敏感信息。KeePass 使用您需要提供的主密钥或主密码来加密数据,以便访问存储的信息。
该漏洞应在计划于 2023 年 6 月初发布的KeePass 2.54 中得到修复。
问题源于在 KeePass 2.X 使用自定义开发的文本框(’SecureTextBoxEx’)输入密码。此文本框不仅用于输入主密码,还用于 KeePass 的其他地方,例如允许攻击者使用它来恢复其内容的密码编辑框。
对于键入的每个字符,都会在内存中创建一个剩余的字符串。
“由于 .NET 的工作方式,一旦创建就几乎不可能摆脱它。例如,当键入“密码”时,将产生以下剩余字符串:•a、••s、•••s、••••w、•••••o、••••••r , •••••••d。” “POC 应用程序在转储中搜索这些模式,并为密码中的每个位置提供可能的密码字符。” 
攻击的成功取决于密码的键入方式以及每个会话键入的密码数量。专家解释说,即使每个会话或错别字有多个密码,.NET CLR 分配这些字符串的方式意味着它们很可能在内存中被很好地排序。
例如,如果用户键入三个不同的密码,攻击者可能会按顺序为每个字符位置获得三个候选密码,从而恢复所有三个密码。
消息是 CVE-2023-32784 漏洞只能由本地攻击者利用。
“如果你有理由怀疑有人可以访问你的计算机并进行取证分析,这可能很糟糕。最坏的情况是主密码将被恢复,尽管 KeePass 被锁定或根本没有运行。” ”研究人员总结道。
“如果你使用带有强密码的全盘加密并且你的系统是干净的,你应该没问题。仅凭这一发现,没有人可以通过互联网远程窃取您的密码。”
一旦 KeePass 2.54 可用并安装它,那么对于长期使用 KeePass 的用户,他们的主密码(以及可能的其他密码)可能在页面文件/交换文件和休眠文件中。专家建议:
  • 更改您的主密码

  • 删除休眠文件

  • 删除页面文件/交换文件

  • 覆盖 HDD 上已删除的数据以防止雕刻(例如  Windows 上的密码

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐