RoguePlanet explota una vulnerabilidad de día cero de Windows a través del pipeline de cuarentena de Defender
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
RoguePlanet es un zero-day de escalada de privilegios local que abusa del flujo de trabajo de cuarentena y remediación de Microsoft Defender en Windows. Combinando uniones de directorios NTFS, bloqueos oportunistas y el servicio de Copia de Sombra de Volumen, un usuario con bajos privilegios puede interferir con el proceso de manejo de Defender y forzar la ejecución de código arbitrario como NT AUTHORITYSYSTEM. El exploit se basa en un método de saturación de I/O determinístico para ganar constantemente carreras de tiempo durante las operaciones de cuarentena de archivos.
Investigación
El equipo de Investigación de Amenazas Howler Cell reprodujo el exploit en un sistema Windows 11 Pro totalmente parcheado y confirmó que logra la ejecución de código a nivel SYSTEM sin corrupción de memoria ni acceso administrativo. Su análisis identificó una cadena de ataque de siete pasos que involucra una imagen ISO incrustada, puntos de reenvío NTFS y abuso de la tarea programada WER QueueReporting . Los investigadores también señalaron que pequeños cambios a nivel de código fuente permiten al exploit evadir la detección estática con relativa facilidad.
Mitigación
Actualmente no existe un parche oficial que aborde la causa subyacente de RoguePlanet. Los defensores deben monitorear la creación de pipes con nombres específicos asociados al exploit y por actividades de sistema de archivos inusuales que involucren nombres de directorios similares a UUID bajo %TEMP%. El endurecimiento adicional debe centrarse en limitar el abuso de uniones NTFS y detectar procesos no sistemáticos que enumeren Copias de Sombra de Volumen.
Respuesta
Si se detecta actividad relacionada con RoguePlanet, los equipos de seguridad deben aislar el host afectado e investigar cualquier proceso que genere conhost.exe desde procesos con integridad de SYSTEM en sesiones de usuario. Los analistas también deben buscar wermgr.exe ejecutándose desde rutas inesperadas e inspeccionar %TEMP% la estructura del directorio. También es esencial revisar los registros de Programador de Tareas buscando ejecuciones sospechosas de la tarea RP_ . . task is also essential.
graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ccffcc classDef malware fill:#ff9999 classDef technique fill:#e1ccff %% Node Definitions %% Step 1: Preparation prep_iso[«<b>Acción</b>: Extraer ISO incrustado<br/><b>Descripción</b>: El orquestador extrae el ISO para crear un disco virtual de solo lectura<br/><b>Objetivo</b>: estructura de directorios %TEMP%»] class prep_iso action %% Step 2: Payload Delivery payload_ads[«<b>Acción</b> – <b id=’T1564.004’>Atributos de Archivo NTFS: Flujos de Datos Alternativos</b><br/><b>Descripción</b>: Escribiendo archivo de prueba EICAR en un ADS oculto llamado :WDFOO<br/><b>Propósito</b>: Evitar restricciones estándar de archivos durante la entrega»] class payload_ads technique %% Step 3: Race Condition race_condition[«<b>Acción</b> – <b id=’T1499’>Denegación de Servicio en el Punto Final: Deteriorar Defensa</b><br/><b>Descripción</b>: Uso del subsistema I/O de Poseidon para crear actividad de disco de alta frecuencia<br/><b>Mecanismo</b>: Saturación de I/O y bloqueos oportunistas (oplocks) para pausar Defender»] class race_condition technique %% Step 4: Execution Flow Hijacking hijack_junction[«<b>Acción</b> – <b id=’T1137’>Aplicación de Office: Crear o Modificar Registro/Archivos</b><br/><b>Descripción</b>: Realizando intercambios de unión usando puntos de reenvío NTFS<br/><b>Objetivo</b>: Redirigir la ruta legítima de wermgr.exe al directorio del atacante»] class hijack_junction technique overwrite_artifact[«<b>Acción</b>: Sobrescribir artefacto de SYSTEM<br/><b>Descripción</b>: Reemplazar artefacto de cuarentena con carga maliciosa mientras se mantiene metadata de SYSTEM»] class overwrite_artifact action %% Step 5: Privilege Escalation task_trigger[«<b>Acción</b> – <b id=’T1053.005’>Tarea/Trabajo Programado: Tarea Programada</b><br/><b>Descripción</b>: Aprovechar la interfaz COM del Programador de Tareas para activar la tarea QueueReporting»] class task_trigger technique shell_escalation[«<b>Proceso</b>: shell conhost.exe<br/><b>Nivel de Privilegio</b>: NT AUTHORITYSYSTEM<br/><b>Descripción</b>: Ejecución final de carga redirigida a través de tarea secuestrada»] class shell_escalation process %% Connections %% Flow from preparation to payload prep_iso –>|facilita| payload_ads %% Flow from payload to race condition payload_ads –>|desencadena| race_condition %% Flow from race condition to hijacking race_condition –>|habilita| hijack_junction %% Flow from hijacking to overwrite hijack_junction –>|resulta_en| overwrite_artifact %% Flow from overwrite to task trigger overwrite_artifact –>|prepara_para| task_trigger %% Flow from task trigger to final shell task_trigger –>|ejecuta| shell_escalation
Flujo de Ataque
Detecciones
Proceso sospechoso bajo NT AUTHORITY (vía creación_proceso)
Ver
Imagen de Disco Óptico VHDMP fue Montada (vía VHDMP)
Ver
Comportamiento de Explotación de RoguePlanet Posible (vía evento_archivo)
Ver
Comportamiento de Explotación de RoguePlanet Posible (vía pipe_creada)
Ver
Acceso Anormal a NtQueryDirectoryObject a Copias de Sombra [Windows Sysmon]
Ver
Detectar Artefacto y Patrones de Comportamiento de Explotación de RoguePlanet [Evento de Archivo Windows]
Ver
Anomalía de Proceso con Pipe Nombrada de RoguePlanet y System-Integrity [Creación de Proceso Windows]
Ver
Ejecución de Simulación
Prerequisito: La Verificación Pre-vuelo 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 los TTP identificados y buscar generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un mal diagnóstico.
-
Narrativa y Comandos del Ataque: El adversario explota una vulnerabilidad en un Servicio de Windows en ejecución para lograr ejecución de código a nivel SYSTEM. Para facilitar la comunicación entre el servicio explotado y el nuevo hilo inyectado, el adversario crea un pipe nombrado llamado
\.pipeRoguePlanet. Tras la elevación exitosa, la carga del atacante fuerza aservices.exea generarconhost.exepara proporcionar un entorno interactivo para ejecución de comandos adicionales. Esta secuencia está diseñada para imitar el comportamiento de la cadena de explotación RoguePlanet. -
Guion de Prueba de Regresión:
# Simulación de Pipe Nombrada de RoguePlanet y Anomalía de Proceso # NOTA: Este guion requiere privilegios administrativos para simular comportamiento tipo servicio Write-Host "[+] Iniciando Simulación de RoguePlanet..." -ForegroundColor Cyan # 1. Simular Creación de Pipe Nombrada (coincide con selección_pipe) # Usamos PowerShell para crear un pipe nombrado que imita el indicador objetivo $pipeName = "RoguePlanet" $pipe = New-Object System.IO.Pipes.NamedPipeServerStream($pipeName, [System.IO.Pipes.PipeDirection]::InOut) Write-Host "[+] Pipe Nombrada \.pipe$pipeName creada." -ForegroundColor Green # 2. Simular generación anómala de procesos (coincide con selección_conhost y selección_padre) # En un exploit real, services.exe sería el padre. # Dado que no podemos fácilmente 'convertirnos' en services.exe sin un exploit de kernel, # simulamos la telemetría al activar un evento de creación de proceso que # imita la relación padre-hijo específica esperada por la lógica de reglas. Write-Host "[+] Simulando generación de conhost.exe desde services.exe..." -ForegroundColor Cyan # Usamos un truco para imitar la telemetría: crear un proceso que el SIEM/Sysmon # registrará con el padre objetivo si estuviéramos operando en un entorno de laboratorio controlado. # Para el propósito de esta prueba de detección, ejecutaremos un comando que # apunta a los criterios específicos de Imagen/ImagenPadre. # Nota: En una validación del mundo real, el investigador usaría una herramienta como # 'ProcMon' o un controlador personalizado para falsificar el ID de Proceso Padre (PPID) # de services.exe para asegurar que la regla se active con precisión. Start-Process "conhost.exe" -ArgumentList "/c echo Simulación Completa" -WindowStyle Hidden Write-Host "[+] Comandos de simulación enviados. Verifique SIEM para alertas." -ForegroundColor Yellow # Mantener pipe abierta brevemente para asegurar que se capture telemetría Start-Sleep -Seconds 5 $pipe.Dispose() -
Comandos de Limpieza:
# Limpieza: Cierre de pipes persistentes y termine cualquier proceso simulado Get-Process conhost | Stop-Process -Force -ErrorAction SilentlyContinue Write-Host "[+] Limpieza completa." -ForegroundColor Green