SOC Prime Bias: Médio

27 May 2026 15:51 UTC

BlackToad Utiliza Manipulação de Rede em um Payload AutoIt

Author Photo
SOC Prime Team linkedin icon Seguir
BlackToad Utiliza Manipulação de Rede em um Payload AutoIt
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

A JUMPSEC descobriu uma campanha de phishing que entrega uma carga útil do Remcos RAT disfarçada dentro de um cryptor AutoIt personalizado. A cadeia de infecção usa um script VBS para executar ipconfig /release seguido por ipconfig /renew, interrompendo brevemente a conectividade de rede como forma de evadir detecção. Os pesquisadores vincularam a campanha ao ecossistema de e-crime nigeriano, com infraestrutura baseada em domínios de DNS dinâmico hospedados por trás de conexões de ISP móvel.

Investigação

A investigação seguiu o e-mail malicioso, descompactou o arquivo WinRAR auto-extraível incorporado e identificou um carregador VBS que lançou um interpretador AutoIt disfarçado. O script AutoIt então descriptografou e executou o implante Remcos, enquanto a configuração recuperada expôs os domínios de comando e controle, o valor do mutex e uma chave de execução Run para persistência. Os pesquisadores mapearam a infraestrutura de suporte para três domínios de DNS dinâmicos e um conjunto rotativo de endereços IP nigerianos.

Mitigação

As organizações devem bloquear os domínios de DNS dinâmicos identificados e os intervalos de IP associados, monitorar a sequência suspeita ipconfig /release and ipconfig /renew e detectar scripts AutoIt ou VBS iniciando cmd.exe. Controles fortes de execução também devem ser aplicados a arquivos que usam extensões duplas enganosas, enquanto entradas de Run no registro, como WindowsUpdate devem ser monitoradas para abuso.

Resposta

Se esta atividade for detectada, isole imediatamente o endpoint afetado, termine o processo Remcos, remova a chave de execução maliciosa usada para persistência e execute uma revisão forense completa para roubo de credenciais ou atividades subsequentes. O conteúdo de detecção também deve ser atualizado para identificar a técnica de blackout de rede e os padrões de nome de arquivo específicos relacionados à campanha.

graph TB %% Definições de classes classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef data fill:#ccffcc %% Nós email_phishing[“<b>Ação</b> – <b>T1204.001 Execução pelo utilizador: link malicioso</b><br/>A vítima recebe um email com uma imagem contendo um link malicioso do MediaFire.”] class email_phishing action download_payload[“<b>Ação</b> – <b>T1566.001 Phishing: anexo de spearphishing</b><br/>A vítima descarrega um executável WinRAR SFX disfarçado como .pdf.scr.”] class download_payload action file_double_ext[“<b>Ação</b> – <b>T1036.007 Mascaramento: dupla extensão de ficheiro</b><br/>O ficheiro chamado <i>invoice.pdf.scr</i> oculta um executável .scr.”] class file_double_ext action script_vbs[“<b>Ação</b> – <b>T1059.005 Interpretador de comandos e scripts: Visual Basic</b><br/>O script VBS (flvs.vbe) constrói uma cadeia cmd.exe e executa comandos.”] class script_vbs action tool_autoi[“<b>Ferramenta</b> – <b>Nome</b>: Interpretador AutoIt (renomeado como .xls)<br/><b>Objetivo</b>: Executa script AutoIt malicioso.”] class tool_autoi tool script_autoi_obf[“<b>Ação</b> – <b>T1059.010 Interpretador de comandos e scripts: AutoIt/AutoHotKey</b><br/>É executado um script AutoIt fortemente ofuscado.”] class script_autoi_obf action obfusc_junk[“<b>Ação</b> – <b>T1027.016 Ficheiros ou informação ofuscados: inserção de código lixo</b><br/>O script contém 88 MB de blocos de comentários sem significado.”] class obfusc_junk action obfusc_stripped[“<b>Ação</b> – <b>T1027.008 Ficheiros ou informação ofuscados: payloads reduzidos</b><br/>Payload empacotado dentro de grandes dados de enchimento com codificação hexadecimal personalizada.”] class obfusc_stripped action malware_remcos[“<b>Malware</b> – <b>Nome</b>: Remcos RAT<br/><b>Função</b>: Acesso e controlo remoto.”] class malware_remcos malware c2_dns[“<b>Ação</b> – <b>T1071.004 Protocolo de camada de aplicação: DNS</b><br/>Comunica com servidores C2 através de hostnames Dynamic DNS sobre TLS cifrado.”] class c2_dns action persistence_autostart[“<b>Ação</b> – <b>T1547.014 Execução automática no arranque ou logon: Active Setup</b><br/>Cria a chave de registo HKCU\Software\Microsoft\Windows\CurrentVersion\Run\WindowsUpdate.”] class persistence_autostart action trusted_util[“<b>Ação</b> – <b>T1127 Execução proxy com utilitários de desenvolvimento confiáveis</b><br/>Usa o interpretador legítimo AutoIt como utilitário confiável para executar código malicioso.”] class trusted_util action deobfuscation[“<b>Ação</b> – <b>T1140 Desofuscar/decodificar ficheiros ou informação</b><br/>Investigadores descodificam PE com codificação hexadecimal personalizada e configuração Remcos cifrada com RC4.”] class deobfuscation action %% Ligações email_phishing –>|leva a| download_payload download_payload –>|contém| file_double_ext file_double_ext –>|ativa| script_vbs script_vbs –>|carrega| tool_autoi tool_autoi –>|executa| script_autoi_obf script_autoi_obf –>|inclui| obfusc_junk script_autoi_obf –>|inclui| obfusc_stripped script_autoi_obf –>|lança| malware_remcos malware_remcos –>|usa| c2_dns malware_remcos –>|estabelece| persistence_autostart tool_autoi –>|usado_como| trusted_util obfusc_junk –>|facilita| deobfuscation obfusc_stripped –>|facilita| deobfuscation

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação de Pré-vôo de Telemetria e Linha de Base deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.

  • Narrativa do Ataque e Comandos:

    1. Objetivo: Estabelecer um canal C2 com o implante Remcos do BlackToad usando um dos domínios DDNS maliciosos conhecidos na porta hard-coded 50240.
    2. Passo a passo:
      • Resolver o domínio DDNS malicioso escolhido (pmitm.ddns.net).
      • Abrir um socket TCP para o IP resolvido na porta 50240.
      • Enviar um “heartbeat” mínimo para emular o handshake inicial do implante.
      • Manter o socket aberto por 30 segundos para garantir que o firewall registre a conexão de saída.
    3. A conexão de saída corresponde exatamente à lista destination.ip e destination.port dos critérios da regra Sigma, produzindo um evento detectável no firewall.
  • Script de Teste de Regressão:

     # Simulação de comunicação C2 do BlackToad (PowerShell)
      $c2Domain = "pmitm.ddns.net"      # um dos domínios listados na regra
      $c2Port   = 50240
    
      try {
          # Resolver domínio para IP (adiciona telemetria de consulta DNS)
          $ip = [System.Net.Dns]::GetHostAddresses($c2Domain) |
                Where-Object { $_.AddressFamily -eq 'InterNetwork' } |
                Select-Object -First 1
    
          if (-not $ip) { throw "Não foi possível resolver $c2Domain" }
    
          Write-Host "Resolveu $c2Domain para $($ip.IPAddressToString). Conectando..."
    
          # Abrir conexão TCP (gera log de saída do firewall)
          $client = New-Object System.Net.Sockets.TcpClient
          $client.Connect($ip, $c2Port)
    
          # Enviar um simples heartbeat (hex 0x01)
          $stream = $client.GetStream()
          $payload = [byte[]](0x01)
          $stream.Write($payload, 0, $payload.Length)
    
          Write-Host "Heartbeat enviado. Mantendo a conexão ativa por 30 segundos..."
          Start-Sleep -Seconds 30
    
          $stream.Close()
          $client.Close()
          Write-Host "Conexão encerrada com sucesso."
      }
      catch {
          Write-Error "Simulação falhou: $_"
      }
  • Comandos de Limpeza:

     # Garantir que quaisquer sockets persistentes sejam fechados
      Get-NetTCPConnection -RemotePort 50240 -State Established |
          ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
      # Opcional: Limpar o cache DNS para remover a entrada DDNS resolvida
      ipconfig /flushdns
      Write-Host "Limpeza completa."