
Questo è un ambiente container che esegue un'istanza di backdoor sshd relativa a CVE-2024-3094, che funziona con il progetto https://github.com/amlweems/xzbot. NON è Docker: è implementato semplicemente tramite chroot.
Questo è un ambiente che esegue un'istanza backdoor sshd CVE-2024-3094, funzionante con questo exploit: https://github.com/amlweems/xzbot.
NON È un container Docker. Avevo provato a creare questo ambiente di vulnerabilità con docker ma fallito:
Dubito che fosse legato a systemd, perché tutti i modi che ho provato dentro docker per avviare SSHD partivano dalla riga di comando, non da systemd.
Come seguito, ho testato con un esperimento: sulla macchina VM dove sshd(systemd) era stato sfruttato con successo con xzbot, ho avviato direttamente /sbin/sshd -D -e -p 2024 con la liblzma.so sostituita, e lo sfruttamento di xzbot falliva, il che indica che potrebbe essere fortemente correlato a systemd.
Ho rinunciato a docker perché è un po' complesso eseguire sshd da systemd dentro docker.
Alla fine ho estratto il file system minimizzato dalla mia VM e l'ho trasformato in un mini container basato su chroot, che può essere eseguito facilmente nel namespace dell'host con systemd.
Funziona sia nel mio ambiente VM sia in un altro ambiente, il che rende lo sfruttamento di xzbot un successo.
Non ho ancora capito il principio, ma ad ogni modo ho organizzato l'ambiente in questo progetto per la ricerca.
./compose.sh nella directory root di questo progetto.
./remove.sh nella directory root di questo progetto.
./xzbot -addr 127.0.0.1:2024 -cmd 'whoami > /hello' e, se lo sfruttamento riesce, puoi vedere un file chiamato hello sotto env_fs.
https://github.com/amlweems/xzbot fornisce un ottimo strumento, e ha patchato la liblzma.so con la propria chiave pubblica, rendendola accessibile. Rivolgiti al progetto xzbot per i dettagli.
Il nostro mini file system contiene il file lzma so patchato predefinito di xzbot. E un binario eseguibile xzbot è stato compilato staticamente qui. Puoi semplicemente usare ./xzbot -addr 127.0.0.1:2024 -cmd 'whoami > /hello' per testare.
Un file systemd xzback.service verrà distribuito dinamicamente in /etc/systemd/system/ sul tuo host.
E xzback.service si avvierà con chroot nel nostro mini file system, senza ulteriore influenza sul file system dell'host.