Por Threat Intelligence Team

Na última semana, a equipe de Threat Intelligence da Tempest identificou a disseminação do trojan bancário Vadokrist por meio de uma campanha de spear phishing que usa o Pix como mote. A ameaça, que tem como alvo os clientes dos principais bancos brasileiros, abusa da técnica de DLL Injection no seu processo de infecção e faz uso da plataforma GitHub para hospedar e consultar informações necessárias ao funcionamento da campanha.

Distribuição da ameaça

Beneficiando-se da popularização do Pix, os operadores iniciam a distribuição do trojan por meio de uma campanha de spear phishing que tenta persuadir o usuário a baixar e executar um arquivo ZIP em anexo com a promessa de proteger o computador contra fraudes e pagamentos indevidos. Para dar mais credibilidade à engenharia social aplicada aos e-mails, os operadores comprometeram previamente alguns domínios legítimos e fizeram uso da técnica de Email Spoofing, além de usarem domínios recém criados usando o TLD .com. br com menção ao Pix.

Reprodução da mensagem enviada pelos operadores do Vadokrist com menção ao Pix. Imagem: Tempest

Infecção, persistência e comando e controle

A infecção com o Vadokrist se inicia com a execução de um arquivo de instalação no formato MSI, o qual executa um script JavaScript ofuscado que é responsável por fazer o download de uma DLL maliciosa e de um arquivo executável legítimo e assinado pela empresa Macro Recorder. Este executável injeta a DLL maliciosa no sistema por meio da técnica de DLL Injection e, em seguida, cria uma tarefa de persistência adicionando uma entrada para uma chave de registro do Windows, fazendo com que a ameaça seja executada com o mesmo nível de permissão da conta do usuário corrente sempre que for efetuado o login no sistema. Enquanto a persistência é criada, a DLL injetada consulta um arquivo hospedado no GitHub que contém strings cifradas referentes aos endereços IP do servidor de comando e controle (C2) e a URL de download da última porção da ameaça; um segundo arquivo MSI com funções de backdoor, que será baixado, decifrado e executado pela DLL.

Após a infecção, a ameaça permanece em “modo de espera” aguardando a vítima acessar a página web de alguma instituição bancária que faça parte da sua lista de alvos. Quando esse acesso é identificado, a comunicação com o C2 é estabelecida e o malware aguarda a vítima digitar as credenciais para então capturá-las e enviá-las ao servidor. Além de credenciais de serviços bancários, o trojan também envia informações sobre a máquina infectada, como a versão do sistema operacional, do navegador de Internet, do malware que atingiu o sistema, dentre outras coisas.

Processo de infecção do Vadokrist. Imagem: Tempest.

Decifragem de strings

Para analisar o comportamento do Vadokrist, a Tempest desenvolveu um script em Python com a função de decifrar as strings do malware. Isto foi possível, pois o algoritmo utilizado na criptografia das strings é bem semelhante ao de outras famílias de malware latino-americanas e, além disso, as chaves necessárias para a decifragem foram identificadas entre os binários do malware. Algumas das strings decifradas tratavam-se de endereços IP dos servidores controlados pelo atacante e da URL de download da última parte da ameaça.

Conclusão

Apesar do trojan Vadokrist ser pouco reportado pela mídia especializada, a Tempest tem observado uma constante atualização no modo de operação e na engenharia social aplicada às campanhas promovidas por este trojan.

O uso da temática do Pix evidencia o esforço dos operadores em atingir o maior número de vítimas possível, expandindo o alcance de distribuição da ameaça. No entanto, a Tempest reforça que esse abuso se limitou apenas à campanha de spam, não sendo identificados processos, strings ou quaisquer tentativas de captura de chaves Pix em nenhuma etapa de execução do malware.

Essa nova versão conta com métodos de ofuscação robustos para proteger suas configurações, além de fazer uso de uma plataforma pública como o GitHub para armazenar, sob a forma de strings cifradas, as informações necessárias a execução da campanha.

Embora o Vadokrist seja direcionado a alvos no Brasil, a Tempest acredita que esse direcionamento possa ser mais amplo em atualizações futuras, pois este trojan compartilha várias características com outras famílias de malware que atingem a América Latina.

IOCs

URLs

[http://13[.]65[.]56[.]28/findP]

[http://157[.]55[.]80[.]194/newT[.]ZIP]

[http://104[.]214[.]65[.]89/JobCompressS[.]ZIP]

[http://summergs[.]worse-than[.]tv/MelaMEOMSJ1029192Ds[.]php]

[http://vaigama[.]scrapping[.]cc/BertolmeLAMES0190[.]php]

[http://vaiost[.]ftpaccess[.]cc/Vasftlomber901gtdma[.]php]

Github

https://github[.]com/rodolfocarlos/produtcs-api

[https://raw[.]githubusercontent[.]com/rodolfocarlos/produtcs-api/main/updater[.]md]

[https://github[.]com/rodolfocarlos/produtcs-api/blob/main/DISCOVERYP[.]md]

[https://github[.]com/rodolfocarlos/produtcs-api/blob/main/DISCOVERYM[.]md]

[https://github[.]com/rodolfocarlos/produtcs-api/blob/main/DISCOVERYL[.]md]

E-mails utilizados no spam

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

IPs

104[.]41[.]1[.]116

35[.]223[.]36[.]252

151[.]101[.]0[.]133

13[.]89[.]234[.]31

191[.]234[.]186[.]245

70[.]37[.]101[.]247

20[.]52[.]58[.]124

Hashes

Filename: PIX-SEC30.ZIP

Md5: 1854de6a97f87bc723011722e799d016

Sha1: c6644ea2d60762b209bef23905bfa226f7be7d11

Sha256: 3b4f844359e5af7a78da08293f4d29bb1c301c3a12159f98e2a8820e91ebe7c4

Filename: PIX-SEC30.msi

Md5: 6fd80f160afc4641fce125735d32d065

Sha1: 63cae2b9a36f42355d4b09849668a0ec661137e8

Sha256: fb240b75af99c31735eae08e5d1f631d6932268dcfae290058bab4e483743040

Filename: Keys Recorder15.ZIP

Md5: 6892225255a998ad93b82ab740fab072

Sha1: c6ecf20a88079ea4c09a0f9cbea95fa9d5011e5c

Sha256: d321a2472e99fa6f41128cca7d671f1e1561003c004162acbc7fe61a878c73da

Filename: MacroRecorder.exe (Binário legítimo)

Md5: 67ced7026bfe75d93263a70fdef5b9c5

Sha1: 9673baf1ee29d2d2a8176715c3e6c6f54140d95f

Sha256: 93a359ddf66b4867493e6c5a90cf607da2b45bc83f1ce740aa1c7cdb0131244e

Filename: mrkey.dll

Md5: 14336c3ba1a725c2ea035ac251724445

Sha1: 526faed6e386fc4cc0a367488a4b3874c59cec1f

Sha256: 83d9aca673ae2415b57d7c631be1334d4259cc00aee17f84d710868a1186f377

Filename: findP.msi

Md5: 4294c873d792baf09b747b07cccefc01

Sha1: 3e7a69ea1a34361eaa94d4e4744d560edacaa268

Sha256: 48f8d0ccded94533fd38b98031e31187c49728314015cdb09c48ed79dc474dae