Mekotio: trojan rouba dados de acesso em serviços home banking

Não é a primeira vez que falamos sobre o Mekotio, uma família de trojans bancários voltados para sistemas Windows, presentes na América Latina e distribuídos através de campanhas maliciosas direcionadas a países específicos, como Brasil, Chile e Espanha, entre outros. No entanto, desta vez analisamos suas características de forma mais detalhada, os estágios de suas infecções e seus recursos maliciosos, entre os quais se destaca o roubo de criptomoedas e credenciais bancárias.

Desde sua primeira detecção, em março de 2018, os cibercriminosos por trás dessa ameaça vêm aplicando alterações e atualizações. Embora essas mudanças tenham acrescentado, removido e/ou modificado funcionalidades, o objetivo permanece o mesmo: fazer todo o possível para obter dinheiro ou acessar credenciais do serviço de home banking de suas vítimas. Seguindo esse raciocínio, nossas análises revelaram que, entre todas as suas variantes, o Mekotio tem como alvo mais de 51 instituições bancárias distribuídas em pelo menos três países.

Durante a maior parte de sua existência, essa ameaça teve como único alvo os usuários nos países da América Latina, começando com um forte foco no Brasil e depois apontando principalmente para o Chile. No entanto, ao longo dos últimos meses, foram registradas variantes do Mekotio, destinadas especialmente a usuários na Espanha, com as quais se pode concluir que os cibercriminosos estão constantemente expandindo suas operações.

Quanto às detecções do Mekotio na América Latina, o Chile é o país com o maior número de registros e com uma enorme diferença, seguido pelo Brasil e pelo México, com nível médio de detecções, e depois pelo Peru, Colômbia, Argentina, Equador e Bolívia, com baixo nível de detecção. O restante dos países latino-americanos não apresentou um nível relevante de detecção.

Imagem 1. Detecções do Mekotio nos países da América Latina.

 

É importante destacar que um número baixo de detecções não implica que a ameaça não esteja presente em outros países da América Latina. Por sua vez, deve-se considerar que, se os atacantes o considerarem lucrativo, poderá haver novas campanhas direcionadas especificamente a países que atualmente não apresentam detecções, como a Espanha.

Essa análise foi realizada principalmente na variante CY do Mekotio, detectada por soluções ESET como o Win32/Spy.Mekotio.CY, voltada para usuários no Chile, o país mais afetado por essa família. No entanto, muitas das características, atividades maliciosas e outras observações feitas durante esta análise também se aplicam a outras variantes distribuídas em outros países, uma vez que fazem parte da mesma família e, portanto, têm semelhanças.

Estágios da infecção

Desde que o Mekotio passou a estar ativo, foram observados vários processos de infecção associados a esse código malicioso, variando o número de estágios, os componentes envolvidos e outros. No entanto, existe uma constante entre todos eles e é o estágio inicial, que começa enviando um e-mail contendo um link malicioso. A seguir, serão detalhados cada um dos estágios envolvidos em um dos processos de infecção usados ??pelo Mekotio:

Imagem 2. Diagrama com os principais estágios do processo de infecção pelo Mekotio.

 

Engenharia social

O processo de infecção começa com uma campanha de spam. Geralmente, os e-mails enviados usam engenharia social para simular e-mails legítimos e personificar a identidade de empresas ou órgãos governamentais, a fim de enganar o usuário e fazê-lo clicar no link malicioso incluído no corpo da mensagem.

No exemplo apresentado na Imagem 1, a estratégia usada para enganar a vítima é um e-mail, que parece vir de um órgão governamental, com um comprovante de pagamento anexo. Essa estratégia geralmente é muito eficaz para despertar a curiosidade do usuário, pois, se ele realmente pagou um determinado imposto, provavelmente estará interessado em guardar o comprovante – se você não tomou essa ação, provavelmente esteja com receio de receber uma cobrança indevida de algo e prefira pesquisar mais sobre o assunto. Nos dois casos, se o usuário decidir abrir o link para baixar o suposto comprovante, o processo de infecção será iniciado.

Instalação

Depois que o link é aberto, um arquivo .zip compactado começa a ser baixado automaticamente. Depois que o arquivo é descompactado, é possível ver seu conteúdo, que nesse caso trata-se de um instalador .msi.

Ao executar o instalador, as seguintes atividades começaram a ser realizadas:

Download do payload: baixa um arquivo .zip adicional e extrai seu conteúdo no seguinte caminho: “C:\programdata\*nombre aleatorio*\”. Esse arquivo .zip geralmente contém quatro arquivos:

  1. Intérprete de autoit (.exe): esse é o intérprete oficial da autoit. Seu objetivo é executar as instruções do script que é distribuído junto com esses arquivos.
  2. Script de Autoit (.au3): contém instruções para carregar a DLL do Mekotio e executar uma das funções que ela exporta.
  3. Mekotio (.dll): essa DLL contém todo o código que executará as atividades maliciosas que serão explicadas abaixo.
  4. SQLite3 (.dll): contém as instruções necessárias para que o Mekotio possa roubar as senhas criptografadas armazenadas pelos mecanismos de pesquisa.

Persistência: depois que os quatro arquivos foram baixados e extraídos há pelo menos duas opções, dependendo da variante do Mekotio em questão:

  1. Uma entrada é gravada em uma das chaves de autorun do registro, adicionando um comando para executar o malware.
  2. Um atalho é adicionado na pasta de inicialização, cujo parâmetro será um comando para executar o malware.

Dessa forma, o Mekotio é executado automaticamente sempre que o sistema é iniciado.

Como pode ser visto, o instalador executa a função de downloader e, adicionalmente, estabelece a persistência da ameaça no dispositivo infectado. Um detalhe importante é que, como o intérprete do Autoit executa o script, carrega e executa a DLL, o Mekotio será executado no contexto do intérprete. Isso é importante, pois pode ser útil identificar se o computador está infectado.

Recursos do Mekotio (.dll)

As amostras utilizadas para esta análise apresentam várias características interessantes, algumas semelhantes às registradas em outras famílias de trojans bancários na América Latina:

  • É desenvolvido em Delphi
  • Possui proteção Anti-VM, monitorando a presença de processos como o VBoxService.exe
  • Possui proteção Anti-debugging (IsDebuggerPresent)
  • Modifica seu comportamento de acordo com o idioma do sistema operacional infectado
  • Possui funcionalidade de autodestruição, ou seja, para desativar e parar a infecção
  • Contém um grande número de strings criptografadas usando um algoritmo semelhante ao usado em outros trojans bancários na América Latina
  • Procura informações sobre produtos de segurança instalados no sistema
  • É distribuído junto com a biblioteca SQLite3.dll

Atividades maliciosas realizadas pelo Mekotio

Por se tratar de uma ameaça ativa há algum tempo e presente em vários países, por meio de versões específicas direcionadas a cada um deles, é normal encontrar alguma variabilidade nas atividades maliciosas realizadas pelas diferentes amostras analisadas. No entanto, como mencionamos, existe um fator comum entre todas elas: roubar dinheiro e/ou credenciais bancárias.

A seguir, descreveremos os principais comportamentos maliciosos observados nas amostras analisadas:

Roubo de credenciais bancárias com janelas falsas

Como funciona?

Essa ameaça monitora constantemente os sites acessados ??pelo navegador. Caso você tenha entrado no site de qualquer um dos bancos de interesse dos atacantes, o malware exibirá uma janela de login falsa que finge ser da instituição bancária. O objetivo é que o usuário insira suas credenciais de acesso ao sistema. Uma vez obtidas, elas são enviadas para um servidor remoto que armazena as informações roubadas.

Quem pode ser vítima?

Diferentemente de outros trojans bancários mais genéricos, essa funcionalidade do Mekotio é especificamente direcionada a usuários de home banking de um pequeno conjunto de países. No entanto, é importante destacar que a ameaça não visa apenas usuários de contas bancárias normais, mas também aqueles que entram em contas comerciais.

Para conseguir isso, os atacantes criam inúmeras variantes do mesmo malware; cada versão é direcionada apenas para um país específico. Por esse motivo, é comum encontrar amostras projetadas para roubar credenciais de bancos presentes em um determinado país e, mesmo que esse banco esteja presente em outro país, será possível encontrar variantes diferentes. Consequentemente, essa funcionalidade não tem um grande alcance, pois afeta exclusivamente usuários infectados com a variante que aponta para o país em que vivem e que, por sua vez, são clientes de um dos bancos selecionados.

Ao analisar as amostras direcionadas ao Chile, descobriu-se que o malware procura roubar as credenciais de acesso às páginas de home banking dos 24 bancos com maior presença no país. No caso do Brasil, a mesma dinâmica se repete, apontando para 27 instituições bancárias.

Roubo de senhas armazenadas por navegadores

Uma peculiaridade que caracteriza algumas variantes do Mekotio é a capacidade de roubar as credenciais de acesso armazenadas no sistema por alguns navegadores, como Google Chrome e Opera. Geralmente, ao tentar acessar um site usando um formulário de login, o navegador pergunta ao usuário se ele deseja salvar a senha no computador e, se autorizado, continuar fazendo isso. Além disso, juntamente com a senha, o usuário e o site associado à conta que acabou de ser inserida também são armazenados.

No entanto, o mecanismo de segurança usado por esses navegadores para proteger credenciais armazenadas não é eficaz nos casos em que o dispositivo já está comprometido por malware. Isso ocorre porque a função de criptografia usada ao salvar a senha está projetada para que essas informações possam ser descriptografadas apenas pelo mesmo usuário do sistema operacional que as criptografou em um primeiro momento Como o malware é executado como um aplicativo de usuário, você pode facilmente quebrar senhas.

Depois que as senhas em texto simples são obtidas, o Mekotio as guarda em um arquivo junto com os usuários e sites aos quais estão associados e passa a extrfiltrá-las por meio de um POST para um site provavelmente comprometido pelos cibercriminosos. A partir deste momento, as credenciais do usuário são comprometidas e ficam nas mãos dos atacantes.

Essa funcionalidade maliciosa não se limita apenas ao roubo de credenciais bancárias, mas também afeta todas as contas cujos dados também foram armazenados no sistema por esses navegadores. Isso aumenta consideravelmente o alcance e o potencial malicioso do Mekotio, podendo afetar qualquer usuário e não apenas aqueles que usam serviços de home banking.

Curiosamente, esses navegadores armazenam senhas criptografadas em um banco de dados SQLite3, portanto, o malware deve ter a capacidade de lidar com esse tipo de banco de dados. Com base nisso, o Mekotio geralmente é distribuído junto com a dll “SQLite3.dll“, que contém todas as instruções necessárias para obter as senhas armazenadas.

Substituição de endereços de carteiras de bitcoin

Essa funcionalidade maliciosa consiste em substituir os endereços de carteiras de bitcoin copiados para a área de transferência pelo endereço da carteira do atacante. Dessa forma, se um usuário infectado quiser fazer uma transferência ou um depósito para um determinado endereço e usar o comando copiar (clique direito-copiar/ctrl+c) em vez de digitar manualmente, ao querer colar (clique direito-colar/ctrl+v) o endereço para o qual a transferência foi feita não será colado, mas sim o endereço do atacante. Se o usuário não perceber essa diferença e decidir continuar a operação, ele acabará enviando o dinheiro diretamente para o atacante.

Exemplo da dinâmica:

Passo 1: um usuário copia o endereço de uma carteira de bitcoin em um computador infectado pelo Mekotio.

Imagem 3. O endereço de uma carteira de bitcoin é copiado aleatoriamente para ver como o Mekotio a substitui na área de transferência.

 

Passo 2: o usuário cola o endereço que copiou anteriormente.

Figura 4. O comando “colar” é usado para observar como o Mekotio substituiu o endereço na área de transferência.

 

Passo 3: É possível ver como o endereço que foi colado no passo 2 é diferente do endereço que foi copiado no passo 1.

Imagem 5. Você pode ver a diferença entre o endereço inicialmente copiado e o endereço colado.

 

Embora esse mecanismo de roubo seja muito simples e possa ser facilmente combatido através da verificação do endereço para o qual ele será transferido, revisando o histórico de transferências recebido pelas carteiras do atacante, pode-se concluir que muitas pessoas foram vítimas dessa dinâmica.

Imagem 6. Saldo de um dos endereços de Bitcoin usados por criminosos cibernéticos, onde é registrado que o recebimento de transferências por aproximadamente 0,27 BTC. Pode-se ver que os atacantes não mantêm o dinheiro em suas carteiras, mas o transferem para outras de forma bem rápida, dificultando o rastreamento.

 

É importante destacar que os criminosos cibernéticos por trás do Mekotio não usam um único endereço para receber o dinheiro roubado, mas sim muitos deles. Durante nossas análises, registramos diferentes variantes desse malware usando endereços diferentes, possibilitando aos atacantes distribuir novas versões através da modificação do endereço periodicamente para dificultar o rastreamento.

No caso do endereço analisado na imagem 7, pode-se ver que ele recebeu 6 transações para um total de 0,2678 BTC, aproximadamente US$ 2.500 de acordo com o preço atual do Bitcoin. Essas transações foram recebidas no período entre 25/10/2018 e 14/06/2020. É importante observar que esse período não cobre todo o período de atividade do Mekotio e, por sua vez, as transferências mais recentes podem ocorrer devido as infecções antigas que não foram resolvidas. Considerando esses detalhes e o fato de existirem muitos outros endereços vinculados a essa ameaça, é possível que o total roubado pelos atacantes por meio dessa funcionalidade exceda consideravelmente o valor mencionado anteriormente.

Indicadores de comprometimento (IoC)

Persistência

Procurar vestígios dos mecanismos usados ??para obter persistência é uma das maneiras mais eficazes de detectar essa infecção, uma vez que não são muito sofisticadas. Aqui estão duas opções, dependendo da variante do Mekotio que infectou o sistema:

  • Revisar todas as entradas do registro usadas para o Autorun.
  • Revisar os atalhos na pasta de inicialização.

O comando usado no atalho e o escrito nas entradas de registro devem se referir a um executável que corresponderá ao intérprete do Autoit.

Esses locais podem ser facilmente controlados usando uma ferramenta como o Autoruns, que faz parte do Sysinternals do Windows e pode ser baixada gratuitamente.

Arquivos usados

O Mekotio usa vários arquivos para armazenar as senhas roubadas ou como indicadores com base nos quais modifica seu comportamento:

  • C:\Users\*nombre del usuario*\*nome do interpretador AI*.jkl
  • C:\Users\*nombre del usuario*\*nome do interpretador AI *.exe.jpg
  • C:\Users\*nombre del usuario*\Bizarro.txt
  • C:\Users\*nombre del usuario*\V.txt
  • C:\Users\*nombre del usuario*\Ok.txt
  • C:\Users\*nombre del usuario*\Etc

Deve-se notar que a maioria desses arquivos não coexiste, portanto, encontrar um único é motivo suficiente para suspeitar de uma infecção e analisar o computador de forma mais detalhada.

Processo com ícone do Autoit

Se um programa com o logo do Autoit e um nome de aparência aleatória (letras sem sentido) for encontrado em execução em nosso sistema, é muito provável que o computador esteja infectado. Isso pode ser verificado usando algum software visor de processos ativos, como o “Process Explorer”.

Imagem 7. Captura da janela do Process Explorer, onde os processos em execução estão listados. Você pode ver o que corresponde ao Mekotio sendo executado no contexto do interpréte do Autoit.

 

Em geral, não é possível visualizar esse processo no gerenciador de tarefas do Windows, pois o Mekotio usa mecanismos para evitar ser listado nele.

Tráfego de rede

O tráfego de rede entre o Mekotio e seu C&C envolve uma troca frequente de mensagens que possuem uma estrutura bem definida: <|*Comando*|>.

Esse formato é respeitado pelos comandos enviados pelo Mekotio e pelos comandos enviados pela C&C. Alguns exemplos de comandos usados ??pela ameaça são:

  • <|vhxboj|>
  • <|WGSGTNU|>
  • <|tksN|>
  • <|VOTM|>
  • <|LSTU|>
  • <|Gpsxi|>
  • <|ZKXAKYWQKEHUGZJ|>
  • <|lozyw|>
  • <|SuaykRJ|>
  • <|SuaykJI|>
  • <|ztUjzwtR|>
  • <|IXjzwtR|>
  • <|utypzjI|>
  • <|WGSGTNU|>

As trocas são iniciadas pelo computador infectado. Esse dispositivo envia um comando seguido de informações roubadas sobre o sistema, por exemplo: sistema operacional, usuário, software de segurança instalado, etc.

A característica mais importante para o usuário do computador infectado é que parte desse tráfego viaja sem criptografia. Portanto, se a presença de strings semelhantes a esses comandos for observada no tráfego de nossa rede, será conveniente realizar as análises correspondentes para descartar uma infecção.

Hashes, sites e C&C

Esses elementos geralmente são bons identificadores de comprometimento. Nesse caso, no entanto, eles têm eficácia limitada, pois os cibercriminosos por trás da ameaça garantem que o período de validade desses elementos seja muito curto.

  • Hash: as amostras distribuídas geralmente contêm pequenas variações em seu código para tornar o hash diferente em cada um deles.
  • Sites para armazenar senhas roubadas: embora sejam usadas em várias amostras, elas também têm variabilidade.
  • Servidores C&C: o endereço IP do C&C é baixado de um documento público no Google Docs. Os atacantes modificam este documento periodicamente, para que o mesmo C&C não seja usado por longos períodos de tempo.

Dicas para se proteger do Mekotio

Os usuários que usam serviços home banking e residem em países com níveis mais altos de detecção devem estar mais alertas. Isso não significa que os países que ainda não foram alcançados por essas campanhas não precisam ser cautelosos porque, se os atacantes começarem a concentrar seus esforços em novas regiões, poderão se tornar um novo alvo da ameaça.

Portanto, é recomendável aplicar boas práticas e critérios de segurança, medidas suficientes para evitar ser vítima do Mekotio. Alguns dos mais importantes, em relação direta a essa ameaça, são:

  • Não abra links contidos em e-mails que pareçam suspeitos.
  • Também não faça o download de anexos em e-mails suspeitos.
  • Caso um arquivo comece a ser baixado automaticamente, não o abra.
  • Seja cauteloso ao baixar e extrair arquivos .zip, rar ou outras compactações quando vierem de fontes não confiáveis, pois geralmente são usados ??para ocultar malware e evitar certos mecanismos de segurança.
  • Seja especialmente cauteloso ao baixar/executar instaladores .msi ou executáveis ??.exe, verificando sua legitimidade e submetendo-os à análise de um produto de segurança.
  • Tenha um produto de segurança, como antivírus, instalado e atualizado.
  • Mantenha todos os softwares do dispositivo atualizado.

Em cada um dos pontos mencionados, o objetivo é cortar algumas das etapas do processo de infecção e instalação. Caso essas etapas sejam interrompidas, o Mekotio não será executado.

Técnicas de MITRE ATT&CK

TácticaIDNombreDescripción
Initial accessT1192Spearphishing LinkEl ataque comienza mediante el envío de un link malicioso
T1194Spearphishing via ServiceLas direcciones de email personal también son alcanzadas por el spearphishing
ExecutionT1204User ExecutionLa etapa inicial de instalación requiere que el usuario ejecute el instalador malicioso
T1064ScriptingEl instalador contiene un script malicioso que descarga el malware y lo instala en el sistema
T1129Execution through Module LoadLa ejecución de Mekotio comienza cuando el script de Autoit carga la dll y ejecuta la función inicial
T1059Command-Line InterfaceA lo largo de su ejecución Mekotio tiene la capacidad para ejecutar varios comandos a través de cmd.exe
PersistenceT1060Registry Run Keys / Startup FolderLa persistencia es establecida en una entrada de autorun del registro o mediante un acceso directo en la carpeta de inicio
Defense evasionT1497Virtualization/Sandbox EvasionMekotio cuenta con protección para detectar si está siendo ejecutado en una máquina virtual
Credential accessT1503Credentials from Web BrowsersRoba credenciales almacenadas por navegadores como Google Chrome y Opera
T1056Input CaptureRoba credenciales bancarias al capturar el input ingresado en ventanas falsas
CollectionT1074Data StagedAlmacena la información en archivos específicos para luego exfiltrarla
T1115Clipboard DataReemplaza las direcciones de billeteras de Bitcoin presentes en el portapapeles por la dirección del atacante
T1005Data from Local SystemRoba datos del sistema como el producto antivirus instalado, versión del SO, usuario, etc
T1119Automated CollectionToda la extracción de información es automatizada, sin la participación del atacante
T1008Fallback ChannelsEn caso de que el sitio al que se exfiltra la información este caído se cuenta con otro de respaldo
T1024Custom Cryptographic ProtocolLa información para conectarse al C&C se encuentra cifrada mediante un algoritmo custom similar al de otros troyanos bancarios de Latinoamérica.
T1001Data ObfuscationLos comandos intercambiados con el atacante probablemente se encuentren ofuscados
T1043Commonly Used PortLa información es exfiltrada a través del puerto TCP:80 (HTTP)
ExfiltrationT1020Automated ExfiltrationLa información es exfiltrada automáticamente, sin intervención del atacante
T1048Exfiltration Over Alternative ProtocolLa información es exfiltrada a través del protocolo HTTP
ImpactT1529System Shutdown/RebootBajo ciertas condiciones, ejecuta comandos para apagar el equipo