CVE-2024-3094
Создание лабораторной среды и отчёт CVE-2024-3094
Практика CVE-2024-3094
В лабораторной среде воспроизведён бэкдор, внедрённый в XZ Utils 5.6.0 и 5.6.1, и проанализированы факт перехвата (хукинга) SSH-аутентификации и степень опасности.
Среда
- Host OS : - Windows 11
- Docker : Docker Desktop 28.0.1
- Dockerfile Base Image : debian:experimental-20240311
- версия liblzama5 : 5.6.0
- SSH-порт : 2222 (root / pw : whs)
Dockerfile

docker-compose.yaml

Ход лабораторной работы
-
Создание Dockerfile + docker-compose.yaml
-
Сборка и запуск контейнера
docker compose up --build -d

-
Доступ к системе через SSH-подключение
ssh root@localhost -p 2222
#password : whs

-
Проверка с помощью dpkg, что версия libzma5 — 5.6.0
dpkg -l | grep libzlma

-
Проверка, использует ли sshd liblzma.so
ldd /usr/sbin/sshd | grep lzma

- Вывод отсутствует -> в этой лабораторной среде бинарный файл sshd, судя по всему, не связан динамически с liblzma.so, однако подтверждено, что уязвимая версия liblzma5 установлена. Также подтверждена возможность запуска PoC.
-
Создание PoC-скрипта
имя файла : poc_detect_backdoor.sh

-
Результат выполнения
chmod +x poc_detect_backdoor.sh
./poc_detect_backdoor.sh

По этим результатам можно убедиться, что PoC-скрипт успешно выполняется внутри контейнера,
а значит, можно подтвердить, что лабораторная среда корректно разворачивается только с помощью Dockerfile и docker-compose.yaml.
Заключение
- На основе уязвимой версии, содержащей бэкдор XZ, была развёрнута среда Docker, проверено, ссылается ли sshd на эту библиотеку, и выполнена проверка работоспособности с помощью простого запуска PoC.
- Подтверждено, что среда воспроизводима только с помощью Dockerfile и docker-compose.yaml.
- В качестве способа защиты от этой уязвимости можно удалить уязвимую версию XZ или обновить её до пропатченной версии.