El ransomware es una de las señales más limpias del journal USN. Haga lo que haga el operador — robo de credenciales, movimiento lateral, persistencia — la fase de cifrado toca el sistema de ficheros con un patrón uniforme y de alto volumen que destaca incluso meses después. Este artículo recorre cómo es ese patrón y cómo encontrarlo.
Se asume que ya has extraído el $J y lo has parseado (el parser de esta página vale; también usnrs y otros). Para un repaso del bitmask de razón, nuestro artículo de códigos de razón es la referencia de campo.
El patrón canónico
La mayoría de los ransomware modernos (LockBit, BlackCat/ALPHV, Royal, Akira, las variantes post-Conti, etc.) siguen la misma receta de tres pasos por fichero:
- Abrir el fichero para lectura.
- Sobrescribir el contenido en sitio — o escribir un nuevo fichero al lado y borrar el original.
- Renombrar para añadir una extensión marcadora (
.locked,.lockbit, una cadena aleatoria de 8 caracteres, o ninguna en algunas familias).
En el journal, eso produce, para cada fichero:
DataOverwrite | Close
DataOverwrite | Close
… ← repetido, uno por bloque escrito
RenameOldName | Close (antiguo: document.docx)
RenameNewName | Close (nuevo: document.docx.locked)
Las dos señales distintivas:
- Ráfagas de
DataOverwriteen una ventana corta sobre miles de ficheros. La actividad normal rara vez produceDataOverwritecontinuos en ficheros que no sean bases de datos. RenameNewNamemasivos con sufijos de extensión idénticos. La proporción de renombrados sobre ficheros activos se dispara durante el cifrado.
En MITRE ATT&CK, corresponde principalmente a T1486 Data Encrypted for Impact y el comportamiento de renombrado asociado.
Receta práctica de detección
Sobre un journal parseado:
- Histogrameá los
DataOverwritepor minuto. Graficar o simplemente bucketizar por minuto y buscar el acantilado. Un host Windows normal muestra una baseline baja estable (unos pocos por minuto), interrumpida por ráfagas de aplicación (guardado Office, caché Chrome). Un ransomware produce un pico sostenido de 50 a 500× sobre esa baseline, que no para hasta quedarse sin ficheros. - Clusterizá los
RenameNewName. Agrupar por nueva extensión o por regex sobre el nuevo nombre. Si el 80% de los renombrados de una ventana comparten el mismo sufijo o un mismo patrón.{8}, es un cifrador. - Cruzá con
FileDelete | Close. Algunas familias escriben el cifrado a un fichero nuevo y borran el original. Acoplar con unFileCreatede mismo stem y distinta extensión emitido en el mismo segundo. - Subí al directorio padre. Los ransomware que cifran todos los subdirectorios del perfil de usuario o todas las recursos compartidos pegan en
Users\<user>\Documents,Users\<user>\Desktop, cada raíz de unidad mapeada. Las rutas completas resueltas por el MFT lo hacen trivial.
El parser de este sitio expone el filtro por razón directamente — ponerlo en DataOverwrite para el paso 1, RenameNewName para el paso 2.
Cómo se ven los datos
Extracto redactado de un caso LockBit 3.0 real:
2024-04-12T03:14:08Z DataOverwrite Close C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z DataOverwrite Close C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z DataOverwrite Close C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z RenameOldName Close C:\Users\ana\Desktop\notes.docx
2024-04-12T03:14:08Z RenameNewName Close C:\Users\ana\Desktop\notes.docx.HLJkNskOq
2024-04-12T03:14:08Z DataOverwrite Close C:\Users\ana\Desktop\quarterly.xlsx
…
Cada fichero del directorio se cifra dentro del mismo segundo. La nueva extensión es una cadena aleatoria uniforme de 9 caracteres — fuerte señal de cluster para el paso 2.
Más allá del cifrado
El journal también captura comportamientos preparatorios y de limpieza:
- Borrado de shadow copies: en realidad no es visible en
$J(vive en espacios de nombres gestionados por$WSC), pero unFileCreatede ficheros temporales lanzados porvssadmin.exeaparece justo antes de la ráfaga de cifrado. - Escaneos de descubrimiento: muchas familias enumeran el volumen por listado de directorio, lo que no produce entradas de journal — pero si el operador soltó herramientas como
adfind.exeoPsExec.exe, verás susFileCreate. - Entrega de nota: cualquier familia moderna escribe una nota de rescate en cada directorio cifrado. Un
FileCreatedel mismo nombre de fichero (README.txt,HOW_TO_DECRYPT.html, etc.) en muchos directorios en el mismo minuto es la regex perezosa que atrapa a la mayoría.
Lo que el journal no te dirá
El journal USN registra cambios al sistema de ficheros, no actores. Para atar un usuario o un proceso a la ráfaga de cifrado necesitas:
Security.evtxevent4663(acceso a objeto) — requiere SACL configuradas de antemano.Microsoft-Windows-Sysmon/Operationalevent11(creación de fichero) — requiere Sysmon desplegado.- El artefacto Windows.NTFS.MFT de Velociraptor o el perfil de triage completo de KAPE para todo de una pasada.
Para el playbook de respuesta más amplio, la guía #StopRansomware de CISA es la referencia que manda.
Nota sobre el ruido de fondo
Algunos comportamientos legítimos se parecen superficialmente al ransomware:
- Despliegue de cifrado de disco (conversión inicial de BitLocker) produce una ráfaga continua de
DataOverwrite— pero no produceRenameNewName. Falso positivo fácil de descartar. - Software de copias como Veeam o Macrium puede producir ráfagas de
DataOverwriteen el volumen destino. Comprobar siempre el usuario/ruta. - Autosave de Office o rebuilds de Visual Studio generan ráfagas cortas. El histograma por minuto los hace obvios — son transitorios, el ransomware es monótono.
Si tu lógica de detección no produce alertas sobre la baseline, está infraespecificada. La señal que buscas es la combinación de tasa de DataOverwrite, tasa de RenameNewName y clustering de extensión — no una de ellas en solitario.