Воспроизведение бэкдора XZ Utils на Kali Linux

Вопрос или проблема

Я хочу узнать о бэкдоре XZ Utils, следуя демонстрации эксплойта xzbot и настройке окружения. Я знаю, что версия 5.6.1 xz-utils должна содержать бэкдор, но мне не удается установить этот скомпрометированный пакет.

Начав с чистой установки Kali Linux 2024.4, в ней установлена liblzma 5.6.3, и sshd, похоже, не зависит от libsystemd и liblzma. Видимо, ни стандартный, ни портативный OpenSSH не поддерживают systemd. Меня сбивают с толку все руководства, которые ожидают, что sshd уже будет связан с liblzma, но у меня он этим не связан.

└─$ dpkg -l | grep liblzma5
ii  liblzma5:amd64                                 5.6.3-1+b1                               amd64        XZ-format compression library

└─$ ldconfig -p | grep liblzma
        liblzma.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/liblzma.so.5

└─$ sshd -V
OpenSSH_9.9p1 Debian-3, OpenSSL 3.3.2 3 Sep 2024

└─$ ldd $(which sshd)
        linux-vdso.so.1 (0x00007fc3de0b8000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fc3ddfde000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fc3dda00000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc3dd80a000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fc3dd768000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc3de0ba000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc3ddfbe000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fc3dd6a7000)

При понижении версии до пакета liblzma 5.6.1 и повторной проверке с помощью ldd ничего, похоже, не изменилось.

└─$ wget https://snapshot.debian.org/archive/debian/20240328T025657Z/pool/main/x/xz-utils/liblzma5_5.6.1-1_amd64.deb             
2024-12-24 00:45:29 (4.72 MB/s) - ‘liblzma5_5.6.1-1_amd64.deb’ saved [252188/252188]

└─$ sudo dpkg -i ./liblzma5_5.6.1-1_amd64.deb
dpkg: warning: downgrading liblzma5:amd64 from 5.6.3-1+b1 to 5.6.1-1
(Reading database ... 425071 files and directories currently installed.)
Preparing to unpack ./liblzma5_5.6.1-1_amd64.deb ...
Unpacking liblzma5:amd64 (5.6.1-1) over (5.6.3-1+b1) ...
Setting up liblzma5:amd64 (5.6.1-1) ...
Processing triggers for libc-bin (2.40-3) ...

└─$ dpkg -l | grep liblzma5
ii  liblzma5:amd64                                 5.6.1-1                                  amd64        XZ-format compression library
                                                                                          
└─$ sudo systemctl restart ssh

└─$ ldd $(which sshd)                                                                                               
        linux-vdso.so.1 (0x00007f705e59b000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f705e4c1000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f705de00000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f705dc0a000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f705e41f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f705e59d000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f705e3ff000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f705db49000)

Затем я попробовал собрать OpenSSH 9.7p1, так как это версия до того, как бэкдор стал общедоступным, может быть это поможет. Потребовалась перезагрузка, прежде чем sshd -V показал 9.7p1

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
tar -xvf openssh-9.7p1.tar.gz
cd openssh-9.7p1
sudo apt install libssl-dev
./configure
make
sudo make install

Но libsystemd и liblzma все еще не были связаны с sshd.

Я в замешательстве, как установить или собрать уязвимый пакет xz-utils. У меня были аналогичные проблемы, когда я пытался эти же шаги на Ubuntu 24.04.

.

Ответ или решение

Воспроизведение бекдора в XZ Utils на Kali Linux

Для воспроизведения бекдора в XZ Utils на Kali Linux, начнем с создания правильной среды для тестирования и экспериментов. Ниже представлены шаги, которые помогут вам в этой задаче.

F (Facts – Факты):

  1. Версия уязвимого пакета: Вопрос рассматривает уязвимость в версии 5.6.1 библиотеки liblzma XZ Utils. Необходимо иметь доступ к этой конкретной версии для дальнейших манипуляций.

  2. Проблема с зависящими библиотеками: На стандартных установках Kali Linux sshd не зависит от libsystemd и liblzma.

  3. Отсутствие динамической привязки: Несмотря на установку уязвимой версии, sshd не демонстрирует явной зависимости от liblzma, даже после ручного понижения версии.

O (Objectives – Цели):

  • Создать рабочую среду на Kali Linux с уязвимой версией пакета.
  • Обеспечить привязку sshd и liblzma для успешного воспроизведения бекдора.

R (Rationale – Обоснование):

Целью данного процесса является воссоздание условий, при которых бекдор сможет быть активирован, что позволит изучить его поведение и возможные уязвимости в безопасности системы для дальнейшей защиты.

E (Example – Пример):

  1. Установка уязвимой версии liblzma: Уже выполнена загрузка и установка пакета liblzma5_5.6.1-1_amd64.deb. Убедитесь, что у вас корректная версия.

  2. Компиляция и установка OpenSSH: Поскольку стандартная сборка sshd не демонстрирует зависимости от liblzma, вам может понадобиться пересобрать sshd с поддержкой этой библиотеки.

    Загрузите исходный код openssh-9.7p1 и выполните следующие команды:

    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
    tar -xvf openssh-9.7p1.tar.gz
    cd openssh-9.7p1
    sudo apt install libssl-dev liblzma-dev
    ./configure --with-liblzma
    make
    sudo make install

    Если configure не находит liblzma, укажите путь вручную, используя --with-liblzma=DIR.

  3. Проверка связей: Используйте команду ldd для проверки связей sshd после установки:

    ldd $(which sshd) | grep liblzma

    Убедитесь, что liblzma присутствует в списке.

S (Solution – Решение):

Для успешного воспроизведения бекдора, необходимо корректно скомпилировать sshd с прямой зависимостью от liblzma. Это может требовать консультации с документацией OpenSSH и использованием флагов компиляции для явной интеграции нужных библиотек.

T (Tie-back – Связь):

Успешное воспроизведение бекдора в вашей тестовой среде позволит глубже исследовать уязвимости и укрепить систему против подобных угроз в будущем. Использование уязвимой версии в учебных целях повысит навыки в выявлении и устранении подобных проблем.

Следуя этим шагам, вы сможете воспроизвести бекдор в XZ Utils на Kali Linux и изучить его поведение для укрепления собственной безопасности.

Оцените материал
Добавить комментарий

Капча загружается...