No final de 2017, um grupo de pesquisadores do laboratório de malware da ESET Praga decidiu analisar em profundidade os trojans bancários escritos em Delphi que afetam o Brasil. Estendemos nosso foco para outras partes da América Latina (México e Chile) logo após percebermos que muitas dessas ameaças também apontavam para esses países. Nosso principal objetivo foi descobrir se existe uma maneira de classificar esses trojans bancários e aprender mais sobre seu comportamento em geral.
Aprendemos muito - identificamos mais de 10 novas famílias de malware, estudamos as cadeias de propagação e as associamos às novas famílias, além de analisar o comportamento interno dessas ameaças.
Por isso, decidimos trabalhar em uma série de posts (que publicaremos a cada dois meses) nos quais compartilharemos os resultados de nossa pesquisa e a análise de cada uma das famílias que foram identificadas. À medida que forem publicados, incluiremos, no final deste post, o link para cada um dos posts correspondentes à análise das famílias desses trojans bancários.
Quais são as particularidades dos trojans bancários na América Latina?
Antes de dar continuidade, vamos definir as características desse tipo de trojans bancários:
- Estão escritos na linguagem de programação Delphi
- Contam com funcionalidades de backdoor
- Usam longas cadeias de propagação
- Podem dividir suas funcionalidades em múltiplos componentes
- Normalmente se aproveitam das ferramentas e dos softwares legítimos
- Estão direcionados a países onde o português e o espanhol são falados
Encontramos outras características comuns durante a nossa pesquisa. A maioria dos trojans bancários na América Latina que analisamos estão conectados ao servidor C&C e permanecem conectados à espera de qualquer comando enviado pelo servidor. Uma vez que eles recebem um comando, o executam e aguardam para receber um novo. Os comandos provavelmente são enviados manualmente pelos atacantes. Você pode pensar nessa maneira de operar como se fosse uma sala de bate-papo na qual todos os membros reajem ao que o administrador escreve.
O endereço do servidor C&C parece ser a informação que os autores desses malwares mais protegem. Encontramos muitas maneiras diferentes de ocultar o endereço atual; algo que discutiremos nesta série de publicações. Além do servidor C&C, uma URL diferente é usada pelo malware para enviar informações sobre a identificação da vítima. Isso ajuda ao atacante a monitorar as infecções bem-sucedidas.
Os trojans bancários na América Latina costumam usar algoritmos criptográficos geralmente desconhecidos e é comum que diferentes famílias os utilizem. Identificamos um livro e uma livraria gratuita em Delphi em que os autores aparentemente se inspiraram.
O fato deste malware estar escrito em Delphi indica que os arquivos executáveis têm pelo menos alguns megabytes de tamanho, porque o núcleo do Delphi está presente em cada binário. Além disso, a maioria dos trojans bancários na América Latina contém um grande número de recursos, o que causa um grande aumento no tamanho dos arquivos. Descobrimos amostras com tamanhos de arquivo que atingem várias centenas de megabytes. Nestes casos, o tamanho do arquivo foi deliberadamente aumentado para evitar a detecção.
Descobrindo famílias de malware
Ao analisarmos esses executáveis, não foi difícil determinar rapidamente que se tratava de um trojan bancário malicioso. Juntamente com as características acima mencionadas, os autores tendem a copiar o trabalho feito por outros ou elaborar seu malware a partir de uma fonte comum. Como resultado, a maioria dos trojans bancários acabam sendo parecidos entre si. Esta é a principal razão pela qual geralmente só vemos detecções genéricas.
Nossa pesquisa começou com a identificação de fortes características que nos permitissem estabelecer famílias de malware. Com o tempo, conseguimos fazer isso e identificar mais de 10 novas famílias diferentes. Os recursos que usamos foram principalmente como as strings são armazenadas, como obter o endereço do servidor C&C e outras semelhanças de código.
Seguindo a cadeia de propagação
A maneira mais fácil de propagar esses trojans bancários é através do uso de um único downloader (um arquivo executável do Windows) específico para essa família. Este downloader às vezes finge ser o instalador de um software legítimo. Este método é simples, mas também o menos comum.
Muito mais comum é usar uma cadeia de propagação de vários estágios que normalmente emprega várias camadas de downloaders escritos em linguagens de script, como JavaScript, PowerShell ou Visual Basic Script (VBS). Esse tipo de cadeia geralmente consiste em pelo menos três estágios. A carga final é comumente entregue por meio de um arquivo zip que contém apenas o trojan bancário ou componentes adicionais junto a ameaça. A principal vantagem que os autores de malware obtêm desse método é que é muito difícil para os pesquisadores de malware chegar ao final da cadeia e, portanto, analisar a carga útil final. No entanto, também é mais fácil para uma solução antivírus interromper a ameaça, pois ela precisa apenas quebrar um elo na cadeia.
Estratégia para roubar dinheiro
Ao contrário da maioria dos trojans bancários, os que se apresentam na América Latina não usam injeção web, mas usam uma forma de engenharia social. Eles detectam continuamente as janelas ativas no computador da vítima e, se encontrarem uma relacionada a uma instituição bancária, iniciam seu ataque.
O objetivo do ataque é quase sempre persuadir o usuário para realizar uma ação em particular e/ou urgente. Isso pode ser a atualização do aplicativo bancário usado pela vítima ou a verificação das informações de um cartão de crédito e as credenciais de acesso à conta bancária. Desta forma, uma janela pop-up falsa é usada para roubar esses dados assim que a vítima entra nela (imagem A) ou um teclado virtual que atua como um keylogger (imagem B) também é usado. As informações confidenciais são enviadas ao atacante, que usará esses dados da maneira que julgar mais conveniente.
Análise de famílias de trojans bancários na América Latina
Confira os links para os artigos com a análise técnica e comportamental das diferentes famílias de trojans bancários na América Latina que publicaremos a cada dois meses.