ESET reporta malware que tiene como objetivo específico equipos de alto rendimiento
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:
- Abrir un puerto y esperar una conexión entrante (passive backdoor).
- Iniciar una conexión de forma activa con una instancia en un equipo infectado
- 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