SOC Prime Bias: Medio

27 May 2026 15:51 UTC

BlackToad Usa Manipulación de Redes en una Carga Útil de AutoIt

Author Photo
SOC Prime Team linkedin icon Seguir
BlackToad Usa Manipulación de Redes en una Carga Útil de AutoIt
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

JUMPSEC descubrió una campaña de phishing que entrega un payload de Remcos RAT oculto dentro de un cifrador AutoIt personalizado. La cadena de infección utiliza un script VBS para ejecutar ipconfig /release seguido por ipconfig /renew, interrumpiendo brevemente la conectividad de red como una forma de evadir la detección. Los investigadores vincularon la campaña con el ecosistema de cibercrimen nigeriano, con una infraestructura que depende de dominios de DNS dinámicos alojados detrás de conexiones de ISP móviles.

Investigación

La investigación siguió el correo malicioso, descomprimió el archivo WinRAR autoextraíble incrustado e identificó un cargador VBS que lanzó un intérprete de AutoIt disfrazado. El script de AutoIt luego desencriptó y ejecutó el implante de Remcos, mientras que la configuración recuperada expuso los dominios de comando y control, el valor del mutex y una clave de ejecución de persistencia. Los investigadores asignaron la infraestructura de soporte a tres dominios de DNS dinámicos y un conjunto rotativo de direcciones IP nigerianas.

Mitigación

Las organizaciones deben bloquear los dominios de DNS dinámicos identificados y los rangos de IP asociados, monitorear la ipconfig /release and ipconfig /renew secuencia sospechosa y detectar scripts de AutoIt o VBS que inicien cmd.exe. También se deben aplicar controles de ejecución estrictos a los archivos que utilicen extensiones dobles engañosas, mientras que las entradas de registro de Ejecución como WindowsUpdate deben ser monitoreadas para prevenir abusos.

Respuesta

Si se detecta esta actividad, aísle el endpoint afectado inmediatamente, termine el proceso de Remcos, elimine la clave de ejecución maliciosa utilizada para la persistencia y realice una revisión forense completa para detectar el robo de credenciales o actividades posteriores. El contenido de detección también debe actualizarse para identificar la técnica de privación de red y los patrones de nombres de archivo específicos vinculados a la campaña.

graph TB %% Definiciones de clases classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef data fill:#ccffcc %% Nodos email_phishing[«<b>Acción</b> – <b>T1204.001 Ejecución del usuario: enlace malicioso</b><br/>La víctima recibe un correo electrónico con una imagen que contiene un enlace malicioso de MediaFire.»] class email_phishing action download_payload[«<b>Acción</b> – <b>T1566.001 Phishing: adjunto de spearphishing</b><br/>La víctima descarga un ejecutable WinRAR SFX disfrazado como .pdf.scr.»] class download_payload action file_double_ext[«<b>Acción</b> – <b>T1036.007 Enmascaramiento: doble extensión de archivo</b><br/>El archivo llamado <i>invoice.pdf.scr</i> oculta un ejecutable .scr.»] class file_double_ext action script_vbs[«<b>Acción</b> – <b>T1059.005 Intérprete de comandos y scripts: Visual Basic</b><br/>El script VBS (flvs.vbe) construye una cadena cmd.exe y ejecuta comandos.»] class script_vbs action tool_autoi[«<b>Herramienta</b> – <b>Nombre</b>: Intérprete AutoIt (renombrado como .xls)<br/><b>Propósito</b>: Ejecuta script AutoIt malicioso.»] class tool_autoi tool script_autoi_obf[«<b>Acción</b> – <b>T1059.010 Intérprete de comandos y scripts: AutoIt/AutoHotKey</b><br/>Se ejecuta un script AutoIt fuertemente ofuscado.»] class script_autoi_obf action obfusc_junk[«<b>Acción</b> – <b>T1027.016 Archivos o información ofuscados: inserción de código basura</b><br/>El script contiene 88 MB de bloques de comentarios sin sentido.»] class obfusc_junk action obfusc_stripped[«<b>Acción</b> – <b>T1027.008 Archivos o información ofuscados: payloads reducidos</b><br/>Payload empaquetado dentro de grandes datos de relleno con codificación hexadecimal personalizada.»] class obfusc_stripped action malware_remcos[«<b>Malware</b> – <b>Nombre</b>: Remcos RAT<br/><b>Función</b>: Acceso y control remoto.»] class malware_remcos malware c2_dns[«<b>Acción</b> – <b>T1071.004 Protocolo de capa de aplicación: DNS</b><br/>Se comunica con servidores C2 mediante hostnames Dynamic DNS sobre TLS cifrado.»] class c2_dns action persistence_autostart[«<b>Acción</b> – <b>T1547.014 Ejecución automática al inicio o inicio de sesión: Active Setup</b><br/>Crea la clave de registro HKCU\Software\Microsoft\Windows\CurrentVersion\Run\WindowsUpdate.»] class persistence_autostart action trusted_util[«<b>Acción</b> – <b>T1127 Ejecución proxy mediante utilidades de desarrollador confiables</b><br/>Usa el intérprete legítimo AutoIt como utilidad confiable para ejecutar código malicioso.»] class trusted_util action deobfuscation[«<b>Acción</b> – <b>T1140 Desofuscar/decodificar archivos o información</b><br/>Los investigadores decodifican PE con codificación hexadecimal personalizada y configuración Remcos cifrada con RC4.»] class deobfuscation action %% Conexiones email_phishing –>|conduce a| download_payload download_payload –>|contiene| file_double_ext file_double_ext –>|activa| script_vbs script_vbs –>|carga| tool_autoi tool_autoi –>|ejecuta| script_autoi_obf script_autoi_obf –>|incluye| obfusc_junk script_autoi_obf –>|incluye| obfusc_stripped script_autoi_obf –>|lanza| malware_remcos malware_remcos –>|usa| c2_dns malware_remcos –>|establece| persistence_autostart tool_autoi –>|usado_como| trusted_util obfusc_junk –>|facilita| deobfuscation obfusc_stripped –>|facilita| deobfuscation

Flujo de Ataque

Ejecución de Simulación

Prerrequisito: La Verificación Previa de Telemetría y Línea Base debe haberse completado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y buscan generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa del Ataque y Comandos:

    1. Objetivo: Establecer un canal C2 con el implante Remcos de BlackToad utilizando uno de los dominios maliciosos conocidos de DDNS en el puerto codificado 50240.
    2. Paso a paso:
      • Resolver el dominio DDNS malicioso elegido (pmitm.ddns.net).
      • Abrir un socket TCP a la IP resuelta en el puerto 50240.
      • Enviar una carga útil mínima de “latido” para emular el saludo inicial del implante.
      • Mantener el socket abierto durante 30 segundos para asegurar que el firewall registre la conexión saliente.
    3. La conexión saliente coincide exactamente con la lista de reglas Sigma de destination.ip y los destination.port criterios, produciendo un evento detectable del firewall.
  • Script de Prueba de Regresión:

     # Simulación de comunicación C2 de BlackToad (PowerShell)
      $c2Domain = "pmitm.ddns.net"      # uno de los dominios listados en la regla
      $c2Port   = 50240
    
      try {
          # Resolver dominio a IP (agrega telemetría de consulta DNS)
          $ip = [System.Net.Dns]::GetHostAddresses($c2Domain) |
                Where-Object { $_.AddressFamily -eq 'InterNetwork' } |
                Select-Object -First 1
    
          if (-not $ip) { throw "No se puede resolver $c2Domain" }
    
          Write-Host "$c2Domain resuelto a $($ip.IPAddressToString). Conectando..."
    
          # Abrir conexión TCP (genera registro de salida del firewall)
          $client = New-Object System.Net.Sockets.TcpClient
          $client.Connect($ip, $c2Port)
    
          # Enviar un latido simple (hex 0x01)
          $stream = $client.GetStream()
          $payload = [byte[]](0x01)
          $stream.Write($payload, 0, $payload.Length)
    
          Write-Host "Latido enviado. Manteniendo la conexión activa durante 30 segundos..."
          Start-Sleep -Seconds 30
    
          $stream.Close()
          $client.Close()
          Write-Host "Conexión cerrada correctamente."
      }
      catch {
          Write-Error "La simulación falló: $_"
      }
  • Comandos de Limpieza:

     # Asegurarse de que cualquier socket restante esté cerrado
      Get-NetTCPConnection -RemotePort 50240 -State Established |
          ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
      # Opcional: Vaciar caché DNS para eliminar la entrada resuelta de DDNS
      ipconfig /flushdns
      Write-Host "Limpieza completa."