Kobalos: una amenaza compleja de Linux para la infraestructura informática de alto rendimiento


Los investigadores de ESET publican un informe técnico sobre un malware multiplataforma único al que llamaron Kobalos

Los investigadores de ESET han analizado el malware que se ha dirigido a clústeres de computación de alto rendimiento (HPC), entre otros objetivos de alto perfil. Realizamos ingeniería inversa de este malware pequeño, aunque complejo, que es portátil para muchos sistemas operativos, incluidos Linux, BSD, Solaris y posiblemente AIX y Windows. Hemos llamado a este malware Kobalos por su pequeño tamaño de código y muchos trucos; en la mitología griega, un Kobalos es una criatura pequeña y traviesa. Hoy publicamos un artículo titulado “Aparece un Kobalos salvaje: el malware Tricksy Linux persigue a las HPC”Que describe el funcionamiento interno de esta amenaza.

Quizás sin relación con los eventos que involucraron a Kobalos, hubo varios incidentes de seguridad relacionados con clústeres de HPC en el último año. Algunos golpear la prensa y los detalles se hicieron públicos en un aviso del CSIRT de European Grid Infrastructure (EGI) sobre casos en los que se desplegaron mineros de criptomonedas. El aviso EGI CSIRT muestra que en estos ataques se utilizaron servidores comprometidos en Polonia, Canadá y China. Los artículos de prensa también mencionan a Archer, una supercomputadora con sede en el Reino Unido violada donde se robaron las credenciales SSH, pero no contienen detalles sobre qué malware se usó, si lo hubo.

Hemos trabajado con el equipo de seguridad informática del CERN y otras organizaciones involucradas en la mitigación de ataques a redes de investigación científica. Según ellos, el uso del malware Kobalos es anterior a los otros incidentes. Si bien sabemos que Kobalos comprometió grandes clústeres de HPC, nadie pudo vincular los incidentes de Kobalos con el uso de malware de criptomonedas. El malware y las técnicas descritas en estos otros ataques son diferentes. También sabemos que Kobalos no se dirige exclusivamente a las HPC: descubrimos que un gran ISP asiático, un proveedor de seguridad de punto final de América del Norte (no nosotros), así como algunos servidores personales, también se vieron comprometidos por esta amenaza.

Pequeño código, grandes objetivos

Un análisis exhaustivo de Kobalos reveló que a veces es posible determinar de forma remota si un sistema está comprometido al conectarse al servidor SSH utilizando un TCP específico fuente Puerto. Usando ese conocimiento, los investigadores de ESET escanearon Internet para encontrar víctimas potenciales. Pudimos identificar múltiples objetivos de Kobalos, incluidos los sistemas HPC.

Figura 1. Industria y región de organizaciones comprometidas

Notificamos a todas las víctimas identificadas y trabajamos con ellas para remediarlas.

La puerta de atrás

Kobalos es una puerta trasera genérica en el sentido de que contiene comandos amplios que no revelan la intención de los atacantes. En resumen, Kobalos otorga acceso remoto al sistema de archivos, brinda la capacidad de generar sesiones de terminal y permite conexiones de proxy a otros servidores infectados por Kobalos.

Figura 2. Descripción general de las funciones de Kobalos y formas de acceder a ellas

Los operadores tienen varias formas de llegar a una máquina infectada con Kobalos. El método que más hemos visto es donde Kobalos está incrustado en el ejecutable del servidor OpenSSH (sshd) y activará el código de puerta trasera si la conexión proviene de un puerto de origen TCP específico. Hay otras variantes independientes que no están integradas en sshd. Estas variantes se conectan a un servidor C&C que actuará como intermediario o esperan una conexión entrante en un puerto TCP determinado.

Algo que hace único a Kobalos es el hecho de que el código para ejecutar un servidor C&C está en el propio Kobalos. Los operadores pueden convertir cualquier servidor comprometido por Kobalos en un servidor C&C enviando un solo comando. Como las direcciones IP y los puertos del servidor C&C están codificados en el ejecutable, los operadores pueden generar nuevas muestras de Kobalos que utilizan este nuevo servidor C&C.

El compañero

En la mayoría de los sistemas comprometidos por Kobalos, el cliente SSH está comprometido para robar credenciales. Este ladrón de credenciales no se parece a ninguno de los clientes maliciosos de OpenSSH que hemos visto antes, y hemos analizado decenas de ellos en el pasado ocho años. La sofisticación de este componente no es la misma que la del propio Kobalos: no se hizo ningún esfuerzo por ocultar las primeras variantes del ladrón de credenciales. Por ejemplo, las cadenas se dejaron sin cifrar y los nombres de usuario y las contraseñas robados simplemente se escriben en un archivo en el disco. Sin embargo, encontramos variantes más nuevas que contienen cierta ofuscación y la capacidad de filtrar credenciales a través de la red.

La presencia de este ladrón de credenciales puede responder parcialmente cómo se propaga Kobalos. Cualquiera que use el cliente SSH de una máquina comprometida tendrá sus credenciales capturadas. Los atacantes pueden utilizar esas credenciales para instalar Kobalos en el servidor recién descubierto más tarde.

Como se esconde

Analizar Kobalos no es tan trivial como la mayoría de los programas maliciosos de Linux porque todo su código se mantiene en una única función que se llama a sí misma de forma recursiva para realizar subtareas.

Figura 3. Diagrama de flujo de control de Kobalos

Esto hace que sea más difícil de analizar. Además, todas las cadenas están encriptadas, por lo que es más difícil encontrar el código malicioso que cuando se examinan las muestras de forma estática.

El uso de la puerta trasera requiere una clave RSA privada de 512 bits y una contraseña de 32 bytes. Una vez autenticadas, las claves RC4 se intercambian y el resto de la comunicación se cifra con ellas.

El protocolo de red se resume en el diagrama de secuencia.

Figura 4. Diagrama de secuencia que resume los protocolos de red de Kobalos

Remediación

Los productos de ESET detectan el malware Kobalos como Linux / Kobalos o Linux / Agent.IV. El ladrón de credenciales SSH se detecta como Linux / SSHDoor.EV, Linux / SSHDoor.FB o Linux / SSHDoor.FC. Una regla YARA también está disponible en ESET repositorio de malware-ioc en GitHub.

Desde una perspectiva de red, es posible detectar Kobalos buscando tráfico no SSH en el puerto atribuido a un servidor SSH. Cuando la puerta trasera de Kobalos se comunica con un operador, no hay un banner SSH (SSH-2.0-…) intercambiados, ni del cliente ni del servidor.

Tenemos sugerido antes de configurar la autenticación de dos factores (2FA) para conectarse a servidores SSH. Kobalos es otro caso en el que 2FA podría haber mitigado la amenaza, ya que el uso de credenciales robadas parece ser una de las formas en que se puede propagar a diferentes sistemas.

Conclusión

No pudimos determinar las intenciones de los operadores de Kobalos. Los administradores del sistema de las máquinas comprometidas no encontraron ningún otro malware, excepto el ladrón de credenciales SSH. Tampoco tuvimos acceso a las capturas de tráfico de red de los operadores en acción.

La forma en que Kobalos está firmemente contenido en una sola función y el uso de un puerto abierto existente para llegar a Kobalos hace que esta amenaza sea más difícil de encontrar. Esperemos que los detalles que revelamos hoy en nuestra nueva publicación ayuden a crear conciencia sobre esta amenaza y a poner su actividad bajo el microscopio. Este nivel de sofisticación rara vez se ve en el malware de Linux. Dado que es más avanzado que el promedio y que comprometió organizaciones bastante grandes, Kobalos puede estar corriendo por un tiempo.

Se puede encontrar una lista completa de indicadores de compromiso (IoC) y ejemplos en nuestro repositorio de GitHub.

Para cualquier consulta o para hacer presentaciones de muestra relacionadas con el tema, contáctenos en amenazaintel@eset.com.

Nos gustaría agradecer el trabajo de Maciej Kotowicz de MalwareLab.pl quien también analizó a Kobalos de forma independiente y con quien compartimos resultados mutuamente. S.E presentado sobre esta amenaza en la conferencia Oh My H @ ck 2020.

Técnicas MITRE ATT & CK

Esta mesa fue construida usando versión 8 del marco ATT & CK.

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Persistencia T1554 Compromiso del software cliente binario Kobalos puede incrustar su carga útil maliciosa en el servidor OpenSSH y reemplazar el archivo legítimo (sshd).
Kobalos reemplaza al cliente SSH en sistemas comprometidos para robar credenciales.
T1205 Señalización de tráfico Kobalos puede activarse por una conexión TCP entrante a un servicio legítimo desde un puerto de origen específico.
Evasión de defensa T1070.003 Borrar historial de comandos No se encontró ningún historial de comandos relacionado con el ataque en las máquinas infectadas con Kobalos.
T1070.006 Timestomp Cuando los archivos son reemplazados por operadores de Kobalos, las marcas de tiempo se falsifican.
T1027.002 Embalaje de software El código de Kobalos se aplana en una sola función usando un empaquetador personalizado y sus cadenas están encriptadas.
Comando y control T1573.001 Canal cifrado: criptografía simétrica El canal de comunicación posterior a la autenticación de Kobalos está encriptado con RC4.
T1573.002 Canal cifrado: criptografía asimétrica La autenticación y el intercambio de claves de Kobalos se realizan mediante RSA-512.
T1090.003 Proxy: Proxy de varios saltos Kobalos puede servir como un proxy para otros sistemas comprometidos con Kobalos.





Enlace a la noticia original