Ha pasado más de un año desde la publicación de nuestro último artículo sobre HackingTeam, la compañía italiana que desarrolla una herramienta spyware “legal” conocida como Sistema de Control Remoto (RCS). Desde entonces, muchas cosas han sucedido, por lo que es tiempo de actualizar los resultados de nuestra investigación sobre el programa malicioso RCS.
Localización de los servidores de comando
Una de las cosas más importantes que hemos descubierto durante nuestra prolongada y extensa investigación es una característica específica que puede usarse para localizar los servidores de comando de RCS. En la conferencia Virus Bulletin 2013 presentamos los detalles de esta metodología.
En resumen, cuando una petición especial se envía a un servidor HackingTeam RCS C&C “inofensivo”, este responde con el siguiente mensaje de error:
Imagen de nuestra presentación en VB 2013 con la huella digital del servidor C&C de HackingTeam.
En primer lugar, aparece el identificador ‘RCS’. Bien. No estábamos seguros acerca del ‘Collector’ mencionado en la respuesta. Quizás se refiera al hecho de que el servidor ‘recopila’ información de sus víctimas. Utilizamos este particular método de huellas digitales para analizar todo el espacio IPv4, lo que nos permitió encontrar todas las direcciones IP de los servidores C&C de RCS en todo el mundo e identificarlos en un mapa. En total, identificamos 326 servidores C&C.
Cantidad de servidores C&C | País |
64 | Estados Unidos |
49 | Kazajistán |
35 | Ecuador |
32 | Reino Unido |
24 | Canadá |
15 | China |
12 | Colombia |
7 | Polonia |
7 | Nueva Zelandia |
6 | Perú |
6 | Indonesia |
6 | Brasil |
6 | Bolivia |
6 | Argentina |
5 | Federación Rusa |
5 | India |
4 | Hong Kong |
4 | Australia |
3 | España |
2 | Arabia Saudita |
2 | Malasia |
2 | Italia |
2 | Alemania |
2 | Francia |
2 | Egipto |
1 | Ucrania |
1 | Tailandia |
1 | Suecia |
1 | Singapur |
1 | Rumania |
1 | Paraguay |
1 | Marruecos |
1 | Lituania |
1 | Kenia |
1 | Japón |
1 | Irlanda |
1 | Hungría |
1 | Dinamarca |
1 | República Checa |
1 | Chipre |
1 | Bélgica |
1 | Azerbaiyán |
1 | Otros |
Mapa con los países que alojan a servidores de HackingTeam
La mayor cantidad de servidores identificados se encontraba en Estados Unidos, Kazajistán y Ecuador. Por desgracia, no estamos seguros si los LEAs de un determinado país utilizan los servidores de ese país. Sin embargo, tendría sentido si los LEAs ponen sus servidores C&C en sus propios países para evitar problemas legales internacionales y la captura de los servidores. Sin embargo, identificamos varias IPs relacionadas con “gobiernos” en base a su información WHOIS lo que nos dio una clara indicación de quiénes son sus dueños.
Módulos móviles
Por algún tiempo se sabía que los productos de HackingTeam incluían programas maliciosos para teléfonos móviles, pero rara vez se los veía. En particular, nunca se habían detectado los troyanos para iOS y Android y representaban uno de los vacíos en la historia. A principios de este año descubrimos varios módulos de programas maliciosos móviles provenientes de HackingTeam para las siguientes plataformas:
- Android
- iOS
- Windows Mobile
- BlackBerry
Todos estos módulos se controlan con el mismo tipo de configuración, lo que es un buen indicio de que están relacionados y que pertenecen a la misma familia de productos.
Archivo de configuración de los módulos móviles de RCS
Sin duda, nuestro principal interés durante el análisis de los módulos móviles se centraba en iOS y Android, por su popularidad. El módulo iOS funciona sólo en dispositivos decodificados. La siguiente es una descripción de la función principal del módulo iOS:
- Control de Wi-Fi, GPS, GPRS.
- Grabación de voz.
- E-mail, SMS, MMS.
- Listado de archivos.
- Cookies.
- URLs visitadas.
- Páginas web en caché.
- Libreta de direcciones.
- Historial de llamadas.
- Notas.
- Calendario.
- Portapapeles.
- Lista de aplicaciones.
- Cambio de SIM.
- Micrófono en vivo.
- Uso de la cámara.
- Conversaciones en WhatsApp, Skype, Viber.
- Registro de actividades en el teclado para todas las aplicaciones y ventanas mediante libinjection.
El módulo Android está protegido por el optimizador/ofuscador DexGuard y por eso resulta muy difícil de analizar. Sin embargo, descubrimos (ver el rastro debajo) que la muestra tiene todas las funciones del módulo iOS que hemos mencionado arriba, además de soporte para robar información de la siguientes aplicaciones:
- com.tencent.mm
- com.google.android.gm
- android.calendar
- com.facebook
- jp.naver.line.android
- com.google.android.talk
Rastro de una muestra de RCS Android.
Infectadores móviles
Otro aspecto de particular interés para nosotros era la forma en que los programas maliciosos se instalaban en los dispositivos móviles. Descubrimos varios módulos que infectaban los dispositivos móviles conectados a ordenadores Windows o Mac OS X infectados.
Como ya hemos mencionado, el módulo iOS sirve sólo en dispositivos decodificados. Es por eso que el infectador iOS utiliza el protocolo de transferencia AFP2. El ‘infectador’ posee una agradable GUI que le permite la instalación si tiene acceso físico al dispositivo de la víctima o acceso al administrador remoto de un ordenador infectado.
Ventana principal del infectador iOS
iPhone1,1 | iPhone1,2 | iPhone2,1 |
iPhone3,1 | iPhone3,2 | iPhone3,3 |
iPhone4,1 | iPhone5,1 | iPhone5,2 |
iPad1,1 | iPad2,1 | iPad2,2 |
iPad2,3 | iPad2,4 | iPad3,1 |
iPad3,2 | iPad3,3 | iPad3,4 |
iPad3,5 | iPad3,6 | iPhone |
iPhone 3G | iPhone 3GS | iPhone 4 |
iPhone 4 | iPhone 4 (cdma) | iPhone 4s |
iPhone 5 (gsm) | iPhone 5 | iPad |
iPad2 (Wi-Fi) | iPad2 (gsm) | iPad2 (cdma) |
iPad2 (Wi-Fi) | iPad3 (Wi-Fi) | iPad3 (gsm) |
iPad3 | iPad4 (Wi-Fi) | iPad4 (gsm) |
iPad4 |
Lista de dispositivos Apple compatibles con el infectador iOS.
Después de conectarse, el infectador iOS copia varios archivos en el iOS y ejecuta el archivo install.sh:
Segmento del archivo install.sh que se ejecuta en un dispositivo iOS infectado.
Como hemos mencionado más arriba, el acceso al administrador remoto de un ordenador infectado es una de las posibles formas en que se instala el programa malicioso en un dispositivo móvil conectado. El hecho de que sólo los dispositivos iOS decodificados sean compatibles puede ser un factor limitante, pero este no es un problema grave puesto que el atacante también puede ejecutar una herramienta decodificadora como Evasi0n a través del mismo ordenador infectado. En este caso, lo único que puede proteger al usuario contra una decodificación remota e infección de su dispositivo, es su clave de acceso. Sin embargo, si el dispositivo no está protegido mientras está conectado a un ordenador infectado, el atacante podrá infectarlo.
Otro interesante infectador móvil es el desarrollado para los dispositivos BlackBerry, que usa la aplicación JavaLoader para cargar programas maliciosos en BB 4.5 y 5.0. Cuando desarticulamos su código encontramos una ruta al archivo depurador PDB, que al parecer sus autores cometieron el error de olvidarlo. El proyecto original se encontraba en ‘C:HTRCSBlackBerryWorkspaceRCS_BB_Infection_Agent’ cuando se creó este programa malicioso.
Segmento del código de un infectador Blackberry con una ruta al archivo PDB.
Resumen
En la última entrega de nuestra investigación descubrimos una enorme infraestructura utilizada para controlar los implantes de programas maliciosos RCS. En nuestra investigación más reciente hemos identificado módulos móviles que funcionan en todas las plataformas móviles de renombre, incluyendo iOS y Android. Estos módulos se instalan mediante infectadores especiales para Windows o Mac que se ejecutan en ordenadores ya infectados. Estos infectadores toman el control total del ambiente interno y externo del ordenador de la víctima. Mediante la activación secreta del micrófono y capturas regulares de pantalla ejercen una vigilancia permanente de la víctima, lo que es una forma mucho más poderosa que las tradicionales operaciones a capa y espada.
Los nuevos datos que publicamos sobre el RCS de HackingTeam son de máxima importancia porque muestran el grado de sofisticación y la escala que alcanzaron estas herramientas de vigilancia. Quisiéramos creer que si logramos proteger a nuestros clientes contra estas avanzadas amenazas, con seguridad no tendremos problemas con otras amenazas menores y más comunes propias de los ciberpiratas.
Apéndice:
MD5s de infectadores móviles:
- 14b03ada92dd81d6ce57f43889810087 – infectador BlackBerry
- 35c4f9f242aae60edbd1fe150bc952d5 – infectador iOS
MD5s de muestras Android:
- ff8e7f09232198d6529d9194c86c0791
- 36ab980a954b02a26d3af4378f6c04b4
- a2a659d66e83ffe66b6d728a52130b72
- 9f06db99d2e5b27b01113f78b745ff28
- a43ea939e883cc33fc766dd0bcac9f6a
- a465ead1fd61afe72238306c7ed048fe
MD5s de muestras Windows:
- bf8aba6f7640f470a8f75e9adc5b940d
- b04ab81b9b796042c46966705cd2d201
- 1be71818a228e88918dac0a8140dbd34
- c7268b341fd68cf334fc92269f07503a
Lista de servidores C&C activos en 19.06.2014:
- 50.63.180.***
- 146.185.30.***
- 204.188.221.***
- 91.109.17.***
- 106.186.17.***
- 119.59.123.***
- 95.141.46.***
- 192.71.245.***
- 106.187.99.***
- 93.95.219.***
- 106.187.96.***
- 124.217.245.***
- 23.92.30.***
- 82.146.58.***
- 93.95.219.***
- 209.59.205.***
Módulos RCS (con los nombres de clasificación de Kaspersky Lab):
- Backdoor.OSX.Morcut
- Rootkit.OSX.Morcut
- Trojan.OSX.Morcut
- Backdoor.Win32.Korablin
- Backdoor.Win64.Korablin
- Rootkit.Win32.Korablin
- Rootkit.Win64.Korablin
- Trojan.Multi.Korablin
- Trojan-Dropper.Win32.Korablin
- Backdoor.AndroidOS.Criag
- Trojan-Spy.AndroidOS.Mekir
- Trojan.Win32.BBInfector
- Trojan.Win32.IOSinfector
- Trojan.OSX.IOSinfector
- Trojan-Spy.IphoneOS.Mekir
- Trojan-Spy.WinCE.Mekir
- Trojan-Spy.BlackberryOS.Mekir
HackingTeam 2.0: La historia se moviliza