
Ein Repository zum Teilen öffentlich verfügbarer Velociraptor-Erkennungsinhalte.
Ein Repository, um öffentlich verfügbare Bulk-Velociraptor-Erkennungsinhalte auf einfache Weise bereitzustellen.
Lade einfach das Release VQL zip herunter und importiere es in Velociraptor.
Dies wird über den Velociraptor-Artefaktaustausch einfach gemacht: Server.Import.DetectRaptor

Dadurch sollte das Artefakt "Import DetectRaptor" importiert werden.

Zu den aktuellen Artefakten gehören:
Server-Artefakte:
Einige beitragende Repositorien:
Führe die Eventlogs-, PSReadLine- und MFT-Regressionstests aus dem Repository-Wurzelverzeichnis aus:
python -m unittest discover -s tests -v
Validiere die MFT-Erkennungs-CSV direkt:
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
Wenn du eine MFT-Regel hinzufügst, lasse die generierten Metadatenfelder leer und führe Folgendes aus:
python scripts/assign_mft_metadata.py
Dies weist eine unveränderliche DR-MFT-<CATEGORY>-NNN-RuleID sowie Baseline-Kategorie, Konfidenz, Quelle und ATT&CK-Metadaten zu. Vorhandene RuleIDs werden beibehalten.
sync_mft_lolrmm.py regeneriert LOLRMM-gestützte MFT-Regeln aus csv/lolrmm.csv, wobei IDs über csv/MFT_RMM_IDs.csv erhalten und csv/MFT_RMM_Overrides.csv angewendet werden. Quellen, die für eine reine Dateinamen-basierte MFT-Erkennung grundsätzlich ungeeignet sind, sind in csv/MFT_RMM_Exclusions.csv dokumentiert. normalize_mft_metadata.py wendet dann die geprüfte Konfidenz-, Schweregrad-, Umfangs- und ATT&CK-Richtlinie an. Generierte DLL-Indikatoren werden nur übernommen, wenn ihr Basisname ein produktspezifisches LOLRMM-Namenszeichen enthält; gefilterte DLLs und explizite Ausschlüsse werden in csv/MFT_RMM_Coverage.csv erfasst. Bekannte mehrdeutige Basisnamen von ausführbaren Dateien werden ebenfalls aus der reinen Dateinamen-Generierung herausgefiltert. Kuratierte Split-Overrides behalten generische Dateinamen nur unterhalb stabiler Upstream-Produktpfade.
build_mft_replay_coverage.py erstellt für jede MFT-Regel ein deterministisches synthetisches Positivbeispiel und erfasst überlappende Regel-Treffer in csv/MFT_Replay_Coverage.csv. replay_mft.py --check wertet die bereinigten Positiv- und Negativ-Fixtures unter tests/fixtures/ aus. Es kann außerdem eine Kandidaten-Regeldatei mithilfe von --baseline-rules mit einer Baseline vergleichen und detaillierte Treffer-, Vergleichs- und Zusammenfassungsausgaben in explizit ausgewählte Pfade schreiben.
csv/MFT_Whitelist.csv enthält integrierte pfadbewusste Unterdrückungsrichtlinien. Richtlinien erfordern eine exakte RuleID und ein Artefakt sowie passende Dateinamen- und Pfad-Regexe. SuppressWhitelisted ist standardmäßig in MFT und Amcache aktiviert; deaktiviere es, um unterdrückte Zeilen und ihre WhitelistID-Metadaten zu prüfen. Lokale oder kundenspezifische RMM-Freigaben bleiben Laufzeitparameter und werden nicht in das Repository übernommen.
benchmark_mft_replay.py kombiniert die bereinigten Fixtures mit einem generierten Positivbeispiel pro Regel. Es berichtet rohe, beibehaltene und unterdrückte Treffer; eindeutige Dateien und Pfadzeichenfolgen; Multi-Match-Erweiterung; geschätzte Regelauswertungen und Laufzeit. Zusätzliche CSV-Eingaben im Replay-Format können mit --input bereitgestellt werden. Benchmark-JSON wird nur geschrieben, wenn --output explizit angegeben wird.
Regeneriere die betroffenen Artefakte aus scripts/:
cd scripts
python evtx.py
python psreadline.py
python iseautosave.py
python mft.py
python amcache.py
Verifiziere die generierten Artefakte mit 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