
Un repository per condividere contenuti di rilevamento Velociraptor disponibili pubblicamente.
Un repository per condividere contenuti di rilevamento Velociraptor bulk disponibili pubblicamente in un modo facile da consumare.
Basta prendere la VQL zip della release e importarla in Velociraptor.
Questo è reso semplice tramite lo scambio di artifact Velociraptor: Server.Import.DetectRaptor

Questo dovrebbe importare l'artifact "Import DetectRaptor".

Gli artifact attuali includono:
Artifact del server:
Alcuni repository che contribuiscono:
Esegui i test di regressione Eventlogs, PSReadLine e MFT dalla root del repository:
python -m unittest discover -s tests -v
Valida direttamente il CSV di rilevamento MFT:
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
Quando aggiungi una regola MFT, lascia vuoti i campi di metadati generati ed esegui:
python scripts/assign_mft_metadata.py
Questo assegna un RuleID immutabile DR-MFT-<CATEGORY>-NNN e metadati di base per categoria, confidenza, fonte e ATT&CK. I RuleID esistenti vengono preservati.
sync_mft_lolrmm.py rigenera le regole MFT basate su LOLRMM da csv/lolrmm.csv, preservando gli ID tramite csv/MFT_RMM_IDs.csv e applicando csv/MFT_RMM_Overrides.csv. Le fonti intrinsecamente inadatte al rilevamento MFT basato solo sul nome file sono documentate in csv/MFT_RMM_Exclusions.csv.
normalize_mft_metadata.py applica quindi la policy rivista di confidenza, severità, ambito e ATT&CK. Gli indicatori DLL generati vengono mantenuti solo quando il loro basename contiene un token di nome LOLRMM specifico del prodotto; le DLL filtrate e le esclusioni esplicite sono registrate in csv/MFT_RMM_Coverage.csv. I basename eseguibili noti come ambigui vengono inoltre filtrati dalla generazione basata sul solo nome file. Gli override di suddivisione curati mantengono i nomi file generici solo sotto i percorsi di prodotto upstream stabili.
build_mft_replay_coverage.py crea un positivo sintetico deterministico per ogni regola MFT e registra le corrispondenze di regole sovrapposte in csv/MFT_Replay_Coverage.csv. replay_mft.py --check valuta i fixture positivi e negativi ripuliti in tests/fixtures/. Può anche confrontare un file di regole candidato con una baseline usando --baseline-rules e scrivere output dettagliati di corrispondenza, confronto e riepilogo in percorsi selezionati esplicitamente.
csv/MFT_Whitelist.csv contiene policy di soppressione integrate basate sul percorso. Le policy richiedono un RuleID e un artifact esatti, oltre a regex corrispondenti per nome file e percorso. SuppressWhitelisted è abilitato per impostazione predefinita in MFT e Amcache; disabilitalo per controllare le righe soppresse e i relativi metadati WhitelistID. Le approvazioni RMM locali o specifiche del cliente restano parametri runtime e non vengono committate nel repository.
benchmark_mft_replay.py combina i fixture ripuliti con un positivo generato per regola. Riporta corrispondenze grezze, mantenute e soppresse; file e stringhe di percorso univoci; espansione multi-corrispondenza; valutazioni stimate delle regole; e tempo di esecuzione. Ulteriori input CSV in formato replay possono essere forniti con --input. Il JSON del benchmark viene scritto solo quando --output viene fornito esplicitamente.
Rigenera gli artifact interessati da scripts/:
cd scripts
python evtx.py
python psreadline.py
python iseautosave.py
python mft.py
python amcache.py
Verifica gli artifact generati con 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