
Исследование уязвимости CVE-2024-3094.
Данный репозиторий содержит результаты анализа критической уязвимости CVE-2024-3094 (бэкдор в библиотеке liblzma пакета xz-utils, приводящий к RCE через процесс OpenSSH).
В рамках проекта подготовлено изолированное тестовое окружение, разработана модель угроз и написаны автоматические проверки.
Dockerfile — Сценарий сборки окружения (Debian Bookworm) со всеми зависимостями (OpenSSH, Python 3, venv, pytest, pwntools).tests/ — Директория с автоматическими тестами (pytest):
test_vulnerability.py / tests_vulnerability.py — интеграционные тесты функциональности SSH и Mock-тесты для проверки поведения системы обнаружения бэкдора.exploit/ — Скрипты Proof of Concept (PoC) для эмуляции атаки.docs/ — Модель угроз (Threat Model) в формате Markdown и графы.reports/ — Отчеты по результатам статического/динамического анализа.Все тесты и исследования проводятся в изолированном Docker-контейнере, чтобы не подвергать риску хост-систему.
Образ устанавливает SSH-сервер (с паролем root:screencast) и настраивает виртуальное окружение Python со всеми необходимыми библиотеками.
docker build -t cveanalysis:20243094 .
Контейнер запускается в фоновом режиме. Внутренний SSH-порт (22) пробрасывается на порт 2222 хост-машины.
docker run -d -p 2222:22 --name cve-test cveanalysis:20243094
Для запуска всех файлов тестов (test_vulnerability.py и tests_vulnerability.py) выполните команду с вашей хост-машины:
docker exec -it cve-test pytest -v tests/*
Что проверяют тесты:
root:screencast).Если вы хотите протестировать скрипты из папки exploit/ (или подключиться по SSH вручную) со своей хост-машины, используйте проброшенный порт 2222:
# Пример ручного входа
ssh [email protected] -p 2222
# Пароль: screencast
# Пример запуска вашего PoC скрипта (если он требует внешнего запуска)
python3 exploit/PoC.py 127.0.0.1
После завершения анализа остановите и удалите тестовый контейнер:
docker stop cve-test
docker rm cve-test