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.
É 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:
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:
- 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.
- Script de Autoit (.au3): contém instruções para carregar a DLL do Mekotio e executar uma das funções que ela exporta.
- Mekotio (.dll): essa DLL contém todo o código que executará as atividades maliciosas que serão explicadas abaixo.
- 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:
- Uma entrada é gravada em uma das chaves de autorun do registro, adicionando um comando para executar o malware.
- 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.
Passo 2: o usuário cola o endereço que copiou anteriormente.
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.
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.
É 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".
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:
|
|
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áctica | ID | Nombre | Descripción |
---|---|---|---|
Initial access | T1192 | Spearphishing Link | El ataque comienza mediante el envío de un link malicioso |
T1194 | Spearphishing via Service | Las direcciones de email personal también son alcanzadas por el spearphishing | |
Execution | T1204 | User Execution | La etapa inicial de instalación requiere que el usuario ejecute el instalador malicioso |
T1064 | Scripting | El instalador contiene un script malicioso que descarga el malware y lo instala en el sistema | |
T1129 | Execution through Module Load | La ejecución de Mekotio comienza cuando el script de Autoit carga la dll y ejecuta la función inicial | |
T1059 | Command-Line Interface | A lo largo de su ejecución Mekotio tiene la capacidad para ejecutar varios comandos a través de cmd.exe | |
Persistence | T1060 | Registry Run Keys / Startup Folder | La persistencia es establecida en una entrada de autorun del registro o mediante un acceso directo en la carpeta de inicio |
Defense evasion | T1497 | Virtualization/Sandbox Evasion | Mekotio cuenta con protección para detectar si está siendo ejecutado en una máquina virtual |
Credential access | T1503 | Credentials from Web Browsers | Roba credenciales almacenadas por navegadores como Google Chrome y Opera |
T1056 | Input Capture | Roba credenciales bancarias al capturar el input ingresado en ventanas falsas | |
Collection | T1074 | Data Staged | Almacena la información en archivos específicos para luego exfiltrarla |
T1115 | Clipboard Data | Reemplaza las direcciones de billeteras de Bitcoin presentes en el portapapeles por la dirección del atacante | |
T1005 | Data from Local System | Roba datos del sistema como el producto antivirus instalado, versión del SO, usuario, etc | |
T1119 | Automated Collection | Toda la extracción de información es automatizada, sin la participación del atacante | |
T1008 | Fallback Channels | En caso de que el sitio al que se exfiltra la información este caído se cuenta con otro de respaldo | |
T1024 | Custom Cryptographic Protocol | La información para conectarse al C&C se encuentra cifrada mediante un algoritmo custom similar al de otros troyanos bancarios de Latinoamérica. | |
T1001 | Data Obfuscation | Los comandos intercambiados con el atacante probablemente se encuentren ofuscados | |
T1043 | Commonly Used Port | La información es exfiltrada a través del puerto TCP:80 (HTTP) | |
Exfiltration | T1020 | Automated Exfiltration | La información es exfiltrada automáticamente, sin intervención del atacante |
T1048 | Exfiltration Over Alternative Protocol | La información es exfiltrada a través del protocolo HTTP | |
Impact | T1529 | System Shutdown/Reboot | Bajo ciertas condiciones, ejecuta comandos para apagar el equipo |