¿Quien esta llamando? CDRThief apunta a softswitches de VoIP de Linux


Los investigadores de ESET han descubierto y analizado malware que se dirige a los conmutadores de software de voz sobre IP (VoIP).

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 softswitch comprometido, incluido registros de detalles de llamadas (CDR). Los CDR contienen metadatos sobre llamadas VoIP, como direcciones IP de la persona que llama y de la persona que llama, 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 objetivo.

Notamos este malware en uno de nuestros feeds de intercambio de muestra, y como el malware de Linux completamente nuevo es una rareza, llamó nuestra atención. Lo que fue aún más interesante fue que rápidamente se hizo evidente que este malware estaba dirigido a una plataforma VoIP de Linux específica. Su binario ELF fue producido por el compilador Go con 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 cadenas de aspecto sospechoso con XXTEA y la llave fhu84ygf8643y luego los codificó en base64. La Figura 1 muestra parte del código que usa el malware para descifrar estas cadenas en tiempo de ejecución.

Figura 1. La rutina utilizada para descifrar las cadenas del binario

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 encriptada. Sin embargo, el malware Linux / CDRThief todavía puede leerlo y descifrarlo. Por lo tanto, los atacantes demuestran un conocimiento profundo de la plataforma de destino, ya que el algoritmo y las claves de cifrado utilizadas no están documentadas hasta donde sabemos. Significa que los atacantes tuvieron que aplicar ingeniería inversa a los binarios de la plataforma u obtener información sobre el algoritmo de cifrado AES y la clave utilizada en el código Linknat.

Como se ve en la Figura 2, CDRThief se comunica con servidores C&C usando JSON sobre HTTP.

Figura 2. Comunicación de red capturada del malware Linux / CDRThief

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 C&C

Nombre de la función Ruta C&C Propósito
main.pingNet / dataswop / a Comprueba si C&C está vivo
main.getToken / dataswop / API / b Obtiene token
latido del corazón principal / dataswop / API / gojvxs Bucle principal de C&C, llamado cada tres minutos
main.baseInfo / dataswop / API / gojvxs Extrae información básica sobre el sistema Linknat comprometido:
· Dirección MAC
· Cat / proc / versión
· quién soy
· Cat / etc / redhat-release
· UUID de /bin/ibus_10.mo (o / inicio / kunshi / base / ibus_10.mo )
main.upVersion / dataswop / Descargar / actualizarGoGoGoGoGo Se actualiza a la última versión.
main.pushLog / dataswop / API / gojvxs Carga el registro de errores de malware
main.load / dataswop / API / gojvxs Exfiltra diversa información sobre la plataforma:
· SELECCIONE SUM (TABLE_ROWS) FROM information_schema.TABLES WHERE table_name LIKE 'e_cdr_%'
· Gato / etc / motd
· Nombre de usuario, contraseña cifrada, dirección IP de la base de datos
· ACCESS_UUID de server.conf
· Versión del software VOS
main.syslogCall / dataswop / API / gojvxs Exfiltra datos de e_syslog mesas
main.gatewaymapping / dataswop / API / gojvxs Exfiltra datos de e_gatewaymapping mesas
main.cdr / dataswop / API / gojvxs Exfiltra datos de e_cdr mesas

Para extraer 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 pasarelas VoIP (consulte la Figura 3)
  • e_cdr – contiene registros de datos de llamadas (metadatos de llamadas)

Figura 3. Código desensamblado de la función que inicializa una consulta SQL

Datos que se extraerán del e_syslog, e_gatewaymappingy e_cdr Las tablas se comprimen y luego se cifran con una clave pública RSA-1024 codificada antes de la exfiltración. Por lo tanto, solo los autores u operadores de malware pueden descifrar los datos extraídos.

Según la funcionalidad descrita, podemos decir que el objetivo principal del malware es recopilar datos de la base de datos. A diferencia de otras puertas traseras, Linux / CDRThief no tiene soporte para la ejecución de comandos de shell o la extracción de archivos específicos del disco del softswitch comprometido. Sin embargo, estas funciones podrían introducirse en una versión actualizada.

El malware se puede implementar 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 arranque. Sin embargo, debe tenerse en cuenta que una vez que se inicia el malware, intenta lanzar un presente binario legítimo 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 software del conmutador de software Linknat.

En el momento de redactar este artículo, no sabemos cómo se implementa el malware en los dispositivos comprometidos. Especulamos que los atacantes podrían obtener acceso al dispositivo mediante un ataque de fuerza bruta o aprovechando una vulnerabilidad. Estas vulnerabilidades en VOS2009 / VOS3000 se han informado públicamente en el pasado.

Analizamos el malware Linux / CDRThief, que tiene un propósito único para atacar softswitches VoIP específicos. Rara vez vemos softswitches de VoIP dirigidos 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 que utilizan este malware. Sin embargo, dado que este malware exfiltra información confidencial, 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 VoIP y sus puertas de enlace, esta información podría utilizarse para realizar Fraude internacional de participación en los ingresos (IRSF).

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

Nombre de detección de ESET

Linux / CDRThief.A

Mútex basados ​​en archivos

/dev/shm/.bin
/dev/shm/.linux

Archivos creados durante la actualización de malware

/ dev / shm / callservice
/dev/shm/sys.png

Hashes

CC373D633A16817F7D21372C56955923C9DDA825
8E2624DA4D209ABD3364D90F7BC08230F84510DB (empaquetado con UPX)
FC7CCABB239AD6FD22472E5B7BB6A5773B7A3DAC
8532E858EB24AE38632091D2D790A1299B7BBC87 (dañado)

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

Clave de cifrado de filtración (RSA)

—– COMENZAR CLAVE PÚBLICA—–MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCQ3k3GgS3FX4pI7s9x0krBYqbMcSaw4BPY91Ln
tt5 / X8s9l0BC6PUTbQcUzs6PPXhKKTx8ph5CYQqdWynxOLJah0FMMRYxS8d0HX + Qx9eWUeKRHm2E
AtZQjdHxqTJ9EBpHYWV4RrWmeoOsWAOisvedlb23O0E55e8rrGGrZLhPbwIDAQAB
—– FIN PÚBLICO CLAVE—–

Nota: esta tabla fue construida usando versión 7 del marco MITRE ATT & CK.

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Evasión de defensa T1027 Archivos o información ofuscados Linux / CDRThief contiene cadenas de caracteres en la carga útil.
T1027.002 Archivos o información ofuscados: paquete de software Algunas muestras de Linux / CDRThief están empaquetadas con UPX.
Acceso a credenciales T1552.001 Credenciales no seguras: credenciales en archivos Linux / CDRThief lee las credenciales de la base de datos MySQL desde un archivo de configuración.
Descubrimiento T1082 Descubrimiento de información del sistema Linux / CDRThief obtiene información detallada sobre la computadora comprometida.
Colección T1560.003 Archivar datos recopilados: archivar mediante un método personalizado Linux / CDRThief comprime los datos robados con gzip antes de la exfiltración.
Comando y control T1071.001 Protocolo de capa de aplicación: protocolos web Linux / CDRThief utiliza HTTP para comunicarse con el servidor C&C.
Exfiltración T1041 Exfiltración sobre canal C2 Linux / CDRThief exfiltra datos al servidor C&C.





Enlace a la noticia original