Una investigación sobre el peligro de una infraestructura alojada en Amazon Web Services (AWS) ha llevado al descubrimiento de un nuevo rootkit para GNU/Linux denominado LinkPro , según los hallazgos de Synacktiv.

«Esta puerta trasera presenta funcionalidades que se basan en la instalación de dos eBPF Los módulos [filtro de paquetes de Berkeley extendido], por un lado, para ocultarse y, por otro lado, para activarse de forma remota al recibir un 'paquete mágico'», dijo el investigador de seguridad Théo Letailleur dijo .

La infección, según la empresa francesa de ciberseguridad, implicó que los atacantes explotaran un servidor Jenkins expuesto vulnerable al CVE-2024-23897 como punto de partida, tras lo cual se implementó una imagen maliciosa de Docker Hub llamada «kvlnt/vv» (ahora eliminada) en varios clústeres de Kubernetes.

La imagen de Docker consiste en una base de Kali Linux junto con una carpeta llamada «app» que contiene tres archivos:

  • start.sh, un script de shell para iniciar el servicio SSH y ejecutar los dos archivos restantes
  • link, un programa de código abierto 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 lugar y usarlo como proxy para llegar a otros servidores
  • aplicación, un descargador basado en Rust denominado VGet que recibe un cifrado Concha en V carga útil desde un bucket de S3, que luego se comunica con su propio servidor de comando y control (C2) (56.155.98 [.] 37) a través de una conexión WebSocket

También se entregaron a los nodos de Kubernetes otras dos cepas de malware: un cuentagotas que incorporaba otro backdoor de vShell y LinkPro, un rootkit escrito en Golang. Este malware sigiloso puede funcionar en modo pasivo (también conocido como inverso) o activo (también conocido como directo), según su configuración, lo que le permite escuchar los comandos del servidor C2 solo cuando recibe un paquete TCP específico o iniciar un contacto directo con el servidor.

Si bien 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 general de eventos se desarrolla de la siguiente manera:

  • 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» falla 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 garantizar que el canal de comunicación C2 se active solo al recibir el paquete mágico
  • Logre la persistencia mediante la creación de un servicio systemd
  • Ejecute los comandos C2
  • En caso de interrupción (señales SIGHUP, SIGINT y SIGTERM), desinstale los módulos eBPF y borre el archivo /etc/libld.so modificado y restáurelo a su versión original

Para lograrlo, 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, todos los programas que requieren /lib/ld-linux.so14 cargan la biblioteca compartida libld.so instalada por LinkPro», explicó Letailleur. «Esto incluye todos los programas que usan bibliotecas compartidas, como glibc».

«Una vez que se carga libld.so al ejecutar un programa, por ejemplo /usr/bin/ls, engancha (antes de glibc) varias funciones de libc para modificar los resultados que podrían revelar la presencia de LinkPro».

El paquete mágico, según Synacktiv, es un paquete TCP con un valor de tamaño de ventana de 54321. Una vez que se detecta este paquete, el módulo Knock guarda como valor la dirección IP de origen del paquete y la fecha de caducidad asociada de una hora. Luego, el programa busca 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, tras lo cual el autor de la amenaza tiene un plazo de una hora para enviar comandos al puerto que elija. El módulo Knock también está diseñado para modificar el encabezado del paquete TCP entrante para reemplazar el puerto de destino original por el puerto de escucha de LinkPro (2333) y modificar el paquete saliente para reemplazar el puerto de origen (2233) por el puerto original.

«El propósito de esta maniobra es permitir al operador activar la recepción de comandos para LinkPro pasando por cualquier puerto autorizado por el firewall frontal», dijo Synacktiv. «Esto también hace que la correlación entre los registros del firewall frontal y la actividad de red del host comprometido sea más compleja».

Los comandos compatibles con LinkPro incluyen ejecutar /bin/bash en un pseudoterminal, 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 autores de la amenaza tienen motivaciones financieras.

«Para ocultarlo a nivel del núcleo, el rootkit utiliza programas eBPF de los tipos tracepoint y kretprobe para interceptar las llamadas al sistema getdents (ocultación de archivos) y sys_bpf (ocultación de sus propios programas BPF). Cabe destacar que esta técnica requiere una configuración específica del núcleo (CONFIG_BPF_KPROBE_OVERRIDE)», afirma la empresa.

«Si este último no está presente, LinkPro recurre a un método alternativo al cargar una biblioteca maliciosa a través del archivo /etc/ld.so.preload para garantizar la ocultación de sus actividades en el espacio del usuario».

¿Te ha parecido interesante este artículo? Síguenos en Noticias de Google , Twitter y LinkedIn para leer más contenido exclusivo que publicamos.