Regin: Redes GSM bajo control gubernamental

Lema: “Cuidado con Regin, ¡el maestro! Su corazón está emponzoñado. Él será tu perdición…”
“La historia de Sigfrido”, de James Baldwin.

Introducción, historia

Descarga este documento completo en PDF

En la primavera de 2012, después de una presentación de Kaspersky Lab sobre los hechos inusuales alrededor del programa malicioso Duqu, un investigador en seguridad nos contactó y mencionó que Duqu le recordaba a otro incidente renombrado con un programa malicioso. Aunque no podía compartir una copia, mencionó el nombre "Regin", un ataque ahora temido por muchos administradores de seguridad en agencias gubernamentales en todo el mundo.

En el último par de años, hemos estado siguiendo este elusivo programa malicioso por todo el mundo. De tanto en tanto aparecían muestras en varios servicios multiescáner, pero no tenían nada que ver una con otra, sus funciones estaban cifradas y carecían de contexto.

No se sabe exactamente cuándo se crearon las primeras muestras de Regin. Algunas tienen marcas de tiempo que datan de 2013.

Las víctimas de Regin se dividen en estas categorías:

  • Operadores de telecomunicaciones
  • Instituciones gubernamentales
  • Entidades políticas multinacionales
  • Instituciones financieras
  • Instituciones de investigación
  • Personas involucradas en la investigación avanzada de matemáticas/criptografía.

Hasta ahora, hemos observado que los atacantes tienen dos objetivos principales:

  • Recopilar inteligencia
  • Facilitar otro tipo de ataques

Mientras en la mayoría de los casos los atacantes se concentraron en la extracción de información confidencial, como mensajes de correo y documentos, hemos visto casos en los que los atacantes llegaron a comprometer a operadores de telecomunicaciones para poder lanzar otros ataques sofisticados.En la siguiente sección, Ataques GSM, tratamos esto más en detalle.

Quizás una de las víctimas públicas más reconocidas de Regin sea Jacques Quisquater, un respetado criptógrafo belga. En febrero de 2014, Quisquater anunció que fue víctima de una sofisticada ciberintrusión. Pudimos obtener muestras del caso Quisquater y confirmamos que pertenecían a la plataforma Regin.

Otra víctima llamativa de Regin es un ordenador al que llamamos “El imán de amenazas”. Este ordenador pertenece a una institución de investigación y ha sido atacado por Turla, Mask/Careto, Regin, Itaduke, Animal Farm y otras avanzadas amenazas que no tienen un nombre conocido, y todos coexisten felizmente en el mismo ordenador en algún punto.

Ataque inicial y movimiento lateral

El método exacto del ataque inicial sigue siendo un misterio, aunque existen varias teorías, como la del hombre-en-el-medio con exploits día-cero en el navegador. Para algunas de las víctimas, hemos observado herramientas y módulos diseñados para movimientos laterales. Hasta ahora, no hemos encontrado ningún exploit. Los módulos de replicación se copian a equipos remotos mediante los recursos administrativos de Windows, y después se ejecutan. Obviamente, esta técnica requiere de privilegios administrativos dentro de la red de la víctima. En varios casos, los equipos infectados también eran controladores de dominio de Windows. Los ataques contra los recursos administrativos mediante exploits desde la web son una forma sencilla de lograr inmediato acceso administrativo a la red completa.

La plataforma Regin

En resumen, Regin es una plataforma de ciberataques que los atacantes implementan en las redes de sus víctimas para controlarlas por control remoto en todos los niveles posibles.

La plataforma es de naturaleza extremadamente modular y tiene múltiples etapas.

Diagrama de la plataforma Regin

La primera etapa (“stage 1”) es generalmente el único archivo ejecutable que aparecerá en el sistema de la víctima. Las posteriores etapas se guardan directamente en el disco duro (para sistemas 64-bit), como Atributos ampliados NTFS o como entradas de registro. Hemos observado muchos módulos diferentes de etapa 1, que a veces se han fusionado con recursos públicos para alcanzar un tipo de polimorfismo, lo que complica el proceso de detección.

La segunda etapa tiene múltiples propósitos y puede eliminar la infección Regin del sistema si así se le instruye en la tercera etapa.

La segunda etapa también crea un archivo marcador que puede servir para identificar al equipo infectado. Los nombres de archivo conocidos para este marcador son:

  • %SYSTEMROOT%system32nsreg1.dat
  • %SYSTEMROOT%system32bssec3.dat
  • %SYSTEMROOT%system32msrdc64.dat

La tercera etapa sólo existen en los sistemas 32-bit; en los sistemas 64-bit, la segunda etapa carga directamente el despachador, prescindiendo así de la tercera etapa.

Etapa 4, el despachador, es quizás el módulo individual más complejo de toda la plataforma. El despachador es el modo usuario núcleo del marco. Se carga directamente como la tercera etapa del proceso de arranque o se extrae y carga desde el VFS como módulo 50221 como la cuarta etapa en los sistemas 32-bit.

El despachador se encarga de las tareas más complicadas de la plataforma Regin, como proporcionar un API para acceder a sistemas de archivos virtuales, comunicaciones básicas, funciones de almacenamiento, y subrutinas de transporte en la red. En esencia, el despachador es el cerebro que gestiona toda la plataforma.

Una descripción detalla de todas las etapas del malware se encuentran en nuestro documento técnico completo.

Sistemas de archivos virtuales (32/64-bit)

El código más interesante de la plataforma Regin se guarda en almacenamientos de archivos cifrados, conocidos como Sistemas de archivos virtuales (VFS).

Durante nuestro análisis pudimos obtener 24 VFS desde múltiples víctimas alrededor del mundo. Por lo general, tienen nombres aleatorios y pueden localizarse en varios lugares en el sistema infectado. Para acceder a la lista completa, incluyendo el formato de los FFS de Regin VFSes, consulte nuestro documento técnico.

Módulos y artefactos inusuales

Con grupos APT de alto nivel, como el que opera Regin, los errores son muy raros. Sin embargo, ocurren. Algunos de los VFS que analizamos contenían palabras que parecen ser los respectivos nombres de códigos de los módulos implementados en el equipo capturado:

  • legspinv2.6 y LEGSPINv2.6
  • WILLISCHECKv2.0
  • HOPSCOTCH

Otro módulo que encontramos, un complemento tipo 55001.0 se relaciona con otro nombre de código, que es U_STARBUCKS:

Ataques GSM

El aspecto más interesante que hemos encontrado hasta ahora sobre Regin está relacionado con una infección en un importante operador GSM. Una entrada VFS cifrada que descubrimos tenía una identificación interna 50049.2 y parece ser un registro de actividades en un Controlador de Estación de Base GSM.

De: https://en.wikipedia.org/wiki/Base_station_subsystem

De acuerdo con la documentación GSM (http://www.telecomabc.com/b/bsc.html): “El Controlador de Estación de Base (BSC) controla y supervisa varias Estaciones Transceptoras de Base (BTS). El BSC es responsable de la asignación de recursos de radio a las llamadas móviles y de las transferencias que se realizan entre las estaciones de base bajo su control. Otras transferencias están controladas por el MSC”.

Esta es una vista del registro descifrado de actividades GSM en Regin:

Este registro tiene un tamaño de 70KB y contiene cientos de entradas como las que se muestran arriba. También incluye marcas de tiempo que indican exactamente cuándo se ejecutó el comando.

Las entradas en el registro parecen contener comandos OSS MML de Ericsson lenguaje hombre-máquina definido por ITU-T.

Esta es una lista de algunos comandos publicada en el Controlador de Estación de Base, junto a algunas marcas de tiempo:

Descripciones de los comandos:

  • rxmop – verifica la versión del software;
  • rxmsp – lista de los ajustes actuales de transferencias de llamadas de la Estación Móvil;
  • rlcrp – lista de los ajustes de transferencias de llamadas para el Controlador de Estación de Base;
  • rxble – activa (desbloquea) la transferencia de llamadas;
  • rxtcp – muestra el Grupo Transreceptor de una determinada célula;
  • allip – muestra alarmas externas;
  • dtstp – muestra los ajustes DIgital Path (DIP) (DIP es el nombre de la función que se usa para la supervisión de las líneas PCM (Pulse Code Modulation) conectadas);
  • rlstc – activa células en la red GSM;
  • rlstp – desactiva células en la red GSM;
  • rlmfc – añade frecuencias a la lista de asignación de canales de control de transmisión activa;
  • rlnri – añade la célula neightbour;
  • rrtpp – muestra detalles del pool de transmisiones del transcodificador;

El registro parece contener no sólo los comandos ejecutados, sino también los usuarios y contraseñas de algunas cuentas de ingeniería:

sed[snip]:Alla[snip] hed[snip]:Bag[snip] oss:New[snip] administrator:Adm[snip] nss1:Eric[snip]

En total, el registro indica que los comandos se ejecutaron en 136 células distintas. Algunos nombres de células incluyen "prn021a, gzn010a, wdk004, kbl027a, etc…". El registro de comandos que obtuvimos cubre un periodo aproximado de un mes, desde el 25 de abril de 2008 al 27 de mayo de 2008. No se sabe por qué los comandos se detuvieron en mayo de 2008; quizás debido a una desinfección o los atacantes lograron su objetivo y se fueron. Otra posible explicación es que los atacantes mejoraron o cambiaron el malware para dejar de guardar registros localmente, y esa sería la razón por la que descubrimos sólo algunos registros antiguos.

Comunicación y servidor C&C

El mecanismo C&C implementado en Regin es extremadamente sofisticado y se basa en drones de comunicación desplegados por los atacantes a través de las redes de sus víctimas. La mayor parte de las víctimas se comunica con otros equipos en su propia red interna, a través de varios protocolos, como se especifica en el archivo config. Estos protocolos incluyen HTTP y tuberías de red de Windows. El propósito de esta compleja infraestructura es lograr dos metas: darles a los atacantes acceso profundo a la red, evitando potenciales vacíos de aire y restringir en lo posible el tráfico al C&C.

Esta es una vista de las configuraciones descifradas:

En la tabla de arriba, vemos configuraciones extraídas de varias víctimas que conectan equipos infectados en lo que parecen ser redes virtuales: 17.3.40.x, 50.103.14.x, 51.9.1.x, 18.159.0.x. Una de estas rutas llega al servidor C&C “externo” en 203.199.89.80.

Los números inmediatamente después del “transporte” indican el complemento que controla la comunicación. En nuestro caso, son:

  • 27 – Oyente de red ICMP usando sockets básicos
  • 50035 – transporte de red con base Winsock
  • 50037 – Transporte de red por HTTP
  • 50051 – Transporte de red por HTTPS
  • 50271 – Transporte de res por SMB (tuberías nombradas)

Los equipos localizados en el borde de la red actúan como routers, conectando las víctimas desde el interior de la red con C&Cs en Internet.

Después de descifrar todas las configuraciones que recopilamos, pudimos identificar los siguientes C&Cs externos:

C&C server IP Localización Descripción
61.67.114.73 Taiwán, Provincia de China Taichung Chwbn
202.71.144.113 India, Chetput Chennai Network Operations (team-m.co)
203.199.89.80 India, Thane Proveedor de servicios de Internet
194.183.237.145 Bélgica, Bruselas Perceval S.a.

Un caso particular incluye un país en el Medio Oriente. Este caso fue asombroso, por lo que preferimos presentarlo. En este país específico, todas las víctimas que identificamos se comunican entre sí, formando una red peer-to-peer. Esta red P2P incluye la presidencia, el centro de investigación, una red de educación y un banco.

Las víctimas están diseminadas por el país y están interconectadas entre sí. Una de ellas contiene un dron de traducción que tiene la habilidad de enviar paquetes fuera del país, al C&C en India.

Esto representa un mecanismo de comando y control bastante interesante, diseñado para no levantar sospechas. Por ejemplo, si todos los comandos a la presidencia se envían por la red del banco, entonces todo el tráfico malicioso visible para los administradores de sistemas de la presidencia será sólo con el banco, en el mismo país.

Estadísticas de las víctimas

En los dos últimos años, hemos recopilado datos estadísticos sobre los ataques y las víctimas de Regin. Ayudó el hecho de que incluso después de que se desinstalara el malware, quedaron algunos artefactos que nos ayudaron a identificar un sistema infectado (pero limpio). Por ejemplo, hemos visto varios casos en los que los sistemas se limpiaban, pero el marcador de la infección “msrdc64.dat” permanecía.

Hasta ahora, las víctimas de Regin se identificaron en 14 países:

  • Argelia
  • Afganistán
  • Bélgica
  • Brasil
  • Fiyi
  • Alemania
  • Irán
  • India
  • Indonesia
  • Kiribati
  • Malasia
  • Paquistán
  • Rusia
  • Siria

En total, contamos 27 víctimas diferentes, aunque debemos mencionar que la definición de víctima que aquí empleamos se refiere a una entidad completa, incluyendo toda su red. La cantidad de PCs únicos infectados con Regin es, por supuesto, muchísimo mayor.

En el mapa de arriba, Fiyi y Kiribati son inusuales, porque casi nunca hemos visto un malware tan avanzado en países pequeños tan remotos. En particular, la víctima en Kiribati es de lo más inusual. Para ponerla en contexto, Kiribati es una pequeña isla en el océano Pacífico con una población de unos 100.000 habitantes.

Para más información sobre las víctimas de Regin consulta con Kaspersky Intelligent Services. Contacto:intelreports@kaspersky.com

Atribución

Considerando la complejidad y coste del desarrollo de Regin, es probable que esta operación tenga apoyo gubernamental. Si bien, la atribución es un problema delicado cuando se trata de atacantes profesionales, como los responsables de Regin, algunos metadatos extraídos de las muestras pueden ser relevantes.

Puesto que esta información podría ser fácilmente alterada por sus autores, depende del lector interpretar esto: como una bandera falsa intencional o como un indicador no crítico que los autores dejaron.

Para más información cobre Regin, consulta Kaspersky Intelligent Services. Contacto: intelreports@kaspersky.com

Conclusiones

Por más de una década, un grupo sofisticado conocido como Regin ha estado atacando a entidades de alto perfil en todo el mundo con una avanzada plataforma malware. Hasta donde sabemos, la operación sigue activa, aunque el malware puede haber sido actualizado a versiones más sofisticadas. La muestra más reciente que obtuvimos era de una infección en un sistema 64-bit. Esta infección todavía se encontraba activa en la primavera de 2014.

Aparentemente, el nombre Regin es la forma invertida de “In Reg”, abreviación de “In Registry”, ya que el malware puede almacenar sus módulos en el registro. Este nombre y las detecciones se detectaron por primera vez alrededor de marzo de 2011.

Desde algunos puntos de vista, la plataforma nos recuerda a otro malware de gran sofisticación: Turla. Algunas similitudes incluyen el uso de sistemas de archivos virtuales y la implementación de drones de comunicación para conectar redes. Pero por su implementación, sus métodos de cifrado, sus complementos, sus técnicas de ocultamiento y su flexibilidad, Regin supera a Turla como una de las plataformas de ataques más sofisticada que hemos analizado.

La habilidad de este grupo para penetrar y controlar redes GSM es quizás el aspecto más inusual e interesante de estas operaciones. En el mundo de hoy, hemos llegado a ser muy dependientes de las redes de telefonía móvil, que se basan en antiguos protocolos de comunicación, con poca o ninguna seguridad para el usuario final. Aunque las redes GSM tienen mecanismos incorporados que permiten a entidades como la policía rastrear a sospechosos, hay otras partes que pueden aprovecharse de esta habilidad y abusarla lanzando otros tipos de ataques contra los usuarios de telefonía móvil.

Documento completo con IOCs

Los productos de Kaspersky Lab detectan los módulos de la plataforma Regin como: Trojan.Win32.Regin.gen y Rootkit.Win32.Regin.

Si detectas una infección de Regina en tu red, escríbenos: intelservices@kaspersky.com

Publicaciones relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *