ESET participa da operação global para interromper o Trickbot

Ao longo de seu monitoramento, a ESET analisou milhares de amostras maliciosas todos os meses para ajudar neste esforço

A ESET colaborou com os parceiros Microsoft, Lumen’s Black Lotus Labs, NTT Ltd. e outros em uma tentativa de interromper botnets do Trickbot. A ESET contribuiu para o projeto fornecendo análise técnica, informações estatísticas e nomes de domínio e IPs de servidor de comando e controle conhecidos.

O Trickbot infectou mais de um milhão de dispositivos de computação em todo o mundo desde o final de 2016 e temos monitorado suas atividades desde o início. Só em 2020, nossa plataforma automática analisou mais de 125.000 amostras maliciosas e baixou e descriptografou mais de 40.000 arquivos de configuração usados ​​pelos diferentes módulos do Trickbot, dando-nos um excelente ponto de vista dos diferentes servidores C&C usados ​​por este botnet.

Trickbot, um botnet de longa duração

O Trickbot tem sido um grande incômodo para os usuários da Internet há muito tempo. A primeira detecção do ESET para o Trickbot foi criada no final de 2016. Durante esses anos, os comprometimentos do Trickbot foram relatados de maneira constante, tornando-o um dos maiores e mais duradouros botnets existentes. Conforme relatado em nosso Relatório de Ameaças Q1 2020 , o Trickbot é uma das famílias de malware bancário mais prevalentes. Conforme visto na Figura 1, os dados de telemetria da ESET mostram que essa cepa de malware representa uma ameaça para usuários da Internet em todo o mundo.

Figura 1. Detecções mundiais de Trickbot entre outubro de 2019 e outubro de 2020

Ao longo de sua existência, o malware Trickbot foi distribuído de várias maneiras. Recentemente, uma cadeia que observamos com frequência é o Trickbot sendo descartado em sistemas já comprometidos pelo Emotet, outro grande botnet. No passado, o malware Trickbot era aproveitado por seus operadores principalmente como um trojan bancário, roubando credenciais de contas bancárias online e tentando realizar transferências fraudulentas.

A arquitetura modular do Trickbot permite que ele execute uma vasta gama de ações maliciosas usando uma variedade de plug-ins. Ele pode roubar todos os tipos de credenciais de um computador comprometido e, mais recentemente, tem sido observado principalmente como um mecanismo de entrega para ataques mais prejudiciais, como ransomware.

Um dos plug-ins mais antigos desenvolvidos para a plataforma permite que o Trickbot use web injects , uma técnica que permite ao malware alterar dinamicamente o que o usuário de um sistema comprometido vê ao visitar sites específicos. Para operar, este plugin depende de arquivos de configuração baixados pelo módulo principal. Eles contêm informações sobre quais sites devem ser modificados e como. A Figura 2 mostra um trecho de um arquivo de configuração descriptografado contendo URLs direcionados e os URLs C&C maliciosos que o bot deve contatar quando a vítima acessa os URLs direcionados.

<dinj><lm>https://<targeted URL>/retail/*</lm><hl>https://195.123.241[.]63:446/response.php?s=1595536873511390&id=f93fXZS6rZ70s42y9uVI</hl><pri>100</pri><sq>2</sq><require_header>*text/html*</require_header></dinj><dinj><lm>https://<targeted URL>/wps/*</lm><hl>https://195.123.241[.]63:446/response.php?s=1595536873511390&id=IbvDEzyn1zHm5Bqcse2V</hl><pri>100</pri><sq>2</sq><require_header>*text/html*</require_header></dinj><dinj><lm>https://<targeted URL>/ibank/*</lm><hl>https://195.123.241[.]63:446/response.php?s=1595536873511390&id=4hXQ3ZPSm9OQIKyMQaYZ</hl><pri>100</pri><sq>2</sq><require_header>*text/html*</require_header></dinj>

Figura 2. Trecho de um arquivo de configuração dinj descriptografado (redigido)

Através do nosso monitoramento de campanhas do Trickbot, coletamos dezenas de milhares de arquivos de configuração diferentes, permitindo-nos saber quais sites foram alvos dos operadores do Trickbot. A Figura 3 mostra o número de sites extraídos dos arquivos de configuração em 2020.

Figura 3. Número de sites direcionados em 2020

Esses URLs direcionados pertencem principalmente a instituições financeiras. Há uma queda acentuada no número de alvos encontrados nesses arquivos de configuração a partir de março. Isso coincide com o momento em que os operadores do Trickbot retiraram o módulo webinject da lista de plug-ins padrão baixados automaticamente pelo módulo principal – é por isso que não temos dados em março; tivemos que ajustar nossos processos para manter a visibilidade nos URLs direcionados. Essa queda no número de alvos provavelmente se deve ao fato de a gangue do Trickbot começar a se concentrar em outro meio de monetização durante esse período: o ransomware.

Nesses casos, um comprometimento do Trickbot é primeiro aproveitado para realizar o reconhecimento e o movimento lateral na rede de uma organização e, em seguida, colocar o ransomware Ryuk no máximo de sistemas possível. A partir dos dados que coletamos, parece que os operadores do Trickbot deixaram de tentar roubar dinheiro de contas bancárias para comprometer uma organização inteira com o Trickbot e então usá-lo para executar Ryuk e exigir um resgate para desbloquear os sistemas afetados.

Também observamos novos projetos de desenvolvimento de malware supostamente vindos de operadores do Trickbot, o que também pode explicar seu súbito desinteresse em operar o Trickbot como um cavalo de Troia bancário. Um desses projetos é o chamado projeto Âncora , uma plataforma voltada principalmente para espionagem em vez de crimeware. Eles também estão provavelmente envolvidos no desenvolvimento do malware Bazar – um carregador e backdoor usado para implantar malware, como ransomware, e para roubar dados confidenciais de sistemas comprometidos.

Mergulho profundo do Trickbot

O que torna o Trickbot tão versátil é que suas funcionalidades podem ser amplamente estendidas com plug-ins. Ao longo de nosso rastreamento, fomos capazes de coletar e analisar 28 plug-ins diferentes. Alguns são destinados a coletar senhas de navegadores, clientes de e-mail e uma variedade de aplicativos, enquanto outros podem modificar o tráfego de rede ou se autopropagar. Os plug-ins do Trickbot são implementados como DLLs padrão do Windows, geralmente com pelo menos estas quatro exportações distintas: Iniciar , Controlar , Liberar e FreeBuffer .

Curiosamente, alguns têm cabeçalhos Rich, enquanto outros não. Cabeçalhos ricos são uma estrutura de dados não documentada adicionada a todos os binários criados pelo Microsoft Visual Studio 97 SP3 ou posterior. Eles contêm informações sobre o ambiente de desenvolvimento onde o executável foi construído. O fato de que os cabeçalhos Rich nem sempre estão presentes nos plug-ins – e que quando estão presentes, mostram diferentes ambientes de desenvolvimento – nos leva a acreditar que esses plug-ins foram escritos por diferentes desenvolvedores.

Não observamos muitas amostras diferentes dos diferentes plug-ins, uma vez que foram desenvolvidos e usados ​​na natureza. Os que mais mudaram são aqueles que contêm um arquivo de configuração estática embutido no binário. Esses arquivos de configuração estática contêm, entre outras coisas, informações do servidor C&C, portanto, espera-se que elas mudem com o tempo. A Figura 4 mostra o número de variações que vimos para cada módulo que coletamos por meio de nossa plataforma de rastreamento de botnet. A maioria das variantes dos módulos mais recentes vêm em pares: cerca de metade dos módulos coletados eram versões de 32 bits, enquanto a outra metade eram versões de 64 bits. No Apêndice você pode encontrar uma breve descrição de cada um desses módulos.

Figura 4. Contagem de variantes para cada plugin Trickbot

Arquivos de configuração para todos

Embora haja potencialmente muitos arquivos de configuração baixados diferentes presentes em uma instalação do Trickbot, o módulo principal contém uma configuração codificada e criptografada. Ele contém uma lista de servidores C&C, bem como uma lista padrão de plug-ins que devem ser baixados.

Conforme mencionado anteriormente, alguns plug-ins também dependem de arquivos de configuração para funcionar corretamente. Esses plug-ins contam com o módulo principal para baixar esses arquivos de configuração dos servidores C&C. Os plug-ins conseguem isso passando uma pequena estrutura de configuração do módulo, armazenada na seção de sobreposição do binário do plug-in, que permite ao módulo principal saber o que ele deve baixar.

Ser capaz de reunir esses arquivos de configuração nos permitiu mapear a infraestrutura de rede do Trickbot. O módulo principal usa sua lista de servidores C&C codificados e se conecta a um deles para baixar uma segunda lista de servidores C&C, a chamada lista psrv . O módulo principal contata esta segunda camada de servidores C&C para baixar os plug-ins padrão especificados no arquivo de configuração codificado. Outros módulos podem ser baixados posteriormente ao receber um comando para fazê-lo dos operadores do Trickbot. Alguns dos plug-ins, como o plug-in injetDll, por exemplo, têm seus próprios servidores C&C, que contêm arquivos de configuração. Finalmente, existem servidores C&C dedicados para plug-ins. Os mais prevalentes deles são os chamados dpostservidores, usados ​​para exfiltrar dados roubados, como credenciais, mas, conforme detalhado no Apêndice , existem outros. Todas essas camadas diferentes tornam o esforço de interrupção mais desafiador. A Figura 5 ilustra esse processo de comunicação inicial.

Figura 5. Processo de comunicação da rede Trickbot

Temos rastreado esses diferentes servidores C&C desde o início de 2017. Esse conhecimento foi, claro, vital no esforço de interrupção, uma vez que pudemos contribuir para o mapeamento da infraestrutura de rede usada pelos agentes maliciosos.

Outro artefato interessante que conseguimos reunir por meio do rastreamento desse botnet é o identificador exclusivo presente em cada amostra do Trickbot, o chamado gtag . Esta é uma string presente no arquivo de configuração codificado inicial que identifica diferentes campanhas do Trickbot ou modo de compromisso. Por exemplo, acredita – se que as campanhas mor sejam compromissos do Trickbot devido ao Emotet. Às vezes, gtags também podem indicar o destino de uma campanha. Um bom exemplo é uk03-1 , que visava predominantemente instituições financeiras no Reino Unido.

A Figura 6 apresenta uma linha do tempo de todas as gtags que extraímos dos arquivos de configuração do Trickbot de setembro de 2019 a setembro de 2020. Olhando para o grupo mor , podemos ver a parada abrupta das campanhas Emotet em abril de 2020. Existem também alguns grupos que são usados ​​por módulos específicos. Os grupos tot , jim e lib são alguns dos gtags vistos mais continuamente e estão associados aos módulos mshare, nworm / mworm e tab respectivamente, de acordo com uma postagem de blog recente da Unit42 . Como todos esses são usados ​​para movimento lateral, não é surpreendente ver uma linha quase constante em sua linha do tempo.

Figura 6. Linha do tempo do grupo gtags

Discurso de encerramento

Tentar interromper uma ameaça indescritível como o Trickbot é muito desafiador e complexo. Ele tem vários mecanismos de fallback e sua interconexão com outros atores cibercriminosos altamente ativos no submundo torna a operação geral extremamente complexa. Continuaremos rastreando essa ameaça e avaliando o impacto que tais ações podem ter em uma rede de bots tão extensa no longo prazo.

Agradecimentos especiais a Jakub Tomanek, Jozef Dúc, Zoltán Rusnák e Filip Mazán

Nomes de detecção ESET

Win32 / TrickBot
Win64 / TrickBot

Técnicas MITER ATT e CK

Nota: Esta tabela foi construída usando a versão 7 da estrutura MITER ATT & CK.

TáticaIDNomeDescrição
Acesso InicialT1566.001Phishing: anexo de spearphishingO Trickbot usou um e-mail com uma planilha do Excel contendo uma macro maliciosa para implantar o malware.
ExecuçãoT1059.003Intérprete de comandos e scripts: Shell de comando do WindowsO Trickbot usou cmd.exe / c para baixar e implantar o malware na máquina do usuário.
T1059.005Intérprete de comandos e scripts: Visual BasicO Trickbot usou macros em documentos do Excel para baixar e implantar o malware na máquina do usuário.
T1106API nativaO Trickbot usa a API CreateProcessW do Windows para gerenciar o fluxo de execução.
T1204.002Execução do usuário: arquivo maliciosoO Trickbot tentou fazer com que os usuários iniciassem um anexo malicioso do Excel para entregar sua carga útil.
T1059.007Intérprete de comandos e scripts: JavaScript / JscriptO grupo Trickbot usou JavaScript ofuscado para baixar o carregador do Trickbot.
T1559.001Comunicação entre processos: modelo de objeto componenteO Trickbot usou o COM para configurar a tarefa agendada para persistência.
PersistênciaT1547.001Execução de inicialização automática de inicialização ou logon: Chaves de execução do registro / pasta de inicializaçãoO Trickbot estabelece persistência na pasta de inicialização.
T1053.005Tarefa / Trabalho Agendado: Tarefa AgendadaO Trickbot cria uma tarefa agendada no sistema que fornece persistência.
Escalonamento de privilégiosT1055.012Injeção de processo: esvaziamento de processoO Trickbot se injeta no processo svchost.exe .
Evasão de DefesaT1140Desofuscar / decodificar arquivos ou informaçõesO Trickbot decodifica seus dados de configuração e módulos.
T1562.001Deteriorar as defesas: desabilitar ou modificar ferramentasO Trickbot pode desativar o Windows Defender.
T1112Modificar registroO Trickbot pode modificar as entradas do registro.
T1027Arquivos ou informações ofuscadosO Trickbot usa nomes não descritivos para ocultar a funcionalidade e usa um algoritmo de criptografia AES-CBC (256 bits) para seu carregador e arquivos de configuração.
T1027.002Pacote de SoftwareO Trickbot utiliza um empacotador personalizado para ofuscar sua funcionalidade.
T1553Subverter controles de confiançaO Trickbot usa carregadores assinados com certificados válidos roubados.
Acesso de credencialT1555.003Credenciais de armazenamentos de senhas: credenciais de navegadores da webO Trickbot pode obter senhas armazenadas por navegadores da web como Chrome, Firefox, Internet Explorer e Microsoft Edge.
T1056.004Captura de entrada: Credential API HookingO Trickbot tem a capacidade de capturar credenciais RDP capturando a API CredEnumerateA .
T1552.001Credenciais inseguras: credenciais em arquivosO Trickbot pode obter senhas armazenadas por vários aplicativos, como Outlook, Filezilla e WinSCP. Além disso, ele procura o sufixo .vnc.lnk para roubar credenciais do VNC.
T1552.002Credenciais inseguras: credenciais no registroO Trickbot pode recuperar credenciais PuTTY da chave de registro Software \ SimonTatham \ Putty \ Sessions .
T1110Força brutaO Trickbot usa um ataque de força bruta contra RDP com o módulo rdpscanDll.
DescobertaT1087.001Descoberta de conta: conta localO Trickbot coleta os usuários do sistema.
T1087.003Descoberta de conta: conta de e-mailO Trickbot coleta endereços de e-mail do Outlook.
T1082Descoberta de informações do sistemaO Trickbot coleta a versão do sistema operacional, o tipo de CPU e a quantidade de RAM disponível na máquina da vítima.
T1083Descoberta de arquivos e diretóriosO Trickbot procura no sistema todas as seguintes extensões de arquivo: .avi, .mov, .mkv, .mpeg, .mpeg4, .mp4, .mp3, .wav, .ogg, .jpeg, .jpg, .png, .bmp , .gif, .tiff, .ico, .xlsx e .zip. Ele também pode obter o histórico de navegação, cookies e informações de plug-ins.
T1016Descoberta de configuração de rede do sistemaO Trickbot obtém o endereço IP e outras informações de rede relevantes da máquina da vítima.
T1007Descoberta de serviço do sistemaO Trickbot coleta uma lista de programas e serviços instalados na máquina do sistema.
T1135Descoberta de compartilhamento de redeO módulo shareDll / mshareDll do Trickbot descobre compartilhamentos de rede por meio da API WNetOpenEnumA .
T1057Descoberta de ProcessoO Trickbot usa o módulo networkDll para descoberta da lista de processos.
Movimento lateralT1210Exploração de Serviços RemotosO Trickbot utiliza exploits EthernalBlue e EthernalRomance para movimento lateral nos módulos wormwinDll, wormDll, mwormDll, nwormDll, tabDll.
ColeçãoT1005Dados do sistema localO Trickbot coleta arquivos locais e informações da máquina local da vítima.
T1185Homem no navegadorO Trickbot usa injeção na web e redirecionamento de navegador para induzir as vítimas a fornecer suas credenciais de login em uma página da web falsa ou modificada.
Comando e controleT1071.001Protocolo de camada de aplicativo: protocolos da WebO Trickbot usa HTTPS para se comunicar com seus servidores C&C, para obter atualizações de malware, módulos que executam a maior parte da lógica do malware e vários arquivos de configuração.
T1573.001Canal criptografado: criptografia simétricaO Trickbot usa um crypter personalizado aproveitando o CryptoAPI da Microsoft para criptografar o tráfego C&C.
T1105Transferência de ferramenta de entradaO Trickbot baixa vários arquivos adicionais e os salva na máquina da vítima.
T1571Porta não padrãoAlgumas amostras do Trickbot usaram HTTP nas portas 447 e 8082 para C&C.
T1219Software de acesso remotoO Trickbot usa o módulo vncDll para controlar remotamente a máquina da vítima.
ExfiltraçãoT1041Exfiltração no canal C2O Trickbot exfila dados pelo canal C&C usando solicitações HTTP POST.

Apêndice

Módulos de movimento lateral

  • shareDll, mshareDll, tshareDll
    • Módulos usados ​​para propagar o carregador do Trickbot para compartilhamentos de rede conectados da máquina vitimada.
  • wormwinDll, wormDll, mwormDll, nwormDll
    • Módulos usados ​​para propagação dentro de uma rede local de máquinas infectadas via SMB. Ele usa o exploit EternalBlue.
  • tabDll
    • Módulo usado para se espalhar na rede usando o exploit EternalRomance.

Infostealers

  • pwgrab
    • Módulo de ladrão de senha.
  • Informação do sistema
    • Módulo usado para coletar informações sobre a máquina da vítima.
  • domainDll
    • Módulo usado para roubar credenciais e outros dados do controlador de domínio via LDAP.
  • networkDll
    • Módulo usado para coletar informações do sistema e topologia de rede.
  • outlookDll
    • Módulo usado para roubar credenciais do Microsoft Outlook.
  • importDll
    • Módulo usado para roubar informações do navegador, como cookies, histórico do navegador, configurações.
  • mailearcher
    • Módulo usado para pesquisar arquivos na máquina da vítima em uma lista de extensões codificadas (documentos, imagens, vídeo).
  • cookiesDll
    • Módulo ladrão de cookies do navegador da Web.
  • squlDll
    • Módulo usado para colher endereços de e-mail do servidor SQL e raspar credenciais do sistema infectado com o utilitário Mimikatz.
  • aDll
    • Rouba o banco de dados do Active Directory.
  • psfin
    • O módulo consulta o Active Directory em busca de constantes de string específicas relacionadas ao software de ponto de venda.

Abuso de rede

  • injectDll
    • Módulo Webinject.
  • NewBCtestDll, NewBCtestnDll
    • Módulo que é um proxy reverso capaz de executar comandos.
  • vncDll
    • Módulo usado como RAT na máquina da vítima.
  • vpnDll
    • Módulo usado para criar proxy VPN roteado para um determinado endereço.
  • rdpscanDll
    • Módulo usado para RDP de força bruta em uma determinada lista de alvos.
  • bcClientDllTestTest
    • Um módulo antigo usado para fazer proxy do tráfego do operador do Trickbot por meio de uma máquina vítima.
  • shadnewDll
    • Módulo Man-in-the-Browser. Ele contém uma implementação completa do módulo principal IcedID . Ele pode interceptar o tráfego da web na máquina da vítima.

De outros

  • mexecDll
    • Módulo “baixar e executar” de propósito geral.
Nomes de módulosSub-configRich headers
shareDll, mshareDll, tshareDllNÃO
wormwinDll, wormDll, mwormDll, nwormDllNÃO
tabDlldpostSIM
pwgrabdpostSIM
Informação do sistemaSIM
domainDllNÃO
networkDlldpostSIM
outlookDllNÃO
importDllNÃO
mailearchermailconfNÃO
cookiesDlldpostSIM
squlDllSIM
aDllSIM
psfindpostSIM
injectDlldinj, sinj, dpostSIM / NÃO
NewBCtestDll, NewBCtestnDllbcconfig3SIM
vncDllvncconfSIM
vpnDllvpnsrvSIM
rdpscanDllsrvSIM
bcClientDllTestTestSIM
shadnewDlldomSIM
mexecDllSIM

Fonte: https://www.welivesecurity.com/2020/10/12/eset-takes-part-global-operation-disrupt-trickbot