Un malware furtivo para Linux llamado ‘sedexp’ ha logrado evadir la detección desde 2022 utilizando una técnica de persistencia que aún no está documentada en el framework MITRE ATT&CK.
Este malware fue descubierto por Stroz Friedberg, una empresa de gestión de riesgos perteneciente a Aon, y permite a sus operadores crear shells inversos para obtener acceso remoto y facilitar ataques.
La técnica de persistencia empleada (reglas udev) no está documentada por MITRE ATT&CK.
El equipo de investigación
Las Reglas udev
‘udev’ es un sistema de gestión de dispositivos del núcleo de Linux que se encarga de manejar los nodos de dispositivos en el directorio /dev.
Este directorio contiene archivos que representan los componentes de hardware del sistema, como unidades de almacenamiento, interfaces de red y dispositivos USB.
Los archivos de nodo se crean y eliminan de forma dinámica cuando los usuarios conectan o desconectan dispositivos.
Además, udev también se encarga de cargar los controladores correspondientes.
Las reglas de udev son archivos de configuración en texto plano que indican cómo debe gestionar el administrador de dispositivos ciertos dispositivos o eventos.
Estas reglas se encuentran en las rutas ‘/etc/udev/rules.d/’ o ‘/lib/udev/rules.d/’.
Cada regla de udev contiene tres parámetros clave: la acción a ejecutar (por ejemplo, ACTION==»add»), el nombre del dispositivo (por ejemplo, KERNEL==»sdb1″) y el script que se debe ejecutar cuando se cumplen las condiciones especificadas (por ejemplo, RUN+=»/path/to/script»).
El malware ‘sedexp’ aprovecha estas reglas añadiendo una específica en los sistemas comprometidos.
ACTION=="add", ENV{MAJOR}=="1", ENV{MINOR}=="8", RUN+="asedexpb run:+"
Esta regla se activa cada vez que se agrega un nuevo dispositivo al sistema y verifica si los números mayor y menor coinciden con los de ‘/dev/random’.
Este archivo se carga durante el inicio del sistema y es utilizado como generador de números aleatorios por varias aplicaciones y procesos del sistema.
El componente final de la regla (RUN+= «asedexpb run:+«) ejecuta el script del malware ‘asedexpb’.
Al establecer ‘/dev/random’ como condición previa, los atacantes garantizan que el malware se ejecute con regularidad.
Lo más relevante es que ‘/dev/random’ es un componente crítico del sistema en Linux, el cual no suele ser monitoreado por las soluciones de seguridad.
Esto hace que el abuso de este componente asegure la evasión del malware.
Capacidades operativas primarias
El malware se hace pasar por un proceso legítimo del sistema al nombrarse ‘kdevtmpfsi’, lo que le permite mezclarse con las actividades normales y dificultar su detección mediante métodos convencionales.
En cuanto a sus capacidades operativas, el malware utiliza ‘forkpty’ o ‘pipes’ y un proceso bifurcado para establecer un shell inverso, permitiendo al atacante acceder remotamente al dispositivo infectado.
El malware ‘sedexp’ también emplea técnicas de manipulación de memoria para ocultar cualquier archivo que contenga la cadena «sedexp» de comandos estándar como ‘ls’ o ‘find’, lo que dificulta la detección de su presencia en el sistema.
Además, es capaz de modificar el contenido de la memoria para inyectar código malicioso o alterar el comportamiento de aplicaciones y procesos del sistema.
Los investigadores señalan que este malware ha estado activo desde al menos 2022.
Lo han encontrado en varios sandboxes en línea sin ser detectado, y en VirusTotal, solo dos motores antivirus clasifican como maliciosos los tres ejemplos de sedexp disponibles en el informe.
De acuerdo con Stroz Friedberg, el malware ha sido utilizado para ocultar código de extracción de datos de tarjetas de crédito en servidores web comprometidos, lo que sugiere que está vinculado a ataques con fines económicos.