Servicios "trampa" para detener la ejecución de ransomware

Frecuentemente los desarrolladores de ransomware detienen varios servicios/eliminan varios procesos antes de comenzar a cifrar. Por ejemplo Ryuk:

net stop avpsus /y
net stop McAfeeDLPAgentService /y
net stop mfewc /y
net stop BMR Boot Service /y
net stop NetBackup BMR MTFTP Service /y


Véase:
https://www.carbonblack.com/blog/vmware-carbon-black-tau-ryuk-ransomware-technical-analysis/

https://www.crowdstrike.com/blog/big-game-hunting-with-ryuk-another-lucrative-targeted-ransomware/

Al hilo de ésto, Ollie Whitehouse de NCC Group ha publicado SWOLLENRIVER, una interesante herramienta bajo licencia AGPL que implementa una serie de procesos canarios que se controlan entre sí. Si estos servicios se detienen (a través de net stop o similar) y no durante el cierre del equipo, disparará un token Canary DNS (http://canarytokens.org/generate) e hibernará el host.

Si a algunos no os suenan los Canary Tokens deciros que es un concepto muy interesante en el mundo Deception/honeypots. Es como los clásicos web bugs que se incluían en los correos electrónicos, imágenes transparentes que se cargaban mediante una URL única embebida en una image tag, alertando al "cazador" que está monitorizando las peticiones GET contra un site.

Y hay tokens de muchos otros tipos: acceso o lectura a ficheros, peticiones a bases de datos, patrones en logs, ejecución de procesos, ... y entre ellos el token DNS que no es otra cosa que un nombre de dominio único que se puede resolver en Internet y, cualquiera que intente resolver este nombre de dominio, activará una alerta.

Para poder generar este tipo de alertas:
- necesitaremos crear el token en https://docs.canarytokens.org/guide/dns-token.html#creating-a-dns-token y cambiar REPLACEME aquí: https://github.com/nccgroup/KilledProcessCanary/blob/master/Program.cs#L241
- compilar SWOLLENRIVER
- implementar en rutas típicas para al menos DOS servicios de Windows específicos
- instalar el servicio de Windows, p. Ej.

New-Service -Name "MSSQL" -BinaryPathName "C:\Program Files\Microsoft SQL Server\sqlserver.exe"

- iniciar

Al hacer esto, conseguiremos:

- Minimizar el impacto/probabilidad de un cifrado exitoso
- Obtener más opciones de recuperación de la clave de cifrado de la RAM

Repo: https://github.com/nccgroup/KilledProcessCanary

Comentarios