## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DEV0558-CVE-2023-32784-EXPLOIT-REPORT
# Демонстрация эксплойта CVE-2023-32784
## Обзор проекта
Этот репозиторий предоставляет демонстрацию CVE-2023-32784, критической уязвимости, обнаруженной в KeePass версиях до 2.54. Эксплойт позволяет восстановить мастер-пароль через дампы памяти, раскрывая сохраненные учетные данные. В этой документации описан пошаговый план настройки среды эксплойта, выполнения PoC-инструмента и понимания стратегий смягчения последствий.
Детали уязвимости
### Описание
CVE-2023-32784 — это уязвимость утечки памяти в KeePass версий 2.0–2.53, возникающая из-за неправильной обработки строк в компоненте Secure Textbox EX в KeePass. Каждый введенный символ мастер-пароля оставляет следы в памяти, что позволяет восстановить его через дампы памяти.
#### Ключевые характеристики:
* Серьезность: Высокая
* Эксплуатируемость: Требуется физический или локальный доступ к дампам памяти; удаленное выполнение кода не задействовано.
* Воздействие: Извлечение мастер-пароля (за исключением первого символа) из памяти позволяет несанкционированный доступ к сохраненным учетным данным.
## Детали эксплойта
### Инструменты и методы
Эксплойт использует инструмент KeePass Master Password Dumper, который использует распознавание шаблонов памяти для извлечения символов из дампов памяти.
* Ограничения: Первый символ пароля не восстанавливается, но это не является существенным препятствием, поскольку остальная часть пароля может быть легко восстановлена или угадана.
* Модель угроз: Эта уязвимость подчеркивает риски на общих или автоматизированных системах, где возможен доступ к дампам памяти (например, `pagefile.sys` или `hiberfil.sys`).
* * *
## План эксплуатации
### Предварительные требования
Для успешного выполнения этого эксплойта необходимы следующие среда и инструменты:
1. **Программное обеспечение для виртуализации** : VMware или эквивалентный инструмент для изоляции тестовой среды.
2. **ISO-образ Windows 10** : Операционная система для уязвимой установки KeePass.
3. **KeePass 2.x** : Версия до 2.54.
4. **Среда выполнения .NET 7** : Требуется для запуска PoC-инструмента.
5. **PoC-инструмент** : KeePass Password Dumper, доступен на GitHub.
### Шаги с обоснованиями
#### 1\. **Настройка среды**
* **Зачем виртуальная машина?**
Виртуальные машины предоставляют безопасную и контролируемую среду для тестирования уязвимостей без риска для производственных систем.
* **Шаги** :
* Установите VMware и создайте новый экземпляр ВМ с Windows 10.
* Установите KeePass 2.x (например, версию 2.53) и задайте мастер-пароль.
* Пример мастер-пароля: `user`.
#### 2\. **Установка зависимостей**
* **Зачем .NET 7?**
PoC-инструмент построен на платформе .NET 7. Использование правильной среды выполнения обеспечивает совместимость.
* **Шаги** :
* Загрузите и установите `.NET 7` с официального сайта Microsoft.
* Подтвердите установку с помощью:
root@kitploit:~
dotnet --version
#### 3\. **Создание дампа памяти**
* **Зачем сбрасывать память процесса KeePass?**
Уязвимость заключается в обработке памяти KeePass. Захват дампа позволяет проанализировать следы памяти, где находятся следы пароля.
* **Шаги** :
* Откройте KeePass и разблокируйте базу данных с помощью мастер-пароля.
* Используйте Диспетчер задач для создания файла `.DMP` для процесса KeePass:
* Найдите KeePass в Диспетчере задач.
* Щелкните правой кнопкой мыши и выберите **Create Dump File**.
* Запомните расположение файла `.DMP` (обычно в каталоге `%TEMP%`).
#### 4\. **Запуск PoC-инструмента**
* **Зачем копировать дамп в каталог PoC?**
PoC-инструмент обрабатывает файлы дампа в своем рабочем каталоге. Этот шаг гарантирует анализ правильного файла.
* **Шаги** :
* Переместите файл `.DMP` в извлеченную папку PoC.
* Переименуйте файл в `KeePass.DMP` для единообразия.
* Откройте терминал, перейдите в каталог PoC и выполните инструмент:
root@kitploit:~
cd Downloads/keepass-password-dumper-main
dotnet run KeePass.DMP
* **Ожидаемый результат** :
Инструмент выведет символы пароля, кроме первого.
### Пример последовательности команд
root@kitploit:~
cd Downloads/keepass-password-dumper-main
dir
dotnet run KeePass.DMP
* * *
## Стратегии смягчения последствий
### Рекомендуемые исправления
1. **Обновление KeePass** :
Обновление до **KeePass 2.54** устраняет уязвимость, вводя следующие улучшения:
* Улучшенная обработка памяти для конфиденциальных данных.
* Рандомизированные вставки строк для снижения предсказуемости в памяти.
2. **Защита дампов памяти** :
* Регулярно очищайте или перезаписывайте конфиденциальные файлы, такие как `pagefile.sys` и `hiberfil.sys`.
* Периодически перезагружайте системы для очистки конфиденциальных данных из памяти.
3. **Практикуйте безопасное управление памятью** :
Разработчикам следует использовать лучшие практики обработки конфиденциальных строк, например, изменяемые структуры данных или очистку буферов памяти после использования.
* * *
## Важные заметки
* **Использование только для демонстрации** :
Этот эксплойт предназначен для образовательных целей в контролируемой среде. Не используйте эту информацию со злым умыслом.
* **Осведомленность о воздействии** :
Организации должны оценить последствия этой уязвимости для общих или многопользовательских систем и принять соответствующие меры смягчения.
## ПОСМОТРИТЕ МОЕ ВИДЕО НА YOUTUBE ДЛЯ ЖИВОЙ ЭКСПЛУАТАЦИИ CVE
https://youtu.be/o855F0RvI30?si=WXOtPu-jgtC31O-5
## Ссылки
* NVD CVE-2023-32784
* KeePass Master Password Dumper (GitHub)
* Cyberis Analysis
* Sysdig Blog on CVE-2023-32784
* * *
## Автор
**Bhargav Raj Dutta**
_Бакалавр информационных технологий в области кибербезопасности и цифровой криминалистики (Университет Мердока)_
По любым вопросам или предложениям о сотрудничестве, не стесняйтесь связаться через [LinkedIn www.linkedin.com/in/bhargav-raj-dutta-80251a1b4)