RVBBIT: un rootkit LKM avanzado que desafía la seguridad en Linux
Publicado el
Introducción al rootkit RVBBIT
En el entorno de Linux actual, los rootkits han experimentado un notable desarrollo. Ya no se limitan a técnicas de explotación o a métodos rudimentarios de ocultación. En cambio, muchos han comenzado a manipular directamente las estructuras internas del kernel y a eludir los mecanismos de observación más modernos. El proyecto RVBBIT es un ejemplo representativo de esta tendencia, diseñado inicialmente como un módulo educativo que implementa múltiples técnicas de ocultación y persistencia, características de rootkits operativos.
Arquitectura del rootkit RVBBIT
RVBBIT se fundamenta en tres pilares clave: 1. Hooking sobre la syscall table, permitiendo interceptar llamadas críticas del sistema. 2. Manipulación directa de estructuras internas del kernel mediante DKOM (Direct Kernel Object Manipulation). 3. Resolución dinámica de símbolos mediante kallsyms y kprobes, que reduce la dependencia de símbolos exportados.
Además, incluye mecanismos como la desactivación temporal de protecciones de escritura en el kernel y la limpieza de indicadores de compromiso.
Características del rootkit
A continuación, se detallan las características y el estado de las funcionalidades del rootkit:
| Característica | Descripción | Estado | |----------------------------------|-----------------------------------------------------------------------------|-----------| | Ocultación de módulo | Se elimina a sí mismo de `/proc/modules` y `lsmod` a través de DKOM. | ✅ Enabled | | Ocultación de procesos | Oculta un proceso de minado de `/proc`. | ✅ Enabled | | Ocultación de ficheros | Oculta ficheros con un prefijo específico del listado de directorios. | ✅ Enabled | | Ocultación de puerto TCP | Oculta conexiones al puerto 3333 de `/proc/net/tcp`. | ✅ Enabled | | Bypass de eBPF | Bloquea la carga de programas eBPF no firmados (anti-detection). | ✅ Enabled | | Persistencia | Instala un servicio systemd y una entrada `modules-load.d`. | ✅ Enabled | | Minado de criptomonedas | Payload de minado de Monero (XMR) - se ha eliminado en la versión actual. | ❌ REMOVED | | Propagación de red | Fuerza bruta SSH y gusano auto-propagado - se ha eliminado. | ❌ REMOVED |
Mecanismos de ocultación
Uno de los mecanismos más ingeniosos del RVBBIT es la ocultación del módulo en el kernel. Este se logra eliminando su entrada de las estructuras internas del kernel, lo que impide que aparezca en herramientas como `lsmod` o en el sistema de archivos virtual `/sys`. Este proceso no es un simple filtrado, sino una eliminación directa de las referencias internas utilizadas por el kernel.
Por otro lado, la ocultación de procesos se realiza sin depender de hooks en syscalls como `getdents`. En su lugar, el rootkit modifica directamente las estructuras del scheduler del kernel, eliminando las referencias de los procesos de las listas internas. Esto provoca que el proceso desaparezca no solo de `/proc`, sino también de herramientas de supervisión como `ps` o `top`.
Adicionalmente, el rootkit introduce un mecanismo de control encubierto mediante señales, permitiendo activar dinámicamente la ocultación de un proceso específico.
Conclusión
El rootkit RVBBIT ilustra cómo los métodos de ocultación y persistencia han evolucionado en el ámbito de la ciberseguridad. A través de técnicas avanzadas y una arquitectura bien diseñada, representa un desafío significativo para la detección y mitigación en sistemas Linux. Su estudio proporciona valiosos aprendizajes sobre las amenazas modernas y la necesidad de reforzar las medidas de seguridad.