Vulnerabilidades y Ataques Informaticos

Malware Careto , un APT con origen en España

Careto es un conjunto de troyanos de reconocimiento y robo de datos que pueden monitorizar muchos aspectos de la operación de un sistema, incluida la entrada de teclas y el tráfico de la red. Esta información se almacena localmente en el sistema infectado junto con información extensa de configuración del sistema. Los troyanos son capaces de cargar esta información recolectada en un servidor externo donde puede ser recuperada por el atacante.
El malware, utilizado en el Careto es extremadamente modular en su diseño, y en lugar de utilizar un programa de gran tamaño, utiliza muchos módulos más pequeños, en el que cada uno desempeña una función particular. También utiliza una instalación en varias etapas que implica diferentes pasos intermedios.
Poco despue de ser descubierto publicamente, se descubrieron dos variaciones distintas de este malware. El primero, conocido como "SGH", utiliza un componente de interceptación de datos y un rootkit en modo kernel, así como componentes de modo de usuario para acceder a los datos capturados y cargarlos en el servidor externo.
La segunda variación que se llama "Careto" funciona completamente en modo de usuario y es totalmente compatible con los sistemas operativos Windows 2000 y superiores de 32 y 64 bits .
Con la información que se recogio de fechas y horas de las muestras de los componentes del instalador, se determinó que este ataque podía haber estado activo desde el año 2007. Sin embargo, en las muestras de los principales componentes activos, hace indicar que todo parece venir desde finales de 2012 hasta mediados de 2013. Curiosamente, los componentes de desinstalación utilizados para eliminar el malware de los sistemas infectados están fechados el 20 de junio de 2013, siendo esta la última fecha conocida en las muestras, como posible fecha en la que los atacantes comenzaron a eliminar su malware de los equipos infectados.
La mayoría de las muestras no contenían información de localización que pudiera indicar el origen del malware. Sin embargo, algunas de las muestras posteriores contenían información de la página de códigos que indicaba un origen europeo occidental. El valor hexadecimal de 0x4E4 se traduce en el valor decimal 1252 y esta es la página de códigos utilizada por Microsoft Windows para productos que utilizan el alfabeto latino de Europa occidental, lo que hace creer que Careto, fue de origen Español.

Código 0x4E4 en Malware Careto

Los principales objetivos de Careto se dividen en varias categorías:

  • Instituciones gubernamentales
  • Diplomáticos / embajadas
  • Energía, petróleo y gas
  • Empresas privadas
  • Instituciones de investigación
  • Empresas de capital privado
  • Activistas

Poco despues del ataque, ya se habian observado más de 380 víctimas únicas en 31 países distintos. Lo que hace especial a "Careto" es la complejidad del conjunto de herramientas utilizado por los atacantes. Esto incluye un malware extremadamente sofisticado, un rootkit, un bootkit y versiones de Windows de 32 y 64 bits, como hemos visto antes, pero no solo estas, si no que tiene versiones de Mac OS X y Linux y posiblemente versiones para Android y iPad / iPhone (Apple iOS).
Careto también utiliza un ataque personalizado contra versiones anteriores de los productos antivirus para esconderse en el sistema, poniéndolos por encima de Duqu en términos de sofisticación, convirtiéndolo en una de las amenazas más avanzadas en este momento. Este y varios otros factores nos hacen creer que esta podría ser una campaña patrocinada por ¿España? , luego veremos el motivo de decir que es Español, ademas de por el código del alfabeto.
Cuando está activo en un sistema de víctimas, Careto puede interceptar el tráfico de red, las teclas (Keylogger), las conversaciones de Skype, las claves de PGP, analizar el tráfico WiFi, buscar toda la información de los dispositivos Nokia (En la actualidad, estos ataques los dirigen contra Android o iOS), capturar pantallas y supervisar todas las operaciones de archivos.
El malware recopila una gran lista de documentos del sistema infectado, incluidas claves de cifrado, configuraciones de VPN, claves SSH y archivos RDP (Escritorio remoto) y otras extensiones que podrían estar relacionadas con herramientas de cifrado de nivel militar / gubernamental personalizadas.
En función de los "exploit" encontrados en el código, los autores de la máscara parecen hablar español.

Análisis del malware Careto

El malware involucrado en este ataque parece dividirse en dos grupos separados:

  • Careto
  • SGH

Ambas familias son extremadamente modulares en su diseño, lo que permite un mantenimiento y una actualización muy simple, ya que solo se requieren pequeños componentes en lugar de un único archivo grande.

La campaña Careto descubierta, se basa en correos electrónicos de spear-phishing con enlaces a sitios web malicioso. El sitio web malicioso contiene una serie de exploits diseñados para infectar al visitante. Tras una infección exitosa, el sitio web malicioso redirige al usuario a un sitio web benigno, que puede ser, desde una película de Youtube a un portal de noticias.

Alguno de los sitios web en los realizaban el ataque, son:

  • linkconf.net
  • redirserver.net
  • swupdt.com

Es importante tener en cuenta que los sitios web de exploits no infectan automáticamente a los visitantes, si no que en su lugar, los atacantes alojan los exploits en carpetas específicas en el sitio web, que no se referencian o enlazan directamente en ninguna parte, excepto en correos electrónicos maliciosos. En ocasiones, los atacantes usan subdominios en los sitios web de exploits para que parezcan verdaderos. Por ejemplo, se han observado los siguientes subdominios: sitio de explotación "linkconf.net":

  • negocios.iprofesional.linkconf.net
  • internacional.elpais.linkconf.net
  • politica.elpais.linkconf.net
  • cultura.elpais.linkconf.net
  • economia.elpais.linkconf.net
  • test.linkconf.net
  • soc.linkconf.net
  • sociedad.elpais.linkconf.net
  • world.time.linkconf.net
  • internacional.elpais.linkconf.net
  • elpais.linkconf.net
  • elespectador.linkconf.net
  • blogs.independent.linkconf.net
  • elmundo.linkconf.net
  • guardian.linkconf.net
  • washingtonsblog.linkconf.net
  • publico.linkconf.net

Primera variante del malware - “SGH”

La primera variante, conocida como "SGH", utiliza un componente de interceptación de datos y un rootkit en modo kernel, así como componentes en modo de usuario para acceder a los datos capturados y cargarlos en el servidor externo.

Cuando se ejecuta, coloca los siguientes archivos en la carpeta% SYSTEM% :

  • mfcn30.dll
  • jpeg1x32.dll
  • vchw9x.dll
  • awcodc32.dll
  • awdcxc32.dll
  • scismap.sys
  • bootfont.bin

Y el archivo ___ A6.tmp |nombre de archivo aleatorio| se coloca en la carpeta% TEMP%.

El controlador descartado scsimap.sys se instalará y ejecutará para instalar componentes adicionales a nivel de kernel.

Tan pronto como el componente de instalación comience a ejecutarse, intentará deshabilitar el controlador de seguridad de productos antivirus para evitar que analice cualquier proceso denominado "services.exe".
Luego ubicará la sección ".inf" dentro y la descifrará con RC4 usando una clave codificada MD5 ("AQA4$w1QsfexDT") seguido de una operación de "inflado".

El resultado del descifrado contiene un script de instalación que interpreta y realiza instrucciones específicas basadas en las entradas proporcionadas en el script, con tareas como:

  1. Instala un archivo.
  2. Descarga un archivo de una URL determinada (http, https, ftp o gopher) e instála. El archivo está instalado en un directorio específico.
  3. Establece el valor de la "marca de tiempo" del archivo instalado en el kernel32.dll local para no despertar sospechas.
  4. Eliminar un archivo
  5. Establecer un valor de registro
  6. Eliminar una clave de registro o valor.
  7. Copiar datos de un valor de registro a otro
  8. Comparar datos de un valor de registro con otro
  9. Crea un nuevo servicio
  10. Eliminar un servicio
  11. Arrancar un servicio
  12. Detener un servicio
  13. No hacer nada (Curioso)
  14. Crea un nuevo proceso
  15. Mostrar un cuadro de mensaje
  16. Anexar datos a un valor de registro
  17. Agregar un nuevo filtro de dispositivo usando las API de SetupiD * Windows
  18. Eliminar un filtro de dispositivo con las API de SetupiD * Windows
  19. Agregar un nuevo certificado al almacén de certificados local
  20. Eliminar un certificado existente del almacén de certificados local
  21. Hacer nada (Curioso)
  22. Detecta máquinas virtuales VMware y Virtual PC y salir si no las encuentra
  23. Detectar máquinas virtuales y salir si se encuentra.
  24. Escribir código en el archivo bootmgr
  25. Volcar datos a un archivo temporal con el prefijo ( ____ ) y comenzar como un nuevo proceso.

El siguiente diagrama muestra la relación de cada componente:

relacion variante SGH Malware Careto

Información que extrae el malware "SGH"

Como hemos comentado anter, tanto SGH como Careto, obtenian una gran cantidad de información:

  • Sistema Operativo
  1. Versión del sistema operativo (Win98, WinNT, WinXP, etc.)
  2. Nombre del propietario
  3. Nombre de la organización registrada
  4. Lista de hotfixes instalados
  5. información del país
  6. Fechas de instalación del sistema operativo
  7. Diseño e idioma del teclado
  8. Zona horaria
  • Cuentas de usuarios locales
  1. Nombre del usuario local
  2. Tipo de usuario
  3. Privilegios asignados al usuario
  4. Comentario asignado al usuario
  • Memoria del sistema
  1. (Total / Gratis) Memoria física
  2. (Total / Gratis) Memoria Virtual
  3. Tamaño del archivo de paginación
  4. Tamaño de página
  5. Dirección de solicitud mínima
  • Información del FileSystem
  1. Etiqueta de unidad
  2. Tipo (fijo, extraíble, etc.)
  3. (Total / Gratis) Memoria disponible
  4. Letra de Root Drive
  5. Compatibilidad con Drive Object ID
  6. Soporte de puntos de repetición
  7. Compatibilidad con archivos dispersos
  8. File Volume Quote
  9. Número de serie del Volumen
  10. Estado de las propiedades de la unidad:
    a) FS_CASE_IS_PRESERVED
    b) FS_CASE_SENSITIVE
    c) FS_FILE_COMPRESSION
    d) FS_FILE_ENCRYPTION
    e) FS_PERSISTENT_ACLS
    f) FS_UNICODE_STORED_ON_DISK
    g) FS_VOL_IS_COMPRESSED
  11. Estado del flag FS_CASE_IS_PRESERVED
  • Información de unidades USB
  1. Nombre del USB conectado previamente al dispositivo
  • Procesos corriendo en el sistema
  1. Nombre del proceso
  2. PID
  3. Memoria total utilizada
  • Software instalado en el sistema
  1. Nombre del software
  2. Versión instalada
  • Información de red
  1. Dirección MAC
  2. Estado de la tarjeta de red encendido / apagado
  3. Dirección IP
  4. Servidor DHCP
  5. Dirección de Loopback
  6. Tipo:
    a) SLIP
    b) PP
    c) FDDI
    d) Ethernet
    e) Token Rings
  7. Información de la tarjeta de red
    a) Nombre del Servicio
    b) Descripción
    c) Título
  8. Descripción del controlador de la tarjeta de red
  9. Conexiones TCP / UDP activas
    a) Dirección de destino
    b) Puertos
    c) Estado (Cerrado, Escuchando,etc.)

Segunda variante del malware - “Careto”

La segunda variante, llamada "Careto", funciona completamente en modo de usuario y es totalmente compatible con los sistemas operativos Windows de 32 bits y 64 bits posteriores a 2000.

relacion variante malware careto

El ataque usa dos paquetes de software y varias utilidades relacionadas. Los principales paquetes de software se llaman "Careto" y "SGH".
El paquete "back door" llamado "Careto" es una puerta trasera de uso general que consta de componentes de nivel usuario. Recopila información del sistema y ejecuta código arbitrario proporcionado por la infraestructura de command and control.
El paquete back door llamado "SGH" es más avanzado y funciona principalmente en modo kernel. Contiene componentes de rootkit y módulos de interceptor para eventos de sistema y operaciones de archivos. Roba archivos y mantiene su propia conexión con los servidores de command and control.
Además de "Careto" y "SGH", se observó el uso de un back door compilado de forma personalizada basado en el clon de código abierto "netcat" llamado "sbd". Este clon "sbd" se ha observado en variantes para Win32, Mac OS X y Linux. Durante la investigación, se pudo obtener las versiones Win32 y Mac OS X, pero la variante de Linux estaba muy dañada y no se pudo recuperar correctamente.
Si bien Careto y SGH también pueden funcionar de forma "independiente", se observó que el command and control, instaló un paquete utilizando el otro; por ejemplo, una víctima infectada con Careto también recibiría la variante de malware SGH.
Los archivos de los paquetes back door utilizados por Careto, se firman utilizando el mismo certificado, el cual pertenece a una empresa búlgara (¿falsa?) llamada "TecSystem Ltd.".

Certificado Malware Careto

Información que extrae el malware "Careto"

Como bien hemos comentado, tanto Careto como SGH , se autocomplementaban el uno al otro, siendo capaces de funcionar por separado, pero con la caracteristica de poderse instalar mutuamente. Careto fue la evolución del malware en su segunta vertiente, por ello, se desarrollo para la búsqueda de información más concreta, como podemos obsebar en esta lista de información que era capaz de obtener:

  • Información de Inernet Explorer
  1. Lista de autocompletar, historial, cookies
  • Información sobre Software
  1. La misma información que jpeg1x32.dll
  2. Tiempo de actividad del sistema
  3. Usuario actual
  4. Directorio de Windows
  5. Directorio del sistema
  6. Variables de entorno
  • Información sobre Hardware
  1. La misma información que jpeg1x32.dll
  2. Lista de dispositivos PCI
  3. Lista de impresoras
  • Información sobre Conexiones de Red
  1. La misma información que jpeg1x32.dll
  2. Conexiones activas
  3. Configuración de IE Proxy
  4. Estadísticas de protocolo
  • Snapshot
  1. Lista de todos los procesos corriendo en la máquina
  • Credenciales privadas
  1. Credenciales de MSN Messenger (Lo enlazo por que los milenials no lo conoceran)
  2. Credenciales de NetBIOS
  3. Contraseñas IE7
  4. Historial de IE
  5. Caché de Firefox
  6. Cookies de Firefox
  7. Lista de Autocompletar de Firefox
  8. Contraseñas de Firefox 2.x
  9. Contraseñas de Google Chrome
  10. Cuentas, contraseñas y contactos GTalk k) Contraseñas de Google Desktop
  11. Contraseñas de Safari
  12. Contraseñas Opera
  13. Usuarios conectados a la máquina
  14. Documentos recientes accedidos
  15. Password Dump de cuentas locales
  16. CacheDump
  17. Contraseñas de Microsoft Outlook
  18. Información de red Wifi cercanas o con señal
  19. Puntos de acceso inalámbrico en caché
  20. Contraseñas inalámbricas en caché
  21. Dispositivos Bluetooth almacenados en caché
  22. Conexiones en el escritorio remoto en caché
  23. Secretos de LSA
  24. Contraseñas de WinSCP
  25. Credenciales de Putty
  26. Contraseñas de Mozilla Thunderbird
  27. Contraseñas de Eudora
  28. Contraseñas de Incredimail

Malware made in España

Dentro del malware Careto, se encontraron indicios que nos hacen sospechar que su origen es españa, ya no por la codificación del idioma , si no por la exposición de expresiones 100% españolas, las cuales carecen de significado fuera de nuestras fronteras, como por ejemplo:

  • "Careto" , podría ser la expresión de cara, pero esto no es una afirmación que podamos decir con total afirmación
  • Se encontraron una clave RC4 de encriptación en la configuración de los datos, usada por todas las comunicaciones con los servidores command and control. "Caguen1aMar" fue la clave, una expresión la cual si podriamos decir que tiene su origuen y uso, unicamente en España.
  • La configuración de los datos tenia : "Accept-Language:es Accept-Encoding:gzip"
  • Cuando se debugeo los desinstaladores del módulo SGHTesterCmd, se encontraron rastros de paths de los desarrolladores con palabras como "Pruebas" , exactamente en la ruta "c:\Dev\CaretoPruebas3.0\release32\CDIIUninstall32.pdb"

A pesar del uso de estas contraseñas (que podría dar la idea de una programación castiza, casera o descuidada dentro de un ambiente desenfadado) y de la poca profesionalidad que se desprende del uso de un inglés pobre, nos quedamos con esta importante frase en las conclusiones del informe de Kaspersky

En términos de sofisticación, colocamos Careto por encima de Duqu, Gauss, RedOctober o Icefog, por lo que es uno de los APT más complejos que observamos.

Afirmaciones que hacen tener sentimientos encontrados, por un lado la cara de la "ciberseguridad" que intenta velar contra estos ataques, pero por otro, un trabajo made in España del que estar orgullo, poniendo el nombre de nuestro pais en el mapa.

Author image

About Ruben.Ramiro

Profesional en Tecnologías de la seguridad y ciberseguridad en Telefónica. Apasionado de los MOOC y la autoformación. Si me tuviese que definir, tendría que ir muchísimo al gimnasio. UHHA!
  • Madrid