Ransomware é um dos sinais mais limpos no journal USN. Tudo o que o operador tenha feito — roubo de credenciais, movimento lateral, persistência — a fase de criptografia toca o sistema de arquivos com um padrão uniforme e de alto volume que se destaca mesmo meses depois. Este artigo descreve como é esse padrão e como encontrá-lo.
A suposição é que você já extraiu o $J e o parseou (o parser desta página serve; também usnrs e outros). Para um lembrete sobre o bitmask de razão, nosso post dedicado é a referência de campo.
O padrão canônico
A maioria dos ransomware modernos (LockBit, BlackCat/ALPHV, Royal, Akira, as variantes pós-Conti etc.) segue a mesma receita em três passos por arquivo:
- Abrir o arquivo para leitura.
- Sobrescrever o conteúdo no lugar — ou escrever um novo arquivo ao lado e excluir o original.
- Renomear adicionando uma extensão marcadora (
.locked,.lockbit, uma string aleatória de 8 caracteres, ou nenhuma em algumas famílias).
No journal, isso produz, para cada arquivo:
DataOverwrite | Close
DataOverwrite | Close
… ← repetido, um por bloco de escrita
RenameOldName | Close (antigo: document.docx)
RenameNewName | Close (novo: document.docx.locked)
Os dois sinais distintivos:
- Rajadas de
DataOverwriteem uma janela curta sobre milhares de arquivos. Atividade normal raramente produzDataOverwritecontínuos em arquivos não-banco-de-dados. RenameNewNameem massa com sufixos de extensão idênticos. A proporção de novos nomes por arquivo ativo explode durante a criptografia.
No MITRE ATT&CK, isso corresponde principalmente a T1486 Data Encrypted for Impact e ao comportamento de renomeação associado.
Receita prática de detecção
Em cima de um journal parseado:
- Histograma os
DataOverwritepor minuto. Plotar ou simplesmente bucketizar por minuto e procurar o despenhadeiro. Um host Windows normal exibe uma baseline baixa estável (alguns por minuto), interrompida por rajadas de aplicação (save do Office, cache do Chrome). Um ransomware exibe um pico sustentado de 50–500× sobre essa baseline, que só para quando o host acaba de arquivos. - Clusterize os
RenameNewName. Agrupar por nova extensão ou por regex sobre o novo nome. Se 80% das renomeações de uma janela compartilham o mesmo sufixo ou o mesmo padrão.{8}, é um encriptador. - Cruze com
FileDelete | Close. Algumas famílias escrevem o cifrado em um arquivo novo e excluem o original. Casar com umFileCreatede mesmo radical e extensão diferente emitido no mesmo segundo. - Suba ao diretório pai. Ransomwares que criptografam todos os subdiretórios do perfil do usuário ou todos os compartilhamentos batem em
Users\<user>\Documents,Users\<user>\Desktop, cada raiz de unidade mapeada. Os caminhos completos resolvidos pelo MFT tornam isso trivial.
O parser deste site expõe o filtro por razão diretamente — colocar em DataOverwrite para o passo 1, RenameNewName para o passo 2.
Como os dados se parecem
Trecho redigido de um caso real de LockBit 3.0:
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 arquivo do diretório é criptografado dentro do mesmo segundo de relógio. A nova extensão é uma string aleatória uniforme de 9 caracteres — sinal de cluster forte para o passo 2.
Além da fase de criptografia
O journal também captura comportamentos preparatórios e de limpeza:
- Exclusão de shadow copies: não visível em
$J(vive em namespaces gerenciados por$WSC), mas umFileCreatede arquivos temporários disparados porvssadmin.exeaparece momentos antes da rajada de criptografia. - Varreduras de discovery: muitas famílias enumeram o volume por listagem de diretório, o que não produz entradas no journal — mas se o operador deixou ferramentas como
adfind.exeouPsExec.exe, você verá osFileCreatedeles. - Entrega da nota: toda família moderna escreve uma nota de resgate em cada diretório criptografado. Um
FileCreatedo mesmo nome de arquivo (README.txt,HOW_TO_DECRYPT.htmletc.) em muitos diretórios no mesmo minuto é a regex preguiçosa que pega a maior parte.
O que o journal não vai te dizer
O journal USN registra mudanças no sistema de arquivos, não atores. Para amarrar um usuário ou processo à rajada de criptografia você precisa:
Security.evtxevent4663(acesso a objeto) — exige SACLs configuradas com antecedência.Microsoft-Windows-Sysmon/Operationalevent11(criação de arquivo) — exige Sysmon implantado.- O artefato Windows.NTFS.MFT do Velociraptor ou o perfil de triagem completo do KAPE para tudo de uma só vez.
Para o playbook de resposta mais amplo, o guia #StopRansomware da CISA é a referência de autoridade.
Uma nota sobre o ruído de baseline
Alguns comportamentos legítimos se parecem superficialmente com ransomware:
- Implantação de criptografia de disco (conversão inicial do BitLocker) produz uma rajada contínua de
DataOverwrite— mas não produz eventosRenameNewName. Falso positivo fácil de descartar. - Software de backup como Veeam ou Macrium pode produzir rajadas de
DataOverwriteno volume de destino. Sempre cruzar o usuário/caminho. - AutoSalvar do Office ou rebuilds do Visual Studio soltam rajadas curtas. O histograma por minuto os deixa óbvios — são transitórios, ransomware é monotônico.
Se sua lógica de detecção não emite alertas em cima da baseline, está subespecificada. O sinal que você quer é a combinação de taxa de DataOverwrite, taxa de RenameNewName e clusterização de extensão — não qualquer um deles sozinho.