Dentro de la Evolución del Oficio de TAG-150 con DinDoor, DenoRAT y NightshadeC2
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
TAG-150 está utilizando una cadena de intrusión sofisticada de múltiples etapas construida alrededor de malware basado en Deno. La campaña se basa en ingeniería social tipo ClickFix para activar la ejecución de un instalador MSI, que luego despliega DinDoor, DenoRAT y, finalmente, NightshadeC2. Al aprovechar el runtime de Deno, los atacantes obtienen capacidades avanzadas de acceso remoto y robo de información.
Investigación
La Unidad de Respuesta a Amenazas de eSentire interrumpió un comando estilo ClickFix dentro del entorno de un cliente financiero. La investigación descubrió una secuencia de infección que comenzó con un comando de aviso de ejecución de Windows, seguido de una etapa de PowerShell generada por IA, Griffin20.ps1, usada para instalar el runtime de Deno. Las etapas posteriores involucraron DinDoor, DenoRAT y un cargador en memoria basado en Python que entregó el RAT NightshadeC2.
Mitigación
Las organizaciones deberían considerar deshabilitar el aviso de ejecución de Windows a través de Objetos de Directiva de Grupo donde sea operativamente factible. También se recomienda implementar un programa robusto de capacitación en concienciación sobre seguridad y phishing para reducir el éxito de los engaños estilo ClickFix. Desplegar antivirus de próxima generación o soluciones de detección y respuesta en el endpoint es esencial para la visibilidad, detección y contención.
Respuesta
Si se detecta esta actividad, el host afectado debe ser aislado inmediatamente para contener la cadena de infección. Las organizaciones deberían contar con un proveedor de detección y respuesta gestionada 24/7 o un equipo de respuesta a incidentes equivalente para apoyar la contención rápida y la remediación completa. También se recomienda el monitoreo continuo de los componentes de malware basados en Deno identificados.
Flujo de Ataque
Detecciones
Puntos de persistencia posibles [ASEPs – Software/Hive de NTUSER] (mediante registry_event)
Ver
Ejecución de Python desde carpetas sospechosas (mediante cmdline)
Ver
Descarga o carga vía Powershell (mediante cmdline)
Ver
Intento de abuso del runtime de Deno posible (mediante process_creation)
Ver
Conhost de LOLBAS (mediante cmdline)
Ver
Llamada a métodos sospechosos .NET desde Powershell (mediante powershell)
Ver
Descarga de ejecutable sospechosa (mediante proxy)
Ver
IOCs (HashSha256) para detectar: DinDoor, DenoRAT y NightshadeC2: Analizando el comercio en evolución del TAG-150
Ver
Detectar solicitudes GET a puntos finales de usuario y evento de mensajes asociados con DenoRAT [Conexión de red de Windows]
Ver
Ejecución de simulación
Prerequisito: El chequeo previo 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 desencadenar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntan a generar exactamente la telemetría esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa del Ataque & Comandos: El adversario ha establecido con éxito un punto de apoyo en un host de Windows y está intentando activar su baliza DenoRAT. Para evadir las EDR tradicionales basadas en firmas, el malware utiliza patrones de red «Living-off-the-Land», comunicándose a través de HTTP/S estándar. El malware intentará registrarse con el servidor C2 enviando solicitudes GET a los puntos finales específicos
/usuarioand/evento-mensaje. Esta simulación imita el comportamiento de iluminación para verificar que la lógica de detección del SOC se active cuando aparezcan estas cadenas específicas en los registros de acceso web. -
Script de Prueba de Regresión:
# Script de Simulación de Baliza C2 de DenoRAT # Este script simula las solicitudes HTTP GET específicas utilizadas por DenoRAT para activar la regla de detección. $C2_URL = "http://localhost" # Reemplace con la dirección de su servidor web local de prueba $Endpoints = @("/usuario", "/evento-mensaje") Write-Host "[+] Iniciando Simulación de DenoRAT C2..." -ForegroundColor Cyan foreach ($Endpoint in $Endpoints) { $Target = $C2_URL + $Endpoint Write-Host "[*] Simulando Registro C2 a: $Target" -ForegroundColor Yellow try { # Ejecutando la solicitud GET $Response = Invoke-WebRequest -Uri $Target -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Solicitud Enviada. Código de Estado: $($Response.StatusCode)" -ForegroundColor Green } catch { # Esperamos un 404 si los puntos finales realmente no existen, lo cual está bien para pruebas de telemetría Write-Host "[!] Solicitud Enviada (Error Esperado 404/Error de Conexión): $_" -ForegroundColor Gray } Start-Sleep -Seconds 2 } Write-Host "[+] Simulación Completa." -ForegroundColor Cyan -
Comandos de Limpieza:
# El script de simulación no realiza cambios persistentes. # Para limpiar los registros del servidor web si es necesario (Precaución: ¡Esto elimina los registros!): # Remove-Item -Path "C:inetpublogsLogFilesW3SVC1*.log" -Force Write-Host "[+] Limpieza: No se crearon artefactos persistentes." -ForegroundColor Green