ESET descobre Attor: una plataforma de espionagem que utiliza fingerprinting de dispositivos GSM

Os investigadores da ESET descobriram uma plataforma de ciber espionagem que apresenta una arquitetura complexa, uma série de mecanismos para dificultar a sua deteção e análise, e duas caraterísticas que sobressaem das demais. A primeira é o seu plugin GSM que utiliza o protocolo de comando AT, e a segunda é a utilização do Tor para as suas comunicações de rede. Os investigadores da ESET chamaram a esta plataforma de ciber espionagem de Attor.

Whitepaper:

AT commands, TOR-based communications: Meet Attor, a fantasy creature and also a spy platform

Objetivos da Attor

A operação de ciber espionagem da Attor é altamente dirigida: foi possível acompanhar as ações da Attor até pelo menos ao ano 2013; no entanto, foram identificadas apenas algumas dezenas de vítimas. Apesar disso, aprenderam um pouco mais sobre as vítimas a quem se dirige através da análise de componentes do malware.

Por exemplo, para poder informar sobre as atividades da vítima, a Attor monitoriza os processos ativos para tirar capturas de ecrã das aplicações selecionadas. Isso é feito apenas em certas aplicações: aquelas com substrings específicas no nome do processo ou no título da janela.

Para além dos serviços standard, como são os browsers mais propulares, as aplicações de mensagens instantâneas e os serviços de correio eletrónico, a lista de aplicações específicas contém vários serviços russos, como detalhado na Tabela 1.

A lista inclui as duas redes sociais mais populares na Rússia (Odnoklassniki, VKontakte) e um serviço de VoIP fornecido por um operador de telecomunicações russo (Multifon). Concluímos que a Attor se dirige especificamente para fluentes em russo, o que é suportado pelo facto de que a maioria dos objetivos está na Rússia, como mostra a Figura 1. Outros objetivos estão no Leste Europeu e na Europa. Incluem-se missões diplomáticas, para além de instituições governamentais.

Figura 1. Países afetados pela Attor

Para além da sua orientação geográfica e idioma, os criadores da Attor parecem estar interessados especificamente em utilizadores preocupados com a sua privacidade.

A Attor está configurada para realizar capturas de ecrã dos utilitários de assinatura/ encriptação digital, do serviço HMA VPN, dos serviços de correio eletrónico Hushmail e do The Bat! que oferecem encriptação de extremo a extremo e o utilitário de criptografia de disco TrueCrypt.

A utilização de TrueCrypt por parte da vítima é seguido de perto noutra parte da Attor. Monitoriza os dispositivos de disco rígido ligados ao computador comprometido e procura a presença de TrueCrypt. Se esse utilitário for detetado, determina qual a versão que está a enviar IOCTL para o controlador de TrueCrypt (0x222004 (TC_IOCTL_GET_DRIVER_VERSION) e 0x72018 (TC_IOCTL_LEGACY_GET_DRIVER_VERSION)). Como estes são códigos de controlo específicos do TrueCrypt e não código padrão, os autores do malware devem entender o código open source do instalador do TrueCrypt. Não detetámos o uso desta técnica antes, nem a vimos documentada noutros malwares.

Figura 2. O plugin de monitorização de dispositivos envia códigos de controlo específicos TrueCryptpara o driver TrueCrypt, a fim de determinar a sua versão.

Arquitetura da plataforma

A Attor é composta por um distribuidor e plugins carregáveis, os quais se implementam como bibliotecas de links dinâmicos (DLL). O primeiro passo de um compromisso consiste em soltar todos estes componentes no disco e carregar a DLL do sistema de envio.

O sistema de envio é o núcleo de toda a plataforma: funciona como unidade de administração e sincronização para os plugins adicionais. Em cada inicialização do sistema é injetado automaticamente em quase todos os processos em execução e carrega todos os plugins disponíveis em cada um dos processos. Como exceção, a Attor evita a injeção de alguns processos relacionados com o sistema e com produtos de segurança.

Todos os plugins dependem do sistema de envio para implementar funcionalidades básicas. Em vez de chamar diretamente as funções da API do Windows, os plugins usam uma referência a uma função auxiliar (um sistema de envio de funções) implementado pela DLL do sistema de envio. Quando os plugins são carregados, eles recebem uma referência ao sistema de envio de funções. Como os plugins são injetados no mesmo processo que o sistema de envio, partilham o mesmo espaço de endereço e, portanto, podem chamar essa função diretamente. As chamadas para o sistema de envio de funções tomam como argumentos o tipo de função e o seu identificador numérico. Esse modelo torna mais difícil analisar componentes individuais de uma conta sem aceder ao sistema de envio, pois converte o identificador especificado numa função significativa que é então executada.

A Figura 3 ilustra uma parte de um plugin que chama o sistema de envio de funções em várias ocasiões. Na desmontagem à direita, substituímos os identificadores numéricos (que recuperamos após engenharia inversa do sistema de envio) por nomes descritivos. No nosso whitepaper, encontrará uma análise completa da interface do sistema de envio.

Figure 3. Plugins adicionais utilizam funções implementadas no módulo principal, através da função de de expedição (dubbed helperFnc here)

Para além disso, o expedidor é o único componente da plataforma que tem acesso aos dados de configuração. Os plugins da Attor recuperam os seus dados de configuração do expedidor através da interface, como descrito anteriormente.

Plugins

Os plugins da Attor são enviados para o computador comprometido como arquivos DLL encriptados assimetricamente com RSA. Os plugins apenas são recuperados de forma completa na memória, utilizando a chave pública RSA embebida no sistema de envio. Como resultado, é difícil obter os plugins da Attor e desencriptá-los sem acesso ao sistema de envio.

Conseguimos recuperar oito dos plugins da Attor, alguns em várias versões (ver Tabela 2). Assumindo que a numeração dos plugins é continua e que os responsáveis por trás da Attor utilizem provavelmente diferentes conjuntos de plugins por cada vítima, suspeitamos mesmo que existem mais plugins que ainda não foram descobertos.

Os plugins são responsáveis pela persistência da plataforma (plugin Instalador/watchdog), de reunir informações confidenciais (Device monitor, Screengrabber, Audio recorder, Key/clipboard logger) e da comunicação através da rede com o servidor C&C (File uploader, Command dispatcher/SOCKS proxy, Tor cliente).

A Attor tem incorporados mecanismos para acrescentar novos plugins, para se atualizar e para exfiltrar automaticamente os dados compilados e os arquivos de registo. Estes mecanismos estão ilustrados na Figura 4.

Nas seguintes secções focamo-nos nos plugins responsáveis de duas caraterísticas que se destacam e que deram o nome à Attor: a realização de fingerprinting de dispositivos GSM através de comandos AT e a elaboração de uma comunicação de rede através do Tor.

Figura 4. Arquitetura da Attor. O ID 0x06 representa um plugin simples, mas a funcionalidade é aqui dividido para maior clareza.

Comunicação de rede

Os plugins de espionagem da Attor recolhem dados confidenciais (como uma lista de documentos existentes no disco) que finalmente são exfiltrados para um servidor remoto, mas estes plugins não se comunicam por si mesmos através da rede.

Apenas dois dos componentes da Attor se comunicam com o seu servidor de C&C: o carregador de arquivos e o sistema de envio de comandos.

Os arquivos recompilados pelos “plugins de espionagem” (Device monitor, Screengrabber, Audio recorder, Key/clipboard logger) são carregados automaticamnte no servidor C&C através do plugin File uploader. Estes complementos usam uma pasta dedicada para uploads como pasta central para armazenar os dados compilados, e outros complementos também a usam para armazenar arquivos de registo.

O plugin Comand dispatcher descarrega comandos e ferramentas adicionais do servidor C&C e interpreta-os. Novamente, utiliza pastas dedicadas para armazenar os seus dados – o que mais se destaca são plugins descarregados recentemente e atualizações da plataforma, e dados de registo encriptados que contém o estado/resultados dos comandos executados.

O sistema de envio da Attor monitoriza as pastas partilhadas e carrega qualquer novo plugin assim como as atualizações enviadas ao computador comprometido.

Isto significa que nem o sistema de envio da Attor nem os plugins de espionagem se comunicam com o servidor C&C; apenas utilizam pastas partilhadas localmente para armazenar os dados que são exfiltrados e para ler instruções adicionais do servidor.

Tanto o sistema que faz o upload de ficheiros como o que faz o envio de comandos utilizam a mesma infraestrutura para chegar ao servidor remoto: a comunicação da rede em si está dispersa em quatro componentes diferentes da Attor, cada um implementando uma camada diferente.

A Attor utiliza o Tor, um protocolo de serviço da Onion, com um endereço Onion para o servidor de C&C. Para se comunicar com o serviço C&C, qualquer plugin deve estabelecer primeiro uma ligação com o plugin de cliente Tor (ouvindo na não predeterminada 127.0.0.1:8045) que é responsável por resolver o domínio onion, eleger um circuito e encriptar os dados em camadas. O plugin de cliente Tor tem por base o cliente Tor e está personalizado para a criação deste malware (tor.exe com interação adicional com o sistema de envio da Attor).

O plugin de cliente Tor deve comunicar com o sistema de envio, o qual implementa as funções de encriptação. Para além disso, comunica com o plugin de proxy SOCKS (ouvindo no 127.0.0.1:5153) que transmite as comunicações entre o cliente Tor e o servidor remoto.

Tanto o uploader de arquivos como o sistema de envio de comandos usam FTP; os arquivos são carregados/descarregados de um servidor FTP que está protegido por credenciais codificadas na configuração:

  • Servidor C&C: idayqh3zhj5j243t[.]onion
  • Nome de utilizador: do
  • Password: [Redacted]

Os plugins iniciam sessão no servidor FTP e copiam os dados compilados ou descarregam comandos de um diretório específico da vítima.

No total, a infraestrutura para a comunicação com o C&C inclui quatro componentes da Attor: o sistema de envio proporciona funções de encriptação e três plugins que implementam o protocolo FTP, a funcionalidade Tor e a comunicação de rede atual, como se pode verificar na Figura 5. Este mecanismo faz com que seja impossível analisar a comunicação de rede a menos que todas as peças do quebra-cabeças tenham sido conseguidas.

Figura 5. Quatro componentes Attor cooperam para permitir a comunicação com o servidor C&C.

É importante ter em consideração que a Attor utiliza vários truques adicionais para ocultar as suas comunicações do utilizador e dos produtos de segurança:

Primeiro, o servidor C&C é um serviço Tor que procura o anonimato e a impossibilidade de ser rastreado.

Em segundo lugar, todos os plugins relacionados com a comunicação da rede ativam-se apenas se forem executados dentro do processo de um browser, de uma aplicação de mensagens instantânea ou outras aplicações de rede (isto é determinado mediante a comparação do nome do processo com uma lista codificada). Este truque oculta a comunicação de rede relacionada com a exfiltração num fluxo de comunicações legítimas realizadas por essa aplicação e, como tal, diminui o risco de levantar qualquer suspeita.

Fingerprinting GSM

O plugin mais curioso do arsenal da Attor compila a informação relacionada com os dispositivos de modem/telefone ligados e a unidades de armazenamento ligadas, e sobre os arquivos presentes nestas unidades, é responsável pela compilação de meta dados, não dos arquivos em si, pelo que consideramos um plugin utilizado para realizar o fingerprinting de dispositivos e, como tal, é provável que se utilize como base para o roubo de dados adicionais.

Apesar da funcionalidade da Attor para realizar o fingerprinting de unidades de armazenamento ser standard, o seu fingerprinting de dispositivos GSM é único.

Sempre que um modem ou um dispositivo telefónico se liga a uma porta COM, o Device monitor utiliza comandos AT para se comunicar com o dispositivo, através da porta de série associada.

Os comandos AT, também conhecidos como o conjunto de comandos Hayes, foram desenvolvidos originalmente na década de 1980 para solicitar que um modem marque, desligue ou altere a configuração da ligação. O conjunto de comandos foi ampliado posteriormente para admitir funcionalidades adicionais, tanto padronizadas como específicas do fabricante.

Num artigo recente, falava sobre a descoberta de que os comandos continuavam em uso na maioria dos atuais smartphones. Os investigadores conseguiram contornar os mecanismos de segurança e comunicar com os smartphones utilizando os comandos AT através da sua interface USB. Milhares de comandos foram recuperados e testados, incluindo aqueles que servem para enviar SMS, simular eventos de touch no ecrã ou filtrar informações confidenciais. Essa investigação mostrou que os comando AT antigos representam um sério risco quando usados incorretamente.

No entanto, no que respeita ao plugin da Attor, apenas podemos especular acerca do porquê de se utilizarem comandos AT. Detetámos uma versão de 64 bits deste plugin em 2019 e podemos confirmar que ainda faz parte da versão mais recente da Attor (que vimos pela primeira vez em 2018). Por outro lado, parece improvável que se destine a smartphones. O plugin ignora os dispositivos ligados através de uma porta USB e apenas entra em contacto com aqueles que estão ligados através de uma porta de série (mais precisamente, dispositivos cujos nomes descritivos coincidem com “COM *”).

Uma explicação mais provável do principal motivo do plugin é que o mesmo aponta a modems e telefones mais antigos. Como alternativa, pode ter sido usado para se comunicar com alguns dispositivos específicos (usados pela vítima ou organização destino) que estão ligados à porta COM ou à porta USB usando um adaptador de série USB. Nesse cenário, os hackers podem ter aprendido sobre o uso desses dispositivos pela vítima usando algumas outras técnicas de reconhecimento.

Em qualquer caso, o plugin recupera a seguinte informação dos dispositivos ligados utilizando os comandos AT enumerados na Tabela 3:

  • Informação básica sobre o telemóvel ou modem GSM/GPRS: nome do fabricante, número do modelo, número IMEI e versão do software
  • Informação básica sobre o subscritor: MSISDN e número IMSI

Tenha em consideração que existem muitos mais comando AT (específicos do fabricante) que este plugin não utiliza. É possível que os operadores do malware usem os comandos enumerados para fazer fingerprinting dos dispositivos ligados e desde logo façam uso de outro plugin com comandos mais específicos para extrair informação do dispositivo.

Conclusão

A Attor é uma plataforma de espionagem utilizada para ataques altamente dirigidos contra utilizadores de elevado perfil na Europa de Este e utilizadores que falam russo preocupados com a sua segurança.

O malware, que passou despercebido desde 2013, tem uma arquitetura de plugin carregável que se pode utilizar para personalizar a funcionalidade para vítimas específicas. Inclui um plugin pouco comum para realizar o fingerprinting GSM que utiliza o conjunto de comandos AT raramente utilizado e incorpora Tor com o objetivo de manter o anonimato e a impossibilidade de rastreio.

A nossa investigação proporciona uma visão profunda do malware e sugere que vale a pena continuar a rastrear as operações do grupo que o suporta.

Os nomes de deteção da ESET e outros indicadores de compromisso para estas campanhas estão disponíveis no whitepaper: AT commands, TOR-based communications: Meet Attor, a fantasy creature and also a spy platform.

Agreadecemos a Anton Cherepanov, Peter Košinár y Zoltán Rusnák pelo seu trabalho nesta investigação.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here

one × 4 =