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.

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."