Los ataques de ransomware ya no son raros ni exclusivos de las grandes empresas. Hoy en día, están por todas partes: son más comunes, más agresivos y cada vez más difíciles de detectar. Uno de los nombres que más ha sonado últimamente es Medusa, una variante de ransomware como servicio (RaaS) que apareció por primera vez en junio de 2021 y ya ha afectado a más de 300 organizaciones en todo el mundo.
Este malware ha golpeado sectores clave como la salud, la educación, el mundo legal, los seguros, la tecnología e incluso la manufactura. ¿Cómo lo hace? En la mayoría de los casos, entra por donde siempre duele: correos de phishing y software con vulnerabilidades sin actualizar. Y lo peor es que no importa cuán segura creas que está tu organización, Medusa encuentra la forma de colarse. Desde febrero de 2025, ha vuelto con más fuerza, y los ataques van en aumento.
Apunta directamente a sistemas Windows, cifra archivos, pide rescates enormes y deja caos a su paso: operaciones paralizadas, pérdidas de dinero, reputaciones por los suelos… En este artículo te vamos a enseñar cómo detectar a tiempo esta amenaza usando Wazuh, una plataforma de seguridad open-source que te ayuda a monitorear tu infraestructura, lanzar alertas y actuar rápido ante cualquier actividad sospechosa.
Tabla de Contenido
- ¿Cómo detecta Wazuh a Medusa?
- Servidor de Wazuh
- ¿Cómo ver las alertas de Medusa en el panel de Wazuh?
- ¿Cómo elimina Wazuh los archivos maliciosos?
¿Qué hace exactamente el ransomware Medusa cuando ataca?
Medusa no llega con sutilezas. Una vez logra entrar a un sistema (ya sea por un correo de phishing o aprovechando alguna vulnerabilidad sin parchear) empieza a hacer su trabajo sucio de inmediato. Lo primero que hace es cerrar procesos y servicios que puedan estorbarle. Tiene una lista preparada y ejecuta comandos como:
net stop "{Nombre del servicio}" /y
taskkill /F /im {Nombre del proceso} /T
Estos comandos básicamente le dicen al sistema: “Apaga esto, sácalo de mi camino”.
Después, comienza a cifrar archivos en el equipo afectado y les añade una extensión propia para dejar claro que ahora están en sus manos. Eso sí, es “inteligente”: evita cifrar algunos directorios del sistema, como C:\Windows
, C:\PerfLogs
y otros similares, para que el equipo no colapse por completo... al menos no de inmediato.
Para asegurarse de que no puedas recuperar nada por tu cuenta, borra las copias sombra del sistema con este comando: vssadmin delete shadows /all /quiet. Y como toque final, deja una nota de rescate en cada carpeta por donde pasa, con el clásico archivo de texto llamado: !!!READ_ME_MEDUSA!!!.txt.
Ahí es donde te dice cuánto tienes que pagar (normalmente en criptomonedas), y qué pasará si no lo haces. Spoiler: nada bueno.
¿Con qué infraestructura Wazuh hizo las pruebas?
Para probar la detección del ransomware Medusa, Wazuh armó un entorno de laboratorio bastante práctico y fácil de replicar. Esto fue lo que usaron:
-
Una OVA de Wazuh (versión 4.11.2) ya configurada, que incluye todo lo esencial: el servidor, el indexador y el panel de control. Básicamente, una máquina virtual lista para desplegar y empezar a trabajar.
-
Un endpoint con Windows 11 actuando como sistema víctima, donde instalaron el agente de Wazuh 4.11.2 y lo conectaron al servidor. Así podían monitorear de cerca lo que hacía Medusa una vez entraba en acción.
Este setup les permitió simular un ataque real y mostrar cómo Wazuh responde y genera alertas en tiempo real.
Podría interesarte leer: Detección de Ataques de Ransomware con Wazuh
¿Cómo detecta Wazuh a Medusa?
Reglas personalizadas que ayudan a identificar la amenaza
Para poder detectar a Medusa en acción, se necesita saber qué buscar. No basta con tener un antivirus funcionando o mirar logs al azar: hay que prestar atención a los patrones de comportamiento que este ransomware deja tras de sí. Para eso, en Wazuh configuraron un entorno con una máquina Windows y empezaron a monitorear sus eventos con Sysmon, una herramienta que te da visibilidad detallada sobre lo que ocurre en el sistema.
A partir de esos registros, crearon reglas personalizadas en el servidor de Wazuh para detectar acciones sospechosas, como procesos que se cierran de golpe, servicios que se apagan sin explicación o cambios extraños en los archivos. Todo eso puede ser una señal de que Medusa (u otro ransomware) está haciendo de las suyas.
¿Cómo configurar Sysmon en Windows para trabajar con Wazuh?
Si tú también quieres hacer algo similar, acá te dejamos cómo lo hizo el equipo de Wazuh paso a paso:
-
-
Descarga Sysmon desde la página de Microsoft Sysinternals.
-
Extrae el archivo ZIP en la carpeta que prefieras.
-
Abre PowerShell como administrador y ejecuta este comando para bajar el archivo de configuración de Sysmon (no olvides poner tu propia ruta): wget -Uri https://wazuh.com/resources/blog/emulation-of-attack-techniques-and-detection-with-wazuh/sysmonconfig.xml -OutFile <SYSMON_EXECUTABLE_PATH>\sysmonconfig.xml
-
Ve a la carpeta donde tienes el ejecutable de Sysmon y corre esto: .\Sysmon64.exe -accepteula -i sysmonconfig.xml
-
Ahora toca decirle al agente de Wazuh que recoja los eventos que genera Sysmon. Abre este archivo: C:\Program Files (x86)\ossec-agent\ossec.conf. Y dentro del bloque
<ossec_config>
, agrega lo siguiente:<localfile>
<location>Microsoft-Windows-Sysmon/Operational</location>
<log_format>eventchannel</log_format>
</localfile> - Por último, reinicia el agente de Wazuh para que todo quede bien aplicado: Restart-Service -Name wazuh.
-
Con eso ya tienes Sysmon y Wazuh trabajando juntos para ayudarte a detectar cualquier comportamiento sospechoso antes de que Medusa cause estragos.
Servidor de Wazuh
Para poder detectar a Medusa, también es necesario preparar el servidor de Wazuh con reglas personalizadas que identifiquen los comportamientos típicos de este ransomware en equipos con Windows.
Lo primero es crear un nuevo archivo dentro del servidor, en esta ruta: /var/ossec/etc/rules/medusa_ransomware_rules.xml
Luego agrega las siguientes reglas de detección al archivo:
<group name="medusa,ransomware,">
<!--Detects system process termination -->
<rule id="100012" level="2">
<if_sid>61603</if_sid>
<field name="win.eventdata.commandLine" type="pcre2">(?i)taskkill \/F \/IM .*. \/T</field>
<field name="win.eventdata.parentImage" type="pcre2">(?i)[C-Z]:.*\\\\.*.exe</field>
<description>System process terminated using $(win.eventdata.originalFileName). Suspicious activity detected.</description>
<mitre>
<id>T1490</id>
<id>T1059.003</id>
</mitre>
</rule>
<!--Detects multiple system process termination -->
<rule id="100013" level="12" frequency="10" timeframe="300">
<if_matched_sid>100012</if_matched_sid>
<description>Multiple system processes terminated using $(win.eventdata.originalFileName). Suspicious activity detected.</description>
<mitre>
<id>T1490</id>
<id>T1059.003</id>
</mitre>
</rule>
<!--Detects system service termination -->
<rule id="100014" level="2">
<if_sid>92031</if_sid>
<field name="win.eventdata.parentImage" type="pcre2">(?i)[C-Z]:.*\\\\.*.exe</field>
<field name="win.eventdata.commandLine" type="pcre2">(?i)[C-Z]:.*\\\\.*.net.*. stop \\.*.\\" \/y</field>
<description>System service terminated using $(win.eventdata.originalFileName). Suspicious activity detected.</description>
<mitre>
<id>T1490</id>
<id>T1059.003</id>
</mitre>
</rule>
<!--Detects multiple system service termination -->
<rule id="100015" level="12" frequency="60" timeframe="500" ignore="500">
<if_matched_sid>100014</if_matched_sid>
<description>Multiple system services terminated using $(win.eventdata.originalFileName). Suspicious activity detected.</description>
<mitre>
<id>T1490</id>
<id>T1059.003</id>
</mitre>
</rule>
<!-- Ransom note file creation -->
<rule id="100016" level="15" timeframe="200" frequency="2">
<if_sid>61613</if_sid>
<field name="win.eventdata.image" type="pcre2">(?i)[C-Z]:.*\\\\.*.exe</field>
<field name="win.eventdata.targetFilename" type="pcre2">(?i)[C-Z]:.*.\\\\!!!READ_ME_MEDUSA!!!.txt</field>
<description>Medusa ransom note $(win.eventdata.targetFilename) has been created in multiple directories. Possible Medusa ransomware detected.</description>
<mitre>
<id>T1486</id>
</mitre>
</rule>
<rule id="100017" level="15" timeframe="300" frequency="2" ignore="100">
<if_matched_sid>100015</if_matched_sid>
<if_sid>100013</if_sid>
<description>Possible Medusa ransomware detected.</description>
<mitre>
<id>T1486</id>
</mitre>
</rule>
</group>
¿Qué detectan estas reglas?
-
Regla 100012: Detecta cuando se cierra un proceso del sistema con
taskkill
. -
Regla 100013: Se activa si se cierran varios procesos en poco tiempo, lo que puede ser un intento de desactivar defensas.
-
Regla 100014: Detecta si se usa
net stop
para detener algún servicio del sistema. -
Regla 100015: Reacciona cuando se detienen varios servicios de golpe.
-
Regla 100016: Identifica la creación de múltiples notas de rescate con el nombre
!!!READ_ME_MEDUSA!!!.txt
. -
Regla 100017: Se dispara si las reglas 100013 (procesos) y 100015 (servicios) se activan casi al mismo tiempo. Esta combinación es una señal clara de actividad ransomware.
Estas reglas trabajan en conjunto para identificar rápidamente patrones típicos de infección. Si varias se activan en cuestión de segundos, es muy probable que algo serio esté ocurriendo.
Aplicar los cambios
Cuando terminas de editar y guardar el archivo, solo falta reiniciar el administrador de Wazuh para que cargue las nuevas reglas: systemctl restart wazuh-manager.
Y listo, el servidor ya está listo para detectar los pasos de Medusa desde el momento en que intenta moverse dentro de tu red.
Conoce más sobre: Cómo Configurar Reglas en Wazuh de Manera Efectiva
¿Cómo ver las alertas de Medusa en el panel de Wazuh?
Una vez que tienes las reglas activas y el entorno listo, es momento de ver en acción cómo Wazuh detecta un ataque de Medusa. Para revisar las alertas desde el panel de control, sigue estos pasos súper simples:
-
Entra al panel y ve a la sección Inteligencia de amenazas > Búsqueda de amenazas.
-
Da clic en + Agregar filtro.
-
En el campo que dice .rule.id, selecciona el operador es uno de (is one of).
-
Luego, en el campo de valores, escribe o selecciona estos IDs de regla:
100013
,100015
,100016
y100017
.
(Estos son los que detectan procesos y servicios cerrados, y la creación de las notas de rescate.) -
Por último, haz clic en Guardar.
¡Y listo! Con eso ya puedes ver en el dashboard si Wazuh detectó alguna actividad relacionada con Medusa. Si las alertas aparecen, significa que las reglas están funcionando correctamente y que el sistema está identificando movimientos sospechosos.
Podría interesarte leer: Dashboard de Alertas y Notificaciones en Wazuh
¿Cómo elimina Wazuh los archivos maliciosos antes de que hagan daño?
Cuando un ransomware logra ejecutarse, ya es demasiado tarde: el daño está hecho, los archivos están cifrados y recuperar el sistema se vuelve una pesadilla. Por eso, lo ideal es detectar y eliminar el archivo malicioso antes de que se ejecute. Suena bien, ¿no? Pues Wazuh lo hace posible con un enfoque preventivo bastante poderoso.
Lo que se recomienda es activar la protección previa a la ejecución usando el módulo de integridad de archivos (FIM) de Wazuh, combinado con herramientas como VirusTotal o YARA. ¿Cómo funciona? Cada vez que se descarga o crea un archivo nuevo, Wazuh compara su hash contra bases de datos de amenazas conocidas. Si encuentra algo sospechoso, lanza una respuesta automática para borrar ese archivo antes de que se ejecute.
Así lo configuraron con YARA
En esta parte del laboratorio, Wazuh configuró el módulo FIM para vigilar un directorio específico. Cada vez que se crea o modifica un archivo en esa carpeta, se activa una respuesta automática: Wazuh ejecuta un escaneo con YARA, que revisa el archivo usando reglas ya definidas para detectar malware.
Si el archivo pinta mal, el sistema no lo piensa dos veces: lo elimina en automático usando un script de Active Response. Esto evita que el ransomware siquiera tenga oportunidad de ejecutarse.
¿Cómo se prepara el endpoint de Windows para esta integración?
Para que Wazuh pueda usar YARA y detectar archivos maliciosos en un equipo con Windows, primero hay que dejar todo listo en ese equipo. Acá te explicamos paso a paso cómo hacerlo. Antes de empezar, asegúrate de tener lo siguiente:
-
Python 3.12.2 o más reciente. Ya viene con
pip
, solo asegúrate de marcar la casilla "Add python.exe to PATH" durante la instalación. Esto es clave para que puedas correr scripts desde cualquier parte. -
Microsoft Visual C++ 2015 Redistributable. Es un requisito para algunos componentes.
Tip: Haz todo esto desde PowerShell como administrador para evitar errores de permisos.
Descarga e instala YARA
- Descarga YARA con este comando en PowerShell: Invoke-WebRequest -Uri https://github.com/VirusTotal/yara/releases/download/v4.5.2/yara-v4.5.2-2326-win64.zip -OutFile yara.zip.
- Extrae el ZIP con: Expand-Archive yara.zip
- Crea la carpeta donde irá el ejecutable de YARA y copia el binario ahí: mkdir 'C:\Program Files (x86)\ossec-agent\active-response\bin\yara\'
cp .\yara-v4.5.2-2326-win64\yara64.exe 'C:\Program Files (x86)\ossec-agent\active-response\bin\yara\'
Descargar reglas YARA con Valhalla API
Ahora toca descargar las reglas de YARA. Para eso, usamos una pequeña utilidad en Python:
-
Instala la API de Valhalla: pip install valhallaAPI
- Crea un archivo llamado
download_yara_rules.py
y pega este script dentro:
from valhallaAPI.valhalla import ValhallaAPI
v = ValhallaAPI(api_key="1111111111111111111111111111111111111111111111111111111111111111")
response = v.get_rules_text()
with open('yara_rules.yar', 'w') as fh:
fh.write(response) - Ejecuta el script para descargar las reglas: python download_yara_rules.py
Copia las reglas al lugar correcto
Una vez que tienes el archivo yara_rules.yar
, solo queda moverlo a donde Wazuh lo necesita:
-
Crea la carpeta para las reglas: mkdir 'C:\Program Files (x86)\ossec-agent\active-response\bin\yara\rules\'
- Copia el archivo de reglas ahí: cp yara_rules.yar 'C:\Program Files (x86)\ossec-agent\active-response\bin\yara\rules\'
Agrega una regla YARA para detectar Medusa
Ya tienes tus reglas básicas, pero ahora vamos a hacer algo muy útil: agregar una regla específica para detectar el ransomware Medusa. Solo necesitas editar el archivo de reglas YARA que descargaste hace un momento. Ese archivo está ubicado en: C:\Program Files (x86)\ossec-agent\active-response\bin\yara\rules\yara_rules.yar
Abre ese archivo con tu editor de texto favorito (puede ser Notepad++, Visual Studio Code o incluso el Bloc de notas si no tienes otro) y pega esta regla al final del archivo:
rule Medusa_ransomware {
meta:
description = "Medusa Ransomware"
author = "Obinna Uchubilo"
reference = "https://github.com/Neo23x0/yarGen"
date = "2025-04-16"
hash1 = "3a6d5694eec724726efa3327a50fad3efdc623c08d647b51e51cd578bddda3da"
strings:
$s1 = "api-ms-win-core-synch-l1-2-0.dll" wide
$s2 = "powershell -executionpolicy bypass -File %s" ascii
$s3 = "powershell -Command \"& {%s}\"" ascii
$s4 = "cmd /c ping localhost -n 3 > nul & del %s" ascii
$s5 = "AppPolicyGetProcessTerminationMethod" ascii
$s6 = "preprocessing" ascii
$s7 = "G:\\Medusa\\Release\\gaze.pdb" ascii
$s8 = "kill_processes %s" ascii
$s9 = "<requestedExecutionLevel level='asInvoker' uiAccess='false' />" ascii
$s10 = "load_encryption_key: File open error" ascii
$s11 = "kill_services processes" ascii
$s12 = ":d or do not use preprocessing" ascii
$s13 = "Encryption system" ascii
$s14 = "VVVQVP" ascii
$s15 = ": option requires an argument -- " ascii
$s16 = "File is already encrypted." ascii
$s17 = ": illegal option -- " ascii
$s18 = "AppPolicyGetThreadInitializationType" ascii
$s19 = "encrypt %d %ls %ld" ascii
$s20 = "KVK.xKKOCmOZOBAI}XM.clk@J^AG@ZoIK@Z.c}}" ascii
condition:
uint16(0) == 0x5a4d and filesize < 2000KB and
8 of them
}
Esta regla busca indicios muy específicos de Medusa: desde comandos de PowerShell hasta mensajes de error y nombres de archivos. En cuanto se encuentra un archivo que coincida con al menos 8 de esas cadenas, ¡se dispara la alerta!
Podría interesarte leer: Ransomware Medusa Ataca 300 Organizaciones de Infraestructura Crítica
Monitorea la carpeta de Descargas en tiempo real
Una de las carpetas más comunes donde caen archivos sospechosos es Descargas, así que lo mejor es tenerla bajo vigilancia. Para eso, hay que agregar una línea dentro del archivo de configuración del agente de Wazuh:
- Abre este archivo: C:\Program Files (x86)\ossec-agent\ossec.conf
-
Y dentro del bloque
<syscheck>
, agrega esto: <directories realtime="yes">C:\Usuarios\*\Descargas</directories>
Esto le dice al agente que revise en tiempo real cualquier archivo nuevo o modificado que aparezca en la carpeta Descargas de cualquier usuario. Con esto ya tienes tu endpoint de Windows bien preparado para detectar (y con suerte eliminar) archivos relacionados con Medusa antes de que se ejecuten.
Crea un script para escanear y eliminar archivos con YARA
Una vez que tienes las reglas YARA listas, es momento de ponerlas a trabajar. Para eso, vamos a crear un script por lotes (batch) que se encargue de hacer el escaneo de archivos sospechosos y los elimine si coinciden con alguna regla de malware, incluyendo la del ransomware Medusa. Este script se va a ejecutar automáticamente gracias al módulo Active Response de Wazuh.
¿Dónde lo guardas?
Guarda el siguiente contenido en un archivo llamado yara.bat
dentro de esta carpeta: C:\Program Files (x86)\ossec-agent\active-response\bin\
Y aquí va el contenido del script, explicado de forma simple:
:: Este script escanea archivos con YARA y elimina los que parezcan maliciosos (como Medusa)
@echo off
setlocal enableDelayedExpansion
:: Detectamos si el sistema es de 32 o 64 bits
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && SET OS=32BIT || SET OS=64BIT
:: Definimos la ruta del archivo de log
if %OS%==32BIT (
SET log_file_path="%ProgramFiles%\ossec-agent\active-response\active-responses.log"
)
if %OS%==64BIT (
SET log_file_path="%ProgramFiles(x86)%\ossec-agent\active-response\active-responses.log"
)
:: Obtenemos la ruta del archivo que se va a escanear
set input=
for /f "delims=" %%a in ('PowerShell -command "$logInput = Read-Host; Write-Output $logInput"') do (
set input=%%a
)
set json_file_path="C:\Program Files (x86)\ossec-agent\active-response\stdin.txt"
echo %input% > %json_file_path%
:: Sacamos la ruta exacta del archivo detectado por Wazuh
FOR /F "tokens=* USEBACKQ" %%F IN (`Powershell -Nop -C "(Get-Content 'C:\Program Files (x86)\ossec-agent\active-response\stdin.txt' | ConvertFrom-Json).parameters.alert.syscheck.path"`) DO (
SET syscheck_file_path=%%F
)
:: Ruta al ejecutable de YARA y al archivo de reglas
set yara_exe_path="C:\Program Files (x86)\ossec-agent\active-response\bin\yara\yara64.exe"
set yara_rules_path="C:\Program Files (x86)\ossec-agent\active-response\bin\yara\rules\yara_rules.yar"
echo %syscheck_file_path% >> %log_file_path%
:: Escaneamos el archivo y, si coincide, lo eliminamos
for /f "delims=" %%a in ('powershell -command "& \"%yara_exe_path%\" \"%yara_rules_path%\" \"%syscheck_file_path%\""') do (
echo wazuh-yara: INFO - Resultado del escaneo: %%a >> %log_file_path%
:: Eliminamos el archivo
del /f "%syscheck_file_path%" >nul 2>&1
if exist "%syscheck_file_path%" (
echo wazuh-yara: INFO - Error al eliminar la amenaza: %%a >> %log_file_path%
) else (
echo wazuh-yara: INFO - Eliminado con éxito: %%a >> %log_file_path%
)
)
exit /b
Después de guardar el script, reinicia el agente para que Wazuh lo pueda usar cuando detecte un archivo sospechoso: Restart-Service -Name wazuh
¡Listo! Ahora tienes una respuesta automatizada que escanea archivos con YARA y elimina cualquier archivo que coincida con patrones peligrosos, como los usados por el ransomware Medusa.
Conclusión
En este artículo vimos paso a paso cómo detectar el ransomware Medusa en una computadora con Windows usando Wazuh. Aprovechamos todo el poder del motor de análisis de Wazuh para crear reglas específicas que ayudan a identificar el comportamiento típico de este tipo de malware. También exploramos cómo usar el módulo FIM y Active Response junto con YARA para no solo detectar amenazas, sino también actuar en tiempo real y eliminarlas antes de que causen daños.
Wazuh es una plataforma de seguridad open-source y totalmente gratuita que te da muchas herramientas para proteger tu infraestructura contra amenazas modernas. Desde monitoreo y detección hasta respuestas automatizadas, todo en un mismo lugar. Si quieres conocer más sobre cómo Wazuh puede ayudarte a protegerte contra el malware, el ransomware y otros ciberataques, no dudes en contactarnos. Podemos ayudarte a implementar soluciones personalizadas, resolver dudas o incluso explorar casos de uso específicos según tu entorno.