CVE-2024-3094
Costruzione dell'ambiente di pratica e report per CVE-2024-3094
Pratica con CVE-2024-3094
Abbiamo riprodotto nell'ambiente di pratica il backdoor inserito in XZ Utils 5.6.0 e 5.6.1, analizzando l'hooking dell'autenticazione SSH e i rischi.
Ambiente
- Host OS : - Windows 11
- Docker : Docker Desktop 28.0.1
- Dockerfile Base Image : debian:experimental-20240311
- liblzama5 version : 5.6.0
- SSH Port : 2222 (root / pw : whs)
Dockerfile

docker-compose.yaml

Procedura di pratica
-
Scrittura di Dockerfile + docker-compose.yaml
-
Build ed esecuzione del container
docker compose up --build -d

-
Accesso al sistema tramite SSH
ssh root@localhost -p 2222
#password : whs

-
Verifica con dpkg che la versione di libzma5 sia 5.6.0
dpkg -l | grep libzlma

-
Verifica se sshd utilizza liblzma.so
ldd /usr/sbin/sshd | grep lzma

- Nessun output -> In questo ambiente di pratica, il binario sshd non sembra essere collegato dinamicamente con liblzma.so, ma è stata confermata l'installazione della versione vulnerabile di liblzma5. Inoltre, è stata verificata la possibilità di eseguire il PoC.
-
Scrittura dello script PoC
file name : poc_detect_backdoor.sh

-
Risultato dell'esecuzione
chmod +x poc_detect_backdoor.sh
./poc_detect_backdoor.sh

Tramite questi risultati, abbiamo potuto confermare che lo script PoC è stato eseguito correttamente all'interno del container e che l'ambiente di pratica è stato configurato correttamente utilizzando solo il Dockerfile e docker-compose.yaml.
Conclusioni
- Abbiamo configurato un ambiente Docker basato sulla versione vulnerabile contenente il backdoor XZ, verificato se sshd fa riferimento a tale libreria e infine eseguito un semplice PoC per convalidare il funzionamento.
- Abbiamo confermato che è riproducibile utilizzando solo Dockerfile e docker-compose.yaml.
- Il modo per correggere questa vulnerabilità è rimuovere la versione vulnerabile di XZ o aggiornare a una versione patchata.