Una investigación sobre el compromiso de una infraestructura alojada en Amazon Web Services (AWS) ha llevado al descubrimiento de un nuevo rootkit GNU/Linux denominado Enlace Prosegún los hallazgos de Synacktiv.
“Esta puerta trasera presenta funcionalidades que se basan en la instalación de dos módulos eBPF (extended Berkeley Packet Filter), por un flanco para ocultarse y, por otro, para activarse de forma remota al admitir un ‘paquete mágico'”, afirmó el investigador de seguridad Théo Letailleur.
La infección, según la empresa francesa de ciberseguridad, implicó que los atacantes explotaran un servidor Jenkins expuesto frágil a CVE-2024-23897 (puntuación CVSS: 9,8) como punto de partida, tras lo cual se implementó una imagen maliciosa de Docker Hub emplazamiento “kvlnt/vv” (ahora eliminada) en varios clústeres de Kubernetes.
La imagen de Docker consta de una pulvínulo de Kali Linux unido con una carpeta emplazamiento “aplicación” que contiene tres archivos:
- start.sh, un script de shell para iniciar el servicio SSH y ejecutar los dos archivos restantes
- link, un software de código rajado llamado vnt que actúa como un servidor VPN y proporciona capacidades de proxy al conectarse a vnt.wherewego(.)top:29872, lo que permite al atacante conectarse al servidor comprometido desde cualquier emplazamiento y usarlo como proxy para asistir a otros servidores.
- app, un descargador basado en Rust denominado vGet que recibe una carga útil VShell cifrada de un depósito S3, que luego procede a comunicarse con su propio servidor de comando y control (C2) (56.155.98(.)37) a través de una conexión WebSocket.
Igualmente se entregaron a los nodos de Kubernetes otras dos cepas de malware, un cuentagotas que incorpora otra puerta trasera vShell y LinkPro, un rootkit escrito en Golang. El malware sigiloso puede tratar en modo pasivo (además conocido como inverso) o activo (además conocido como avance), dependiendo de su configuración, lo que le permite escuchar comandos del servidor C2 solo al admitir un paquete TCP específico o iniciar contacto directamente con el servidor.
Mientras que el modo directo admite cinco protocolos de comunicación diferentes, incluidos HTTP, WebSocket, UDP, TCP y DNS, el modo inverso solo utiliza el protocolo HTTP. La secuencia militar de eventos se desarrolla de la subsiguiente forma:
- Instale el módulo eBPF “Ocultar”, que contiene programas eBPF de los tipos Tracepoint y Kretprobe para ocultar sus procesos y actividad de red.
- Si la instalación del módulo “Ocultar” falta, o si se ha deshabilitado, instale la biblioteca compartida “libld.so” en /etc/ld.so.preload
- Si se utiliza el modo inverso, instale el módulo eBPF “Knock”, que contiene dos programas eBPF de los tipos eXpress Data Path (XDP) y Traffic Control (TC) para certificar que el canal de comunicación C2 se active solo al admitir el paquete mágico.
- Logre la persistencia configurando un servicio systemd
- Ejecutar comandos C2
- En caso de interrupción (señales SIGHUP, SIGINT y SIGTERM), desinstale los módulos eBPF y elimine el /etc/libld.so modificado y restáurelo a su interpretación diferente.

Para alcanzar esto, LinkPro modifica el archivo de configuración “/etc/ld.so.preload” para especificar la ruta de la biblioteca compartida libld.so integrada en él con el objetivo principal de ocultar varios artefactos que podrían revelar la presencia de la puerta trasera.
“Gracias a la presencia de la ruta /etc/libld.so en /etc/ld.so.preload, la biblioteca compartida libld.so instalada por LinkPro es cargada por todos los programas que requieren /lib/ld-linux.so14”, explicó Letailleur. “Esto incluye todos los programas que utilizan bibliotecas compartidas, como glibc”.
“Una vez que libld.so se carga durante la ejecución de un software, por ejemplo /usr/bin/ls, enlaza (antiguamente de glibc) varias funciones de libc para modificar resultados que podrían revelar la presencia de LinkPro”.
El paquete mágico, según Synacktiv, es un paquete TCP con un valía de tamaño de ventana de 54321. Una vez que se detecta este paquete, el módulo Knock cumplimiento la dirección IP de origen del paquete y una aniversario de vencimiento asociada de una hora como su valía. Luego, el software está atento a paquetes TCP adicionales cuya dirección IP de origen coincida con la de la IP ya guardada.
En otras palabras, la funcionalidad principal de LinkPro es esperar a que se envíe un paquete mágico, posteriormente del cual el actor de la amenaza tiene una ventana de una hora para dirigir comandos al puerto de su disyuntiva. El módulo Knock además está diseñado para modificar el encabezado del paquete TCP entrante para reemplazar el puerto de destino diferente con el puerto de audición de LinkPro (2333) y alterar el paquete saliente para reemplazar el puerto de origen (2233) con el puerto diferente.
“El propósito de esta maniobra es permitir al cirujano activar la recibo de comandos para LinkPro a través de cualquier puerto facultado por el firewall exterior”, dijo Synacktiv. “Esto además hace que la correlación entre los registros del firewall exterior y la actividad de red del host comprometido sea más compleja”.
Los comandos admitidos por LinkPro incluyen ejecutar /bin/bash en un pseudo-terminal, ejecutar un comando de shell, enumerar archivos y directorios, realizar operaciones con archivos, descargar archivos y configurar un túnel proxy SOCKS5. Actualmente no se sabe quién está detrás del ataque, pero se sospecha que los actores de la amenaza tienen motivaciones financieras.
“Para ocultarse a nivel del kernel, el rootkit utiliza programas eBPF de tipo tracepoint y kretprobe para interceptar las llamadas al sistema getdents (ocultar archivos) y sys_bpf (ocultar sus propios programas BPF). En particular, esta técnica requiere una configuración de kernel específica (CONFIG_BPF_KPROBE_OVERRIDE)”, dijo la compañía.
“Si este postrero no está presente, LinkPro recurre a un método independiente cargando una biblioteca maliciosa a través del archivo /etc/ld.so.preload para certificar la ocultación de sus actividades en el espacio del legatario”.