La novedosa amenaza roba datos y puede afectar a todos los procesos que se ejecutan en el sistema operativo, robando información de diferentes comandos y utilidades para luego almacenarla en la máquina afectada.
Un malware furtivo para Linux está robando datos de los dispositivos y puede afectar a todos los procesos que se ejecutan en una determinada máquina, según han descubierto los investigadores.
El malware, apodado Orbit, se diferencia de otras amenazas para Linux en que roba información de diferentes comandos y utilidades y luego la almacena en archivos específicos de la máquina, según descubrieron los investigadores de la empresa de automatización de seguridad Intezer. De hecho, el nombre del malware proviene de uno de los nombres de archivo que almacena temporalmente la salida de los comandos ejecutados, dijeron.
Orbit puede lograr la persistencia en una máquina o instalarse como implante volátil, explicó Nicole Fishbein, de Intezer, en una entrada de blog sobre Orbit publicada esta semana.
El malware se distingue de otras amenazas similares por su «enganche casi hermético» de las bibliotecas en las máquinas objetivo, lo que le permite ganar persistencia y evadir la detección mientras roba información y establece una puerta trasera SSH, dijo.
«El malware implementa técnicas avanzadas de evasión y gana persistencia en la máquina enganchando funciones clave, proporciona a los actores de la amenaza capacidades de acceso remoto a través de SSH, cosecha credenciales y registra comandos TTY», escribió Fishbein en el post.
Además, una vez que Orbit se instala, infecta todos los procesos en ejecución en la máquina, incluidos los nuevos, dijo.
Diferenciarse de los demás
Normalmente, las amenazas existentes en Linux, como Symbiote y HiddenWasp, secuestran las bibliotecas compartidas de Linux modificando la variable de entorno LD_PRELOAD. Sin embargo, Orbit funciona de manera diferente, utilizando dos formas distintas de cargar la biblioteca maliciosa, escribió Fishbein.
«La primera forma es añadiendo el objeto compartido al archivo de configuración que utiliza el cargador», explicó en el post. «La segunda forma es parcheando el binario del propio cargador para que cargue el objeto compartido malicioso».
En concreto, Orbit utiliza cadenas cifradas XOR y roba contraseñas, tácticas que son similares a otras puertas traseras de Linux ya reportadas por los investigadores de ESET, escribió Fishbein.
Pero ahí termina la similitud con la forma en que esos backdoors secuestran bibliotecas, dijo. Orbit va un paso más allá, ya que no sólo roba información de diferentes comandos y utilidades, sino que implementa «un amplio uso de archivos» para almacenar los datos robados, algo que los investigadores no habían visto antes, escribió Fishbein.
Instalación y ejecución
Orbit se carga en una máquina o dispositivo Linux a través de un dropper que no sólo instala la carga útil sino que también prepara el entorno para la ejecución del malware.
Para instalar la carga útil y añadirla a las bibliotecas compartidas que están siendo cargadas por el enlazador dinámico, el dropper llama a una función llamada patch_ld y luego al enlace simbólico del enlazador dinámico /lib64/ld-linux-x86-64.so.2. Esto último se hace para comprobar si la carga útil maliciosa ya está cargada buscando la ruta utilizada por el malware, dijeron los investigadores.
Si se encuentra la carga útil, la función puede cambiarla por la otra ubicación, señalaron. De lo contrario, el dropper busca /etc/ld.so.preload y lo sustituye por un enlace simbólico a la ubicación de la biblioteca maliciosa: /lib/libntpVnQE6mk/.l o /dev/shm/ldx/.l, dependiendo del argumento que se le pase al dropper.
Por último, el dropper añadirá /etc/ld.so.preload al final del archivo temporal para asegurarse de que la biblioteca maliciosa se cargue en primer lugar, según los investigadores.
La carga útil en sí es un objeto compartido (archivo .SO) que puede colocarse en el almacenamiento persistente o en la memoria shim. «Si se coloca en la primera ruta el malware será persistente, de lo contrario será volátil», escribió Fishbein.
El objeto compartido engancha funciones de tres bibliotecas: libc, libcap y Pluggable Authentication Module (PAM). Una vez hecho esto, los procesos existentes que usan estas funciones utilizarán esencialmente las funciones modificadas, y los nuevos procesos se engancharán también con la biblioteca maliciosa, descubrieron los investigadores.
Este enganche permite al malware infectar toda la máquina y cosechar credenciales, evadir la detección, ganar persistencia y proporcionar acceso remoto a los atacantes, escribió Fishbein.
Tácticas de evasión
Orbit también engancha múltiples funciones como estrategia para evadir la detección, impidiendo así que liberen información que pueda revelar la existencia de la librería compartida maliciosa, ya sea en los procesos en ejecución o en los archivos en uso por Orbit, señalaron los investigadores.
«El malware utiliza un valor GID codificado (el establecido por el dropper) para identificar los archivos y procesos que están relacionados con el malware y en base a ello manipulará el comportamiento de las funciones enganchadas», escribió Fishbein. En Linux, un GID es un valor numérico utilizado para representar a un grupo específico.
Como ejemplo de esta funcionalidad, Orbit engancha readdir -una función de Linux que devuelve un puntero a una estructura dirent que describe la siguiente entrada de directorio en el flujo de directorios asociado a dirp- para comprobar el GID del proceso que lo llama, explicó.
«Si no coincide con el valor codificado, todos los directorios con el valor GID predefinido se omitirán de la salida de la función», escribió Fishbein.