
Incident Response - Schneller Sucher für verdächtige Dateien

Ein leichtgewichtiges Incident-Response-Tool für Threat Hunting und forensische Triage
FastFinder ist ein leistungsstarkes, leichtgewichtiges Incident-Response-Tool, das für Cybersicherheitsexperten entwickelt wurde, die Threat Hunting, Live-Forensik und Endpunkt-Triage durchführen. Es ist sowohl für Windows als auch für Linux verfügbar und zeichnet sich durch die schnelle Erkennung verdächtiger Dateien anhand mehrerer Kriterien aus.
Basisschnittstelle
Konfigurationsauswahl
Scanergebnisse und Treffer
📥 Aktuelle Version herunterladen
⚠️ Hinweis: Die Kompilierung erfordert CGO- und YARA-Abhängigkeiten. Siehe plattformspezifische Anleitungen:
Der einfachste Weg, FastFinder ohne Installation von Abhängigkeiten zu erstellen:
# Build binaries for Linux and Windows
cd docker
make build-binaries
# Binaries will be in ./bin/
# - fastfinder-linux-amd64
# - fastfinder-windows-amd64.exe
Führen Sie FastFinder in einem privilegierten Docker-Container aus, um Volumes oder gemountete Dateisysteme zu scannen:
# Build the runtime image (includes FastFinder + YARA + editors)
.\docker-helper.ps1 build-runtime
# Run scan with configuration directory
.\docker-helper.ps1 run-runtime -ConfigPath "C:\path\to\config_folder" -ScanPath "C:\data\to\scan"
# Interactive shell mode (no scan, just shell access)
.\docker-helper.ps1 run-runtime -Interactive
fastfinder [OPTIONS]
# Basic scan with configuration file
./fastfinder -c config.yaml
# Continuous monitoring mode
./fastfinder -c config.yaml -t
# Create standalone executable (x64 architecture only)
./fastfinder -c config.yaml -b standalone_scanner.exe
💡 Tipp: FastFinder kann mit Standardbenutzerrechten ausgeführt werden, aber Administratorrechte bieten Zugriff auf alle Systemdateien.
Konfigurationsbeispiele sind hier verfügbar. Hier ist ein vollständiges leeres Konfigurationsbeispiel. Sie müssen nicht jedes Attribut implementieren, wenn Sie nicht alles nutzen.
input:
path: [] # match file path AND / OR file name based on simple string
content:
grep: [] # match literal string value inside file content
yara: [] # use yara rule and specify rules path(s) for more complex pattern search (wildcards / regex / conditions)
checksum: [] # parse for md5/sha1/sha256 in file content
options:
contentMatchDependsOnPathMatch: true # if true, paths are a pre-filter for grep (string) searches only. YARA and Checksums are always evaluated.
findInHardDrives: true # enumerate hard drive content
findInRemovableDrives: true # enumerate removable drive content
findInNetworkDrives: true # enumerate network drive content
findInCDRomDrives: true # enumerate physical CD-ROM and mounted iso / vhd...
findInMemory: true # check for results in processes memory
output:
copyMatchingFiles: true # create a copy of every matching file
base64Files: true # base64 matched content before copy
filesCopyPath: '' # empty value will copy matched files in the fastfinder.exe folder
advancedparameters:
yaraRC4Key: '' # yara rules can be (un)/ciphered using the specified RC4 key
maxScanFilesize: 2048 # ignore files up to maxScanFileSize Mb (default: 2048)
cleanMemoryIfFileGreaterThanSize: 512 # clean fastfinder internal memory after heavy file scan (default: 512Mb)
eventforwarding:
enabled: true
buffer_size: 5
flush_time_seconds: 10
file: # save app activity in jsonl files
enabled: true
directory_path: "./event_logs"
rotate_minutes: 1 # Rotate every minute for testing
max_file_size_mb: 1 # Rotate at 1MB for testing
retain_files: 5 # Keep 5 old files
http: # forward app activity with HTTP POST json data
enabled: false
url: "https://your-forwarder-url.com/api/events"
ssl_verify: false
timeout_seconds: 10
headers:
Authorization: "Bearer YOUR_API_KEY"
MY-CUSTOM-HEADER: "My-Header-Value"
retry_count: 3
filters:
event_types:
- "error"
- "warning"
- "alert"
- "info"
Relative Pfade in der YAML-Konfiguration werden relativ zum Speicherort der Konfigurationsdatei aufgelöst:
input:
content:
yara:
- "./example_rule_linux.yar" # Look in same folder as config.yaml
- "./subfolder/custom_rules.yar" # Look in subfolder relative to config
- "/absolute/path/to/rule.yar" # Absolute paths work as-is
- "https://example.com/rules.yar" # URLs are also supported
Beispielverzeichnisstruktur:
project/
├── config.yaml
├── example_rule_linux.yar # ✅ Found by "./example_rule_linux.yar"
└── rules/
└── custom.yar # ✅ Found by "./rules/custom.yar"
Wir freuen uns über Beiträge! Bitte beachten Sie unsere Richtlinien für Beiträge:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)# Clone the repository
git clone https://github.com/codeyourweb/fastfinder.git
cd fastfinder
# Install dependencies (see compilation guides)
# Build from source
go build -tags yara_static,gio -a -ldflags '-s -w' .
# Run tests
go test ./...
Dieses Projekt ist unter der AGPL-Lizenz lizenziert – siehe LICENSE für Details.
Mit ❤️ von der Cybersicherheits-Community gemacht
Erstellt von Jean-Pierre GARNIER (@codeyourweb) • 2021-2026
| Option | Beschreibung | Standard |
|---|
-h, --help | Hilfeinformation anzeigen | |
-c, --configuration <yaml config file> | Pfad zur Konfigurationsdatei | |
-b, --build <output executable> | Eigenständige Binärdatei mit eingebetteter Konfiguration erstellen (nur x64-Architektur) | |
-r, --root <Path> | Scan-Stammpfad (überschreibt Laufwerksaufzählung) | |
-s, --silent | Lautloser Modus – Ausführung ohne sichtbares Fenster oder Konsole | |
-v, --verbosity <verbosityLevel> | Ausführlichkeitsstufe der Protokollierung (1-5) | 3 |
-t, --triage | Kontinuierlicher Überwachungsmodus | false |