
Um repositório para compartilhar conteúdo de detecção do Velociraptor disponível publicamente
Um repositório para compartilhar conteúdo público de detecção em massa do Velociraptor de uma forma fácil de consumir.
Basta pegar o VQL zip da versão e importá-lo no Velociraptor.
Isso é facilitado pelo exchange de artefatos do Velociraptor: Server.Import.DetectRaptor

Isso deve importar o artefato "Import DetectRaptor".

Os artefatos atuais incluem:
Artefatos de servidor:
Alguns repositórios que contribuem:
Execute os testes de regressão de Eventlogs, PSReadLine e MFT a partir da raiz do repositório:
python -m unittest discover -s tests -v
Valide o CSV de detecção MFT diretamente:
python scripts/sync_mft_lolrmm.py
python scripts/normalize_mft_metadata.py
python scripts/assign_mft_metadata.py --check
python scripts/validate_mft.py
python scripts/validate_mft_whitelist.py
python scripts/build_mft_replay_coverage.py
python scripts/replay_mft.py --check
python scripts/benchmark_mft_replay.py --iterations 3
Ao adicionar uma regra MFT, deixe os campos de metadados gerados vazios e execute:
python scripts/assign_mft_metadata.py
Isso atribui um DR-MFT-<CATEGORY>-NNN RuleID imutável e metadados de categoria, confiança, origem e ATT&CK de linha de base. Os RuleIDs existentes são preservados.
sync_mft_lolrmm.py regenera as regras MFT baseadas em LOLRMM a partir de csv/lolrmm.csv, preservando IDs por meio de csv/MFT_RMM_IDs.csv e aplicando csv/MFT_RMM_Overrides.csv. Fontes que são inerentemente inadequadas para detecção MFT apenas por nome de arquivo são documentadas em csv/MFT_RMM_Exclusions.csv. normalize_mft_metadata.py então aplica a política revisada de confiança, gravidade, escopo e ATT&CK. Indicadores DLL gerados são mantidos apenas quando seu basename contém um token de nome LOLRMM específico do produto; DLLs filtradas e exclusões explícitas são registradas em csv/MFT_RMM_Coverage.csv. Basenames de executáveis conhecidos por serem ambíguos também são filtrados da geração apenas por nome de arquivo. Overrides de divisão selecionados mantêm nomes de arquivo genéricos apenas sob caminhos estáveis de produtos upstream.
build_mft_replay_coverage.py cria um positivo sintético determinístico para cada regra MFT e registra correspondências de regras sobrepostas em csv/MFT_Replay_Coverage.csv. replay_mft.py --check avalia os fixtures positivos e negativos sanitizados em tests/fixtures/. Também é possível comparar um arquivo de regras candidato com uma linha de base usando --baseline-rules e gravar a saída detalhada de correspondências, comparações e resumo em caminhos explicitamente selecionados.
csv/MFT_Whitelist.csv contém políticas de supressão integradas com reconhecimento de caminho. As políticas exigem um RuleID exato e artefato, além de regexes correspondentes de nome de arquivo e caminho. SuppressWhitelisted é habilitado por padrão em MFT e Amcache; desabilite-o para auditar linhas suprimidas e seus metadados de WhitelistID. Aprovações RMM locais ou específicas do cliente permanecem como parâmetros em tempo de execução e não são commitadas no repositório.
benchmark_mft_replay.py combina os fixtures sanitizados com um positivo gerado por regra. Ele reporta correspondências brutas, retidas e suprimidas; arquivos únicos e strings de caminho; expansão de múltiplas correspondências; avaliações estimadas de regras; e tempo de execução. Entradas CSV adicionais em formato de replay podem ser fornecidas com --input. O JSON de benchmark é gravado somente quando --output é explicitamente fornecido.
Regenere os artefatos afetados a partir de scripts/:
cd scripts
python evtx.py
python psreadline.py
python iseautosave.py
python mft.py
python amcache.py
Verifique os artefatos gerados com o Velociraptor:
./velociraptor artifacts verify \
vql/Evtx.yaml \
vql/PSReadline.yaml \
vql/ISEAutoSave.yaml \
vql/MFT.yaml
docs/eventlogs-detection-review.mddocs/mft-detection-uplift.md