ESET reporta malware que tiene como objetivo específico equipos de alto rendimiento

06/02/2021

La compañía de seguridad informática ESET ha lanzado un reporte que describe el análisis realizado a un software malicioso que era desconocido, con una estructura compleja y que opera en múltiples plataformas como Linux, FreeBSD y Solaris, y especulan que posiblemente también en AIX y Windows, al que han nombrado Kobalos (un duende en la mitología griega), el cual tiene como objetivo equipos de cómputo de alto rendimiento (HPC). Los primeros indicios de este malware se reportan desde 2019, aunque la firma menciona que existió actividad del mismo durante 2020 y podría relacionarse con un ataque reportado en mayo pasado por la Grid Infrastructure Computer Security Incident Response Team (EGI-CSIRT) a las universidades de Edimburgo, Cracovia, Shanghai Jiaotong y la China Science and Technology Network.

Kobalos se ha detectado sólo en equipos con características de HPC, por lo que las infecciones detectadas son limitadas a entornos geográficos específicos. En Norteamérica, en un proveedor de software de seguridad, servidores de propósito general e instancias de gobierno; en Europa, en entornos académicos, una agencia de mercadotecnia y un servicio de hosting; mientras que, en Asia, en proveedores de servicios de internet (ISP).

De hecho, este malware se implementa en una sola función en un espacio de hasta 25 KB con 37 acciones identificadas, que le permite llevar a cabo sus tareas por medio de llamadas recursivas a si mismo, de tal forma que no requiere modularizar su funcionamiento.

Si bien, aun no se ha descubierto la finalidad principal y el comportamiento completo de este malware, dado que implementa un sistema de ofuscación a la medida e implementa cifrado asimétrico en sus comunicaciones, se sabe que de forma general inicia y permite el acceso a una pseudoterminal, agrega los equipos víctima a una botnet, consiguiendo iniciar una conexión remota y ejecutar código arbitrario. También permite leer y escribir archivos en cualquier ubicación del sistema de archivos, así como realizar el robo de credenciales SSH (SSH Stealer), pudiendo ser este su vector más probable de distribución.

En cuanto a su integración a una botnet, una de las características principales de Kobalos es que el código que ejecuta el centro de comando y control (C&C) es el malware en sí mismo e incluso funcionar como un proxy del propio malware, de tal forma que los equipos infectados puedan comunicarse con una red externa a través de un mismo equipo. Para mantener la comunicación constante, Kobalos puede:

  1. Abrir un puerto y esperar una conexión entrante (passive backdoor).
  2. Iniciar una conexión de forma activa con una instancia en un equipo infectado
  3. Esperar conexiones de un servicio legítimo, pero por un puerto TCP de origen específico.

Lanzar la puerta trasera requiere que los clientes se autentiquen. Los clientes deben poseer una llave privada RSA de 512 bits y una contraseña. Después que las dos son validadas, Kobalos genera y cifra dos llaves de 16 bytes con la llave pública RSA de 512 bits y se las envía a los atacantes.  Estas dos llaves son usadas para cifrar con RC4 el tráfico de red de entrada y salida.

En lo referente al robo de credenciales instaladas, Kobalos modifica el archivo /usr/bin/ssh, insertando código su código malicioso. La firma ESET especula que el malware compila una nueva versión del binario en cada equipo, lo que dificulta su identificación y facilita la validación de las versiones del software correcto.

Adicionalmente, este malware implementa técnicas para impedir o dificultar el análisis forense en equipos infectados, evitando el volcado de memoria (core-dump), fuerza a ignorar ciertas llamadas al sistema para terminar sus procesos y modifica los MAC times de los archivos involucrados en su operación.

Indicadores de compromiso

En su reporte, ESET menciona los siguientes indicadores en un equipo ya comprometido:

Muestras de Kobalos

Sha-1

Sistema operativo

Dentro de

Conexión

FBF0A76CED2939D1F7EC5F9EA58C5A294207F7FE

RHEL

sshd

Espera conexiones en el puerto 55201

479F470E83F9A5B66363FBA5547FDFCF727949DA

Debian

Archivo individual

Inicia una conexión hacia 151.80.57.191:7070

AFFA12CC94578D63A8B178AE19F6601D5C8BB224

FreBSD

Sshd

Espera conexiones en el puerto 55201

325F24E8F5D56DB43D6914D9234C08C888CDAE50

Ubuntu

sshd

Espera conexiones en el puerto 55201

A4050A8171B0FA3AE9031E0F8B7272FACF04A3AA

Arch Linux

sshd

Espera conexiones en el puerto 55201

 

Software de robo de credenciales

Sha-1

Sistema operativo

Pid de escritura

6616DE799B5105EE2EB83BBE25C7F4433420DFF7

RHEL

/var/run/nscd/ns.pid

E094DD02CC954B6104791925E0D1880782B046CF

RHEL

/var/run/udev/ud.pid

1DD0EDC5744D63A731DB8C3B42EFBD09D91FED78

FreeBSD

/var/run/udevd.pid

C1F530D3C189B9A74DBE02CFEB29F38BE8CA41BA

Arch Linux

/var/run/nscd/ns.pid

659CBDF9288137937BB71146B6F722FFCDA1C5FE

Ubuntu

/var/run/sshd/sshd.pid

 

Llave pública RSA

-----BEGIN PUBLIC KEY-----

MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOUgD8sEF1kZ04QxCd60HrB+TxWnLQED

wzb0sZ8vMMD6xnUAJspdYzSVDnRnKYjTOM43qtLNcJOwVj6cuC1uHHMCAwEAAQ==

-----END PUBLIC KEY-----

Llave estática RC4 para cadenas

AE0E05090F3AC2B50B1BC6E91D2FE3CE

 

Referencias

https://www.welivesecurity.com/wp-content/uploads/2021/01/ESET_Kobalos.pdf

https://www.welivesecurity.com/wp-content/uploads/2018/12/ESET-The_Dark_Side_of_the_ForSSHe.pdf

https://www.cadosecurity.com/post/recent-attacks-against-supercomputers

 

La Coordinación de Seguridad de la Información/UNAM-CERT agradece el apoyo en la elaboración o traducción y revisión de este Documento a:

  • Sergio Anduin Tovar Balderas (anduin dot tovar at cert dot unam dot mx)
  • Manuel I. Quintero Martínez (manuel dot quintero at cert dot unam dot mx)

UNAM-CERT