Há algumas semanas, temos analisado como o cibercrime está se desenvolvendo no Brasil, migrando para novas plataformas e utilizando diversas linguagens de programação para tentar evitar as detecções. Já analisamos um downloader de trojans bancários feito em JavaScript e outro em Java. Hoje veremos como o mesmo grupo de cibercriminosos também utiliza o Visual Basic Script (VBS) para propagar as ameaças.
As duas ameaças analisadas há algumas semanas tinham a particularidade de estarem hospedadas em um serviço de cloud baseado em Portugal. Este outro arquivo, no entanto, se encontra hospedado em um servidor diferente, ainda também de um serviço de arquivos compartilhados. Todas estas ameaças compartilham um mesmo método de propagação, por meio de mensagens de email que se disfarçam de entidades bancárias. Logo, uma vez que descarregamos o arquivo .vbs, podemos ver que se encontra deobfuscado:
Esta criptografía XOR é muito fácil de reverter, obtendo o código original em Visual Basic Script. Rapidamente observamos que é feito o download de um arquivo comprimido com senha, que é extraído com outro aplicativo que também é baixado pelo malware. Neste sentido, “7za.exe” não é malicioso, apenas é utilizado para obter o executável por meio do .zip baixado, o qual em seguida é executado pelo script:
Os comentários que observamos no código estão em português e pertencem ao criador do script. No entanto, nos chama a atenção “link do seu do modulo”. O pronome “seu” nos leva a pensar que o script foi gerado com alguma ferramenta ou o código foi copiado de algum exemplo, já que não diz “meu” módulo.
Então, o que é este arquivo extraído e executado pelo script? A detecção da ESET é uma variante do Win32/Packed.Autoit.R; vemos como outra linguagem a mais é utilizada por este grupo de criminosos. O executável, gerado com um script do AutoIt, não tem outra função além de injetar um trojan bancário na memória: cria-se um processo em um estado suspenso, se substitui a imagem na memória pela do malware e se executa (técnica conhecida como RunPE).
Este último executável é detectado pela ESET como Win32/Spy.Banker.ACSJ, um trojan bancário escrito em Delphi (típico no Brasil) e com strings criptografados com o mesmo algoritmo que é baixado pelo downloader em JavaScript que havíamos visto anteriormente.
O banker tem diversas funcionalidades para o roubo de informação, embora não iremos nos deter muito neste aspecto agora (nesta análise). Vale a pena mencionar que não se utiliza DDE, como o banker que havíamos visto na ameaça JavaScript, apenas que carrega funções de oleaut32.dll para a automatização de ações sobre o Internet Explorer, caso se detecte que a vítima está navegando pelo site de determinados bancos. Em seguida, o banker carrega falsos formulários com imagens semelhantes às dos sites reais, como forma de capturar as credenciais bancárias das vítimas.
Nos últimos três posts relacionamos várias plataformas ou linguagens utilizadas para as ameaças com a mesma campanha. É surpreendente a quantidade de técnicas e diferentes recursos utilizados pelos cibercriminosos para a propagação de ameaças no Brasil. O último componente da cadeia nestes ataques continua sendo o trojan bancário escrito em Delphi, que há anos está presente no país, já iniciamos a observar como se atualiza o código, para adaptá-lo às novas medidas de segurança que apresentam as instituições bancárias no Brasil.