REM-0101 - brbbot.exe

REM-0101 - brbbot.exe
Publicado em 15/10/24 18:10
Visualizações: 73

Quando um malware como o age nas sombras, é a análise precisa que traz à luz seus movimentos ocultos

Após concluir o curso FOR610: Reverse-Engineering Malware: Malware Analysis Tools and Techniques da SANS Institute, decidi aprofundar meus conhecimentos com estudos práticos, aplicando as técnicas de análise reversa em amostras reais de malware. Neste post, apresento um estudo inicial sobre o brbbot.exe, um trojan detectado a cerca de três anos. Detalhes podem ser encontrados no VirusTotal.

O foco está na análise comportamental do malware, que segue os princípios aprendidos no curso FOR610 e utiliza algumas ferramentas para realizar a engenharia reversa. O objetivo é descrever as fases de análise estática e dinâmica, apontando as técnicas e ferramentas usadas em cada etapa.

1 - Coleta de informações (fingerprint):

A primeira etapa da análise é coletar o máximo de informações sobre o arquivo suspeito. Para isso, usamos o peframe, uma ferramenta que nos ajuda a obter dados básicos do binário:

peframe brbbot.exe | more

REM-0101 - brbot.exe

REM-0101 - brbot.exe

REM-0101 - brbot.exe

REM-0101 - brbot.exe

O peframe nos revela informações importantes sobre as seções e as dependências do binário.

Exeinfo PE no Windows:

Para complementar, utilizamos o Exeinfo PE no Windows para identificar o packer ou compilador utilizado:

REM-0101 - brbot.exe

Outra ferramenta útil é o diec (Detect It Easy), usada para obter mais detalhes sobre o compilador:

diec brbbot.exe

REM-0101 - brbot.exe

2 - Ativação do malware:

Após a coleta de informações preliminares, passamos para a etapa de ativação do malware. Para isso, é necessário preparar o ambiente de análise com os seguintes aplicativos:

  1. Wireshark no Remnux
  2. RegShot
  3. Process Hacker
  4. Process Monitor

Realizar primeiro snapshot do host Windows:

O primeiro passo é realizar um snapshot do sistema utilizando o RegShot, para podermos comparar as mudanças após a execução do malware:

REM-0101 - brbot.exe

Configuração do Fakedns e Wireshark:

Iniciamos o fakedns no Remnux e preparamos o Wireshark para capturar o tráfego gerado pelo malware:

REM-0101 - brbot.exe

REM-0101 - brbot.exe

Execução do malware

O próximo passo é descompactar o brbbot.exe no diretório AppData\Roaming, criando um atalho na área de trabalho com permissões de administrador:

REM-0101 - brbot.exe

Com o malware pronto, iniciamos o Process Hacker e o Process Monitor para monitorar a atividade do sistema, enquanto o Wireshark captura o tráfego.

Após 30 segundos, finalizamos a execução do malware e interrompemos as ferramentas de captura:

REM-0101 - brbot.exe

3 - Análise Pós-Execução

Comparação de Snapshots:

REM-0101 - brbot.exe

Utilizamos o RegShot para comparar o sistema antes e depois da execução, identificando chaves de registro adicionadas pelo malware:

REM-0101 - brbot.exe

REM-0101 - brbot.exe

Com o Process Monitor, filtramos os eventos ligados ao brbbot.exe para rastrear a criação de arquivos:

REM-0101 - brbot.exe

Exportamos o log do Process Monitor e o abrimos com o ProcDOT para visualizar graficamente as atividades do malware:

REM-0101 - brbot.exe

REM-0101 - brbot.exe

4 - Análise de tráfego:

Finalmente, analisamos o tráfego capturado durante a execução. A ferramenta Wireshark permite seguir o fluxo de comunicação TCP:

REM-0101 - brbot.exe

REM-0101 - brbot.exe

Repetir o processo inicializando o serviço http, para permitir a análise de requisições do malware, remediando o "resource starvation" do malware:

REM-0101 - brbot.exe

REM-0101 - brbot.exe

Clicando em Follow TCP Stream:

REM-0101 - brbot.exe

Detectamos um código ofuscado sendo transmitido, além de informações do host infectado.

Análise de String:

Utilizando o comando xxd, decodificamos a string transmitida, deixando o código ofuscado para uma análise futura:

REM-0101 - brbot.exe

xxd -r -p file

REM-0101 - brbot.exe

Esse é um exemplo de como realizar uma análise detalhada de um malware em um ambiente controlado, desde a coleta de informações iniciais até a inspeção de tráfego e alterações no sistema.

5 - Análise dinâmica:

Utilizando o emulador Speakeasy:

speakeasy -t brbbot.exe -o speakeasy.json 2> speakeasy.txt

REM-0101 - brbot.exe

REM-0101 - brbot.exe

Utilizando o capa:

capa brbbot.exe | more

REM-0101 - brbot.exe

 REM-0101 - brbot.exe

A opção -vv apresentará textos suprimidos, incluindo as chamadas de API.

Utilizando o x64dbg:

REM-0101 - brbot.exe

Setando o break pont na chamada de ReadFile (apertar enter depois):

REM-0101 - brbot.exe

Rode o programa apertando F9:

REM-0101 - brbot.exe

Selecionando a aba Handles e executando o refresh  (F5) é possível verificar os pontos de manipulação para a criação do arquivo brbconfig.tmp:

REM-0101 - brbot.exe

Executando Alt + F9:

REM-0101 - brbot.exe

É possível visualizar a chamada da API CryptDecrypt, utilizada para decifrar dados previamente encriptados. Realizando a execução do programa até a chamada da API, clicando em "test eax,eax", abaixo da chamada, e depois F4:

REM-0101 - brbot.exe

As strings ficam visíveis nesse momento por estarem no buffer, apresentando possíveis comandos úteis para um Comando e Controle (C2):

REM-0101 - brbot.exe

Há o detalhe do parâmetro 5b, possivelmente uma chave para processo de codificação ou decodificação.

Testando uma outra abordagem utilizando o API Monitor x64 (o x64dbg deve estar fechado, bem como processos de ativação da amostra devem estar encerrados):

REM-0101 - brbot.exe

O API Monitor apresenta de forma mais simples e com maior rapidez os dados encriptados, caso existam:

REM-0101 - brbot.exe

6 - Decodificando o código obfuscado:

Com uma possível chave e o texto capturado pelo WireShark, o CyberChef, presente no host Remnux, pode ser utilizado para a tentativa de decodificação, presumindo que foi utilizada a execução de um XOR com a chave:

REM-0101 - brbot.exe

Analisando os parâmetros e o texto encodado, possivelmente o malware envia dados do host infectado, e está preparado para executar instruções de acordo com os parâmetros recebidos como resposta da requisição à ads.php, com um intervalo previamente definido (sleep), possivelmente de três segundos.

Realizando teste de interação, com o malware ainda ativo e inserindo um comando de execução como valor do parâmetro cexe, obtemos com sucesso a abertura do programa designado, o netpad:

REM-0101 - brbot.exe

O tixe foi inserido para encerrar a execução de aberturas do programa.

REM-0101 - brbot.exe

Desta forma, é possível inferir com o artefato funciona como um backdoor, efetuando comunicação direta com um C2 definido no domínio brb.3dtuts.by e preparado para receber instruções de execução, com capacidade para exfiltração de dados.

Conclusão

A análise do malware brbot.exe reforça a importância de uma abordagem sistemática ao lidar com ameaças digitais. O uso de ferramentas especializadas, como o API Monitor e Wireshark, permitiu identificar o comportamento malicioso do executável, suas conexões de rede e os dados exfiltrados. Esse estudo prático não apenas ilustra a eficácia de metodologias de análise, mas também destaca a relevância de um ambiente controlado para explorar malwares em profundidade, contribuindo para a melhoria contínua da segurança digital.

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Aceito Não aceito