Nuevo malware sigiloso de rootkit Pumakit Linux detectado en la naturaleza

Linux

linux

Se ha descubierto un nuevo malware rootkit de Linux llamado Pumakit. Utiliza técnicas sigilosas y avanzadas de escalada de privilegios para ocultar su presencia en los sistemas.

El malware es un paquete de múltiples componentes que incluye un cuentagotas, ejecutables residentes en la memoria, un rootkit de módulo del kernel y un rootkit de espacio de usuario de objeto compartido (SO).

Seguridad elástica descubierto Pumakit en una descarga binaria sospechosa («cron») en VirusTotalcon fecha del 4 de septiembre de 2024 y dijo que no tenía visibilidad sobre quién lo está usando y a qué se dirige.

Por lo general, estas herramientas son utilizadas por actores de amenazas avanzadas que apuntan a infraestructuras críticas y sistemas empresariales para operaciones de espionaje, robo financiero y disrupción.

La equipación de Puma

Pumakit utiliza un proceso de infección de varios pasos que comienza con un cuentagotas llamado «cron», que ejecuta las cargas útiles integradas («/memfd:tgt» y «/memfd:wpn») completamente desde la memoria.

La carga útil «/memfd:wpn», que se ejecuta en un proceso secundario, realiza comprobaciones del entorno y manipulación de imágenes del kernel y, en última instancia, implementa el módulo rootkit LKM («puma.ko») en el núcleo del sistema.

Kitsune SO («lib64/libs.so») está integrado con el rootkit LKM, actuando como el rootkit del espacio de usuario que se inyecta en los procesos usando «LD_PRELOAD» para interceptar llamadas al sistema a nivel de usuario.

Cadena de infección de Pumakit
Cadena de infección de Pumakit
Fuente: Seguridad Elástica

Escalada sigilosa de privilegios

El rootkit sigue la activación condicional, verificando símbolos específicos del kernel, estado de inicio seguro y otros requisitos previos antes de cargar.

Elastic dice que Puma usa la función «kallsyms_lookup_name()» para manipular el comportamiento del sistema. Esto indica que el rootkit fue diseñado para apuntar únicamente a kernels de Linux anteriores a 5.7, ya que las versiones más nuevas ya no exportan la función y, por lo tanto, no pueden ser utilizadas por otros módulos del kernel.

«La capacidad del rootkit LKM para manipular el comportamiento del sistema comienza con el uso de la tabla de llamadas del sistema y su dependencia de kallsyms_lookup_name() para la resolución de símbolos», explican Remco Sprooten y Ruben Groenewoud, investigadores de Elastic.

«A diferencia de los rootkits modernos dirigidos a las versiones del kernel 5.7 y superiores, el rootkit no utiliza kprobesindicando que está diseñado para núcleos más antiguos.»

Puma intercepta 18 llamadas al sistema y varias funciones del kernel utilizando «ftrace» para obtener escalada de privilegios, ejecución de comandos y la capacidad de ocultar procesos.

Utilice ftrace para interceptar llamadas al sistema
Utilice ftrace para interceptar llamadas al sistema
Fuente: Seguridad Elástica

Se abusa de las funciones del kernel “prepare_creds” y “commit_creds” para modificar las credenciales de los procesos, otorgando así privilegios de root a procesos específicos.

Realizar escalada de privilegios
Realizar escalada de privilegios
Fuente: Seguridad Elástica

El rootkit puede ocultar su propia presencia en los registros del kernel, herramientas del sistema y antivirus, y también puede ocultar archivos específicos en un directorio y objetos en listas de procesos.

Si los enlaces están rotos, el rootkit los reinicia, asegurando que sus cambios maliciosos no se reviertan y que el módulo no se pueda descargar.

El rootkit Kitsune SO userland trabaja en sinergia con Puma, extendiendo sus mecanismos de sigilo y control a las interacciones cara-usuario.

Intercepta llamadas al sistema a nivel de usuario y modifica el comportamiento de elementos como ls, ps, netstat, top, htop y cat para ocultar archivos, procesos y conexiones de red asociados con el rootkit.

También puede ocultar dinámicamente todos los demás archivos y directorios según criterios definidos por el atacante y hacer que los archivos binarios maliciosos sean completamente invisibles para los usuarios y administradores del sistema.

Kitsune SO también gestiona todas las comunicaciones con el servidor de comando y control (C2), transmitiendo comandos al rootkit LKM y transmitiendo información de configuración y sistema a los operadores.

Además de los hashes de archivos, Elastic Security ha lanzado una regla YARA para ayudar a los administradores de sistemas Linux a detectar ataques de Pumakit.