El giro de MuddyWater a Rust: Dentro del implante RustyWater
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
MuddyWater lanzó una campaña de spear-phishing dirigida a organizaciones diplomáticas, marítimas, financieras y de telecomunicaciones en todo el Medio Oriente. Los atacantes utilizaron documentos de Word armados con macros incrustadas para desplegar RustyWater, un implante basado en Rust. Una vez instalado, el malware persiste a través de una clave de registro Run, se comunica con el comando y control a través de HTTP e inyecta código en explorer.exe para mimetizarse con la actividad normal del usuario. El implante incorpora salvaguardas contra análisis y admite funcionalidades modulares post-compromiso para extender el control del atacante.
Investigación
El equipo TRIAD de CloudSEK analizó el documento malicioso, recuperó la carga codificada en hex y identificó el ejecutable de Rust reddit.exe. La inspección estática mostró el uso de la biblioteca reqwest para C2 basado en HTTP, un mecanismo de Controlador de Excepciones Vectorizadas para anti-depuración y persistencia a través de la ruta de registro CurrentUser Run. Las pruebas dinámicas confirmaron la inyección de procesos en explorer.exe y el comportamiento C2 asincrónico con tiempos de respuesta aleatorios. La investigación recopiló indicadores clave, incluidos hashes, artefactos de registro y los dominios maliciosos utilizados para las comunicaciones.
Mitigación
Vigilad las modificaciones sospechosas a HKCUSoftwareMicrosoftWindowsCurrentVersionRun, especialmente las entradas que apuntan a binarios almacenados en ProgramData. Detectad cadenas de ejecución impulsadas por macros donde Office inicia cmd.exe vía WScript.Shell. Añad detectores de red para patrones de tráfico HTTP consistentes con JSON → Base64 → codificación XOR y para balizamiento con jitter aleatorio. Fortaleced los controles de correo electrónico para bloquear o poner en cuarentena adjuntos de Word habilitados con macros de remitentes desconocidos o no confiables.
Respuesta
Si se detecta actividad de RustyWater, aislade el extremo y adquiere una imagen de memoria para apoyar la forensia enfocada en la inyección. Elimina la persistencia maliciosa de la clave Run y borra cualquier archivo depositado en ProgramData. Bloquea los dominios e IPs C2 identificados en los controles de perímetro. Ampliad la caza para identificar actividades relacionadas con macros e inyecciones de explorer.exe en todo el entorno para asegurar un confinamiento completo.
Flujo de ataque
Detecciones
Extensión Inusual de Binario Ejecutable (vía creación_proceso)
Ver
Posibles Puntos de Persistencia [ASEPs – Software/NTUSER Hive] (vía evento_registro)
Ver
Proceso Sospechoso sin Argumentos (vía cmdline)
Ver
Proceso Hijo MSOffice Sospechoso (vía cmdline)
Ver
IOCs (HashSha256) para detectar: Reborn in Rust: Muddy Water Evoluciona Herramientas con Implante RustyWater
Ver
Detección de Ejecución del Implante RustyWater de Muddy Water [Creación de Proceso de Windows]
Ver
Detección de Artefactos de Ataque Spear-Phishing de Muddy Water APT [Evento de Archivo de Windows]
Ver
Ejecución de Simulación
Prerequisito: El control 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 activar la regla de detección. Los comandos y la narrativa reflejan directamente los TTPs identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa de Ataque y Comandos:
Un operador APT recibe un correo de spear-phishing con un adjunto de Office habilitado con macro maliciosa. Al abrirlo, la macro deposita dos archivos de carga—Cybersecurity.docandCertificationKit.ini—en el directorioProgramDatapara ocultarlos en una ubicación confiable por muchas aplicaciones. La macro utiliza PowerShell para escribir los archivos, lo que desencadena eventos de creación de archivos Sysmon que la regla de detección monitorea. -
Guion de Prueba de Regresión:
# ------------------------------------------------- # Simulación de colocación de archivos de MuddyWater APT (Windows) # ------------------------------------------------- $progData = $Env:ProgramData # Definir contenido de carga (datos ficticios para pruebas) $docContent = "Este es un documento de ciberseguridad simulado para pruebas de detección." $iniContent = "[Settings]`nKey=Value`n" # Crear Cybersecurity.doc $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc" $docContent | Out-File -FilePath $docPath -Encoding UTF8 # Crear CertificationKit.ini $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini" $iniContent | Out-File -FilePath $iniPath -Encoding UTF8 Write-Host "Archivos de simulación de MuddyWater creados:" Write-Host "`t$docPath" Write-Host "`t$iniPath" # ------------------------------------------------- -
Comandos de Limpieza:
# Eliminar artefactos de simulación Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue Write-Host "Archivos de simulación eliminados."