
Algunos laboratorios analizando la vulnerabilidad de puerta trasera en xz (CVE-2024-3094)
Laboratorios seguros y prácticos para comprender el backdoor de la cadena de suministro de xz-utils — creados para defensores, estudiantes y miembros de equipos azules.
[!WARNING] Este proyecto maneja malware real y activo (el backdoor de xz 5.6.0 / 5.6.1) Se proporciona estrictamente para educación defensiva e investigación autorizada. Todo se ejecuta en una máquina invitada aislada y desechable, sin ruta a internet. No ejecute estos artefactos en una máquina que le importe, en una red que no controle ni contra ningún sistema que no esté autorizado a probar. Consulte SECURITY.md.
| Laboratorio | Qué hace | ¿Ejecuta el payload? |
|---|---|---|
| Laboratorio 1 — Inspeccionar | Inicia un sandbox desechable, obtén el tarball malicioso en modo offline y observa el disfraz: la diff de build-to-host.m4 entre git y el tarball, los payloads de los test fixtures, el marcador mágico. | No — solo inspección estática |
| Laboratorio 2 — Detonar | Construye una red aislada de tres máquinas virtuales (analyst / compromised / normal, sin Docker). Desde el jumpbox del analista, usa SSH a ambos hosts para comparar latencia y pcaps, luego activa el sshd con backdoor en compromised con tu propia clave Ed448 (mediante xzbot) para obtener RCE como root previo a la autenticación — mientras normal permanece inmune. | Sí — máquinas virtuales aisladas, sin conexión, tu clave |
Una campaña de ingeniería social de dos años otorgó a un mantenedor malicioso autoridad de publicación sobre xz-utils. El payload se distribuía solo en el tarball de lanzamiento (no en git), oculto en los test fixtures, y se activaba en tiempo de compilación en sistemas x86-64 con glibc. En tiempo de ejecución utilizaba un hook IFUNC de glibc sobre RSA_public_decrypt (accesible a través de sshd → libsystemd → liblzma) para otorgar al poseedor de la clave RCE previo a la autenticación: un comando oculto en el módulo RSA de un certificado SSH, cifrado con ChaCha20 y firmado con Ed448. No es C2 ni un inicio de sesión mágico. Fue detectado por Andres Freund el 29 de marzo de 2024 mediante una ralentización de SSH de ~500 ms, antes de que llegara a las distribuciones estables.
make setup # install/preflight checks (Multipass or Docker, tcpdump, etc.)
make lab1 # inspection sandbox
make lab2 # build the isolated 3-VM detonation network, then: multipass shell analyst
make clean # tear everything down, purge VMs / pcaps / generated keys
Los requisitos previos y las guías paso a paso para cada laboratorio se encuentran en docs/.
sshd con backdoor del Laboratorio 2 se vincula solo a loopback / puente interno y el laboratorio se niega a ejecutarse si la invitada puede alcanzar internet.MIT.