漏洞简述
- KeePass 2.x Windows 版本有个 Trigger (触发器) 功能,可以在特定时机执行一个操作,其中包括导出明文的完整密码库。
- 所有的触发器存储在一个 XML 配置文件中,但这个文件路径在 AppData 下,无需管理员权限即可修改(亦不会触发 UAC)。
- 攻击者可以修改这个文件,在解锁密码库时运行一个导出触发器,然后调用其他任何程序(例如把密码通过网络请求传回攻击者的机器)。
当前状态
- 已经出现攻击脚本,扫描局域网内的电脑,用已知的其他漏洞攻入系统,更改配置文件并自动上传明文密码库
- 如果你的设备入域了,域管理员可以使用类似方法导出域中所有设备的密码库
- KeePass 主要作者 Dominik Reichl 不认为这是一个漏洞,认为用户应该自己管理本地文件的安全,也拒绝增加相关安全特性(如导出密码库时有额外的确认步骤)
https://sourceforge.net/p/keepass/discussion/329220/thread/a146e5cf6b/
应对
如果你是 Windows 上的 KeePass 2.x 用户,可以采取以下措施:
- 避免打开 KeePass 2.x 和解锁密码库(可能已经中招了)
- 换用没有触发器功能的 KeePass 客户端,如 KeePassXC, KeeWeb 或 KeePass 1.x 版本
- 使用 Enforced Configuration File 禁用掉 AppData 中的配置文件,并写保护相关目录 link
- 更新:升级至新版 2.53.1,这一版本禁用了「无需确认导出密码库」,
5 个赞
那问题就变成了,还有其他好用的windows下的客户端吗?
这种问题让我想起了类似情况,chrome的密码保存,也是明文的。这是用户没保护好系统的错,锅不在软件。。。
1 个赞
我之前迁移到了 KeePassXC,感觉界面比较现代,也自带 Windows Hello 支持,用起来还不错。跨端的话可以试试 KeeWeb,实际上是个纯前端应用。
keepass 2x 刚才更新了个小版本,有修复漏洞吗
allor
6
使用 KeePass 及相关衍生软件、同类软件时,为了自己的数据安全,请务必点进设置里看看
"导出"作为一个超低频的高风险操作,建议到设置里关闭,使用时才临时开启:
工具→选项→策略→取消勾选"导出"→重启 Keepass
同时可以取消"导出-不重复输入密码"
的选项,策略
页面还有一堆安全设置,如打印、复制等等
其实 KeePass 的设置选项很全面了,就是默认设置拉胯
如果简单使用并且用不上触发器的话,建议关闭触发器
工具→触发器→取消勾选"启用触发系统"
同样涉及安全的还有后台自动上锁时间、内存清理等等设置,不要迷信默认设置,那是为了便利性做了一定让步的默认模式。
6 个赞
确实是个麻烦,我现在是电脑本地加坚果云,其他端用 WebDav 连接坚果云来用
还有一个临时处理方案,如果信任其他第三方的安全软件,用第三方的安全软件把KeePass.config.xml这个配置文件的读写锁了,只允许keepass自己读写。
loli
11
攻击者能做这种事的时候也能做更多事情…
删除你大部分文件都是不需要任何确认的
你想想文件管理器,重命名工具等等
那些操作需要UAC权限吗
上传文件也不需要权限
比方最近说的notepad++事件
随机添加字符算个啥.
随机删除几个文件差不多算恐怖袭击了
当然可能密码特别重要,好像新版已经修复了
MiN
12
这个以前用过,不能像Keepass那样可以按ALT+上下方向键进行自定义排序,使用时有点不爽
最新的 2.53.1 的确把这个问题修掉了,更新记录有说明
- Removed the ‘Export - No Key Repeat’ application policy flag; KeePass now always asks for the current master key when trying to export data.
allor
14
之前在办公室摸鱼时测试对比了下 KeePass 和 KeePassXC
发现有几个问题:
- 记录
- 不支持字段引用
- 无法直接导出筛选后的记录(需要另建群组→拖放→导出群组的方式间接实现
- 标签
- 不支持中文标签
- 不支持批量添加标签
- 标签字体无法更换,默认非等宽字体,部分单词字母间距加宽,例如 test
- 设置
- 更加简便的设置反而让我觉得不够透明,难以安心(这算强行找茬了,但就是不安啊
注1:因为办公室电脑是 Win7,所以标签字体问题不排除系统版本原因
注2:KeePassXC 复制记录到群组的操作太诡异了,正常的复制操作是按住 Ctrl 键然后拖放到目标群组,KeePassXC 则必须在拖放到目标群组上面后再按住 Ctrl 键然后松开鼠标