
Este es un entorno de contenedor que ejecuta una instancia del backdoor sshd de CVE-2024-3094, que funciona con el proyecto https://github.com/amlweems/xzbot. NO es Docker, solo está implementado mediante chroot.
Este es un entorno que ejecuta una instancia de backdoor sshd CVE-2024-3094, que funciona con este exploit: https://github.com/amlweems/xzbot.
NO ES un contenedor Docker. Intenté crear el entorno de esta vulnerabilidad con docker pero fallé:
Dudo que estuviera relacionado con systemd, porque todas las formas que probé dentro de docker para lanzar SSHD se ejecutaban desde la línea de comandos, no desde systemd.
Como seguimiento, probé con un experimento: En la máquina VM donde sshd(systemd) ha sido explotado con éxito con xzbot, lancé directamente /sbin/sshd -D -e -p 2024 con liblzma.so reemplazado, y la explotación de xzbot falló, lo que indica que puede estar altamente relacionado con systemd.
Dejé de usar docker porque es un poco complejo ejecutar sshd desde systemd dentro de docker.
Finalmente extraje el sistema de archivos minimizado de mi VM, y lo convertí en un mini contenedor basado en chroot, que puede ejecutarse fácilmente en el namespace del host con systemd.
Funciona tanto en mi entorno VM como en otro entorno, lo que hace que la explotación de xzbot tenga éxito.
No he descubierto el principio, pero de todos modos organicé el entorno en este proyecto para investigación.
./compose.sh en el directorio raíz de este proyecto.
./remove.sh en el directorio raíz de este proyecto.
./xzbot -addr 127.0.0.1:2024 -cmd 'whoami > /hello', y podrás ver un archivo llamado hello debajo de env_fs si la explotación tiene éxito.
https://github.com/amlweems/xzbot proporciona una buena herramienta, y parcheó el liblzma.so con su propia clave pública, haciéndolo accesible. Consulta el proyecto xzbot para más detalles.
Nuestro mini sistema de archivos contiene el archivo lzma.so parcheado por defecto de xzbot. Y un binario ejecutable xzbot fue compilado estáticamente aquí. Puedes simplemente ejecutar ./xzbot -addr 127.0.0.1:2024 -cmd 'whoami > /hello' para probar.
Un archivo de servicio systemd xzback.service se desplegará dinámicamente en /etc/systemd/system/ en tu host.
Y xzback.service se iniciará con chroot hacia nuestro mini sistema de archivos, sin más influencia sobre el sistema de archivos del host.