El ransomware es una de las señales más limpias que leerás nunca en el USN journal. Lo que sea que hizo el operador antes — robo de credenciales, movimiento lateral, implantes de persistencia, eliminación de shadow copy — la fase de cifrado toca el sistema de archivos con un patrón uniforme, de alto volumen y monótonamente creciente que destaca del ruido circundante incluso meses después. Cada operador al que he respondido ha intentado camuflar una parte de la kill chain. Nadie ha encontrado todavía cómo camuflar cifrar decenas de miles de archivos en cinco minutos.
Este post es el playbook para encontrar ese patrón. El setup asume que ya has extraído $J y lo has parseado, y que la máscara Reason ya no es un misterio.
El patrón canónico de fase de cifrado
La mayoría del ransomware moderno (LockBit 3.0, BlackCat/ALPHV, Royal, Akira, los diversos spin-offs post-Conti, Play, Black Basta) sigue la misma receta de tres pasos por archivo:
- Abrir el archivo para lectura.
- Sobrescribir el contenido en sitio, o escribir un archivo nuevo al lado y borrar el original.
- Renombrar para añadir una extensión marcadora (
.locked,.lockbit, una cadena aleatoria de 8 a 16 caracteres, o en algunas familias ninguna).
En el journal eso produce, por archivo:
DataOverwrite | Close
DataOverwrite | Close
... ← uno por bloque de escritura
RenameOldName | Close (viejo: document.docx)
RenameNewName | Close (nuevo: document.docx.locked)
A través de miles de archivos en pocos minutos. Las dos señales diagnósticas son:
Ráfagas de DataOverwrite dentro de una ventana corta. La actividad normal de Windows raramente produce DataOverwrite sostenido en archivos que no sean bases de datos. El save de Office, la compactación de caché del navegador y los rebuilds de IDE producen picos transitorios; el ransomware produce un suelo monótono que no afloja hasta que al host se le acaban los archivos a cifrar o el operador detiene el binario.
Eventos masivos RenameNewName con un sufijo nuevo-nombre muy clusterizado. La proporción de RenameNewName respecto al total de archivos activos explota durante el cifrado. La firma del clúster — misma cadena fija, o mismo patrón aleatorio .{8}, en el 80%+ de los renombrados en la ventana — es lo que separa al ransomware de cualquier carga de trabajo legítima.
Esto se corresponde principalmente con T1486 Data Encrypted for Impact en MITRE ATT&CK, con evidencia de journal adyacente cubriendo T1490 (Inhibit System Recovery) y T1485 (Data Destruction).
Una receta de detección que aguanta ante un tribunal
Recorriendo un journal parseado:
- Histograma
DataOverwritepor minuto. Agrupa por minuto y busca el acantilado. Un host Windows base corre a un dígito deDataOverwritepor minuto. El cifrado escala a 50-500x de eso y se mantiene. Plotea o pivotea en una hoja de cálculo — la forma te lo dice al instante. - Clusteriza eventos
RenameNewNamepor extensión nueva. Agrupa por la extensión del nuevo nombre o por una regex sobre el nuevo nombre. Si el 80%+ de los renombrados en una ventana comparten un sufijo idéntico o coinciden con el mismo patrón aleatorio de longitud fija, eso es un encryptor. - Empareja
FileDelete | CloseconFileCreatede mismo-stem-distinta-extensión. Algunas familias (las variantes más viejas de LockBit entre ellas) escriben el cifrado a un archivo nuevo y borran el original. Busca unFileCreatecuyo stem coincida con un archivo recientemente borrado, ambos en el mismo segundo de reloj. MismaFileReferenceNumberen el create que en un rename reciente es concluyente. - Sube los directorios padre vía
$MFT. Resuelve la referencia padre de los archivos afectados. El ransomware barre perfiles de usuario, unidades de red mapeadas yUsers\Public\. Un alcance limitado a un único subdirectorio es mucho más probable que sea autosave de Office o una herramienta de backup descarriada.
El parser de esta página expone el filtrado por reason directamente. Ponlo en DataOverwrite para el paso 1 y RenameNewName para el paso 2. Los pasos 3 y 4 quieren un export CSV y una tabla dinámica.
A qué se parece con datos reales
Un extracto redactado de un caso LockBit 3.0 en el que trabajé:
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 archivo en el directorio cifrado dentro del mismo segundo de reloj. La extensión nueva es una cadena aleatoria uniforme de nueve caracteres — una señal de cluster fuerte para el paso 2 y la marca que LockBit 3.0 usa para ligar el cifrado al keystream específico del operador.
Más allá de la fase de cifrado
El journal también atrapa comportamiento preparatorio y de limpieza alrededor de la ráfaga.
La eliminación de shadow copy no es visible directamente en $J — el estado VSS vive en namespaces gestionados por $WSC — pero las invocaciones lanzadas por el operador de vssadmin.exe, wmic.exe shadowcopy delete, wbadmin.exe delete catalog y bcdedit.exe /set todas tocan archivos temp en \Windows\Temp\ o \Users\<u>\AppData\Local\Temp\. Esos registros FileCreate aparecen momentos antes de la ráfaga de cifrado. Empareja con Sysmon evento 1 para el árbol de procesos real.
Los escaneos de discovery son mayormente invisibles al journal — las enumeraciones de directorio solo lectura no producen nada. Pero los drops de herramientas sí. adfind.exe, PsExec.exe, el output SharpHound de BloodHound y herramientas similares producen eventos FileCreate en sus directorios de trabajo, habitualmente en \ProgramData\, \Users\Public\ o \Users\<u>\AppData\Local\Temp\.
Entrega de notas de rescate. Cada familia moderna suelta una nota en cada directorio cifrado. README.txt, HOW_TO_DECRYPT.html, restore-my-files.txt, nombres específicos de la familia. Un FileCreate del mismo filename a través de muchos directorios padre en el mismo minuto es la regex perezosa que pilla a la inmensa mayoría.
Staging pre-cifrado. Algunos operadores apilan exfiltración antes de cifrar — mira el post de detección de exfil. Busca eventos FileCreate de archivo con extensiones .zip, .7z, .rar en la hora previa a la ráfaga de cifrado.
Lo que el journal no te dirá
El journal registra cambios, no actores. Para asociar un usuario o proceso a la ráfaga de cifrado:
- Evento
4663(object access) deSecurity.evtx— requiere SACLs configurados con antelación, lo que casi nunca está. - Evento 11 (file create) y evento 1 (process create) de
Microsoft-Windows-Sysmon%4Operational.evtx— el estándar de oro si Sysmon estaba desplegado. - Prefetch y AmCache para el binario del ransomware en sí, incluso después de que el operador lo borre.
Para el playbook de respuesta más amplio, la guía #StopRansomware de CISA es la referencia autoritativa.
Distinguir ransomware de ráfagas legítimas
Algunas cargas reales pueden parecerse superficialmente al ransomware con el filtro equivocado:
La conversión inicial de BitLocker produce DataOverwrite continuo pero ningún RenameNewName. El ransomware siempre renombra. Si tu conteo de RenameNewName está plano, no es ransomware.
El software de backup (Veeam, Macrium, Acronis) produce DataOverwrite en el volumen de destino, no en los Documents y Desktop del usuario. Cruza usuario y ruta.
El autosave de Office y los rebuilds de Visual Studio pican durante unos segundos y paran. El ransomware es monótono. El histograma por minuto lo deja obvio.
La restauración de imagen de disco escribe grandes cantidades de datos pero a una ruta de dispositivo \\?\Volume{...}, no a un perfil de usuario. La resolución de directorio padre lo pilla.
Si tu lógica de detección produce cero alertas en una línea base sana, está infraespecificada. La señal que quieres es la combinación de tasa DataOverwrite, tasa RenameNewName y clustering de misma extensión — no cualquiera por sí sola.
Lecturas adicionales
- CISA, guía #StopRansomware — el playbook de respuesta extremo a extremo autoritativo.
- El walkthrough de LockBit 3.0 de The DFIR Report y writeups de intrusión similares en formato largo — la mejor fuente pública para la cadencia de reloj de un compromiso real de ransomware.
- Microsoft Defender Research, Ransomware-as-a-service — útil como contexto del lado operador de lo que tu evidencia del journal realmente representa.