Este nuevo malware que hemos descubierto y denominado CDRThief está diseñado para apuntar a una plataforma VoIP muy específica, utilizada por dos softswitches (conmutadores de software) producidos en China: Linknat VOS2009 y VOS3000. Un softswitch es un elemento central de una red VoIP que proporciona control, facturación y administración de llamadas. Estos softswitches son soluciones basadas en software que se ejecutan en servidores Linux estándar.
El objetivo principal del malware es exfiltrar varios datos privados de un conmutador de software comprometido, incluidos los registros de detalles de llamadas (CDR). Los CDR contienen metadatos sobre llamadas VoIP, como direcciones IP de quien llama y de quien recibe la llamada, hora de inicio de la llamada, duración de la llamada, tarifa de llamada, etc.
Para robar estos metadatos, el malware consulta las bases de datos internas de MySQL que utiliza el softswitch. Por lo tanto, los atacantes demuestran un buen conocimiento de la arquitectura interna de la plataforma a la que apuntan.
Análisis de Linux/CDRThief
Notamos este malware en uno de nuestros feeds de intercambio de muestras, y llamó nuestra atención dado que es una rareza encontrar un malware para Linux completamente nuevo. Lo que fue aún más interesante fue que rápidamente se hizo evidente que este malware apuntaba a una plataforma VoIP de Linux específica. Su binario ELF fue producido por el compilador Go y contiene los símbolos de depuración sin modificar, lo que siempre es útil para el análisis.
Para ocultar la funcionalidad maliciosa del análisis estático básico, los autores cifraron todas las strings de aspecto sospechoso con XXTEA y la clave fhu84ygf8643, y luego las codificaron en base64. La Figura 1 muestra parte del código que usa el malware para descifrar estas strings en tiempo de ejecución.
Para acceder a los datos internos almacenados en la base de datos MySQL, el malware lee las credenciales de los archivos de configuración Linknat VOS2009 y VOS3000 que intenta ubicar en las siguientes rutas:
- /usr/kunshi/vos2009/server/etc/server_db_config.xml
- /usr/kunshi/vos3000/server/etc/server_db_config.xml
- /home/kunshi/vos2009/server/etc/server_db_config.xml
- /home/kunshi/vos3000/server/etc/server_db_config.xml
- /home/kunshi/vos2009/etc/server_db_config.xml
- /home/kunshi/vos3000/etc/server_db_config.xml
- /usr/kunshi/vos2009/server/etc/serverdbconfig.xml
- /usr/kunshi/vos3000/server/etc/serverdbconfig.xml
Curiosamente, la contraseña del archivo de configuración se almacena cifrada. Sin embargo, el malware Linux/CDRThief todavía es capaz de leerlo y descifrarlo. Por lo tanto, los atacantes demuestran un conocimiento profundo de la plataforma a la que apuntan, ya que hasta donde sabemos el algoritmo y las claves de cifrado utilizadas no han sido documentadas. Significa que los atacantes tuvieron que aplicar ingeniería inversa a los binarios de la plataforma u obtener información en el código de Linknat sobre el algoritmo de cifrado AES y la clave utilizada.
Como se observa en la Figura 2, CDRThief se comunica con servidores C&C usando JSON sobre HTTP.
Hay múltiples funciones en el código de Linux/CDRThief que se utilizan para la comunicación con los servidores C&C. La Tabla 1 contiene los nombres originales de estas funciones utilizadas por los autores del malware.
Tabla 1. Funciones utilizadas para la comunicación con el C&C
Para exfiltrar datos de la plataforma, Linux/CDRThief ejecuta consultas SQL directamente a la base de datos MySQL. Principalmente, el malware está interesado en tres tablas:
- e_syslog – contiene el registro de eventos del sistema
- e_gatewaymapping – contiene información sobre las puertas de enlace VoIP (consulte la Figura 3)
- e_cdr – contiene registros de datos de llamadas (metadatos de llamadas)
Los datos que serán exfiltrados de las tablas e_syslog, _gatewaymapping y e_cdr son comprimidos y luego cifrados con una clave pública RSA-1024 hardcodeada antes de la exfiltración. Por lo tanto, solo los autores u operadores de malware pueden descifrar los datos extraídos.
Sobre la base de la funcionalidad descrita, podemos decir que el foco principal del malware es recopilar datos de la base de datos. A diferencia de otros backdoors, Linux/CDRThief no admite la ejecución de comandos de shell ni la exfiltración de archivos específicos del disco del softswitch comprometido. Sin embargo, estas funciones podrían introducirse en una nueva versión.
El malware puede ser distribuido en cualquier ubicación del disco con cualquier nombre de archivo. Se desconoce qué tipo de persistencia se utiliza para iniciar el binario malicioso en cada inicio. Sin embargo, debe tenerse en cuenta que una vez que se inicia el malware, intenta lanzar un binario legítimo presente en la plataforma Linknat VOS2009/VOS3000 usando el siguiente comando:
exec -a ‘/home/kunshi/callservice/bin/callservice -r /home/kunshi/.run/callservice.pid’
Esto sugiere que el binario malicioso podría insertarse de alguna manera en una cadena de inicio regular de la plataforma para lograr la persistencia y posiblemente enmascararse como un componente del softswitch de Linknat.
Al momento de escribir este artículo, no sabemos cómo se distribuye el malware en los dispositivos comprometidos. Especulamos que los atacantes podrían obtener acceso al dispositivo mediante un ataque de fuerza bruta o explotando una vulnerabilidad. Tales vulnerabilidades en VOS2009/VOS3000 han sido reportadas públicamente en el pasado.
Conclusión
Analizamos el malware Linux/CDRThief, que tiene como único propósito atacar softswitches VoIP específicos. Rara vez vemos softswitches VoIP ser apuntados por actores de amenazas; esto hace que el malware Linux/CDRThief sea interesante.
Es difícil saber cuál es el objetivo final de los atacantes detrás de este malware. Sin embargo, dado que este malware exfiltra información sensible, incluidos los metadatos de llamadas, parece razonable suponer que el malware se utiliza para el ciberespionaje. Otro posible objetivo de los atacantes que utilizan este malware es el fraude de VoIP. Dado que los atacantes obtienen información sobre la actividad de los softswitches de VoIP y sus puertas de enlace, esta información podría usarse para realizar Fraude Internacional de Revenue Share (IRSF).
Indicadores de Compromiso
Nombre de detección de ESET
Linux/CDRThief.A
Mutex basados en archivos
/dev/shm/.bin
/dev/shm/.linux
Archivos creados durante actualización del malware
/dev/shm/callservice
/dev/shm/sys.png
Hashes
CC373D633A16817F7D21372C56955923C9DDA825
8E2624DA4D209ABD3364D90F7BC08230F84510DB (UPX packed)
FC7CCABB239AD6FD22472E5B7BB6A5773B7A3DAC
8532E858EB24AE38632091D2D790A1299B7BBC87 (Corrupted)
C&C
http://119.29.173[.]65
http://129.211.157[.]244
http://129.226.134[.]180
http://150.109.79[.]136
http://34.94.199[.]142
http://35.236.173[.]187
Llave de cifrado (RSA) de exfiltración
—–BEGIN PUBLIC KEY—–MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCQ3k3GgS3FX4pI7s9x0krBYqbMcSaw4BPY91Ln
tt5/X8s9l0BC6PUTbQcUzs6PPXhKKTx8ph5CYQqdWynxOLJah0FMMRYxS8d0HX+Qx9eWUeKRHm2E
AtZQjdHxqTJ9EBpHYWV4RrWmeoOsWAOisvedlb23O0E55e8rrGGrZLhPbwIDAQAB
—–END PUBLIC KEY—–
Técnicas de MITRE ATT&CK
Nota: esta tabla fue creada utilizando la versión 7 del framework de MITRE ATT&CK.
Fuente y redacción: Anton Cherepanov / welivesecurity.com