
Einfacher Bash IOC-Scanner
Einfacher Bash-IOC-Scanner
Fenrir ist ein einfaches Bash-Skript zum Scannen von IOCs. Es ermöglicht das Scannen von Linux/Unix/OSX-Systemen nach folgenden Indicators of Compromise (IOCs):
Hashes
MD5, SHA1 und SHA256 (mit md5sum, sha1sum, sha -a 256)
Dateinamen
Zeichenkette – auf Teilzeichenfolge des vollständigen Pfads geprüft, z.B. "temp/p.exe" in "/var/temp/p.exe"
Zeichenketten
grep in Dateien
C2-Server
Prüfung auf C2-Server-Zeichenketten in der Ausgabe von 'lsof -i' und 'lsof -i -n'
Heißer Zeitrahmen
Verwendung von stat in verschiedenen Modi – definieren Sie den minimalen und maximalen Unix-Zeitstempel und erhalten Sie alle Dateien, die dazwischen erstellt wurden
Grundlegende Merkmale:
FENRIR ist das dritte Tool nach THOR und LOKI. THOR ist unser voll ausgestatteter APT-Scanner mit vielen Modulen und Exporttypen für Unternehmenskunden. LOKI ist ein kostenloser und offener IOC-Scanner, der YARA als Signaturformat verwendet.
Das Problem bei beiden Vorgängern ist, dass beide bestimmte Anforderungen an die Linux-Plattform haben. Wir bauen THOR für eine bestimmte Linux-Version, um die korrekte libc zu verwenden, die vom YARA-Modul benötigt wird. LOKI benötigt Python und YARA, die auf Linux installiert sein müssen.
Wir standen vor dem Problem, mehr als 100 verschiedene Linux-Systeme auf bestimmte Indicators of Compromise (IOCs) zu überprüfen, ohne einen Agenten oder Softwarepakete zu installieren. Wir hatten bereits ein Ansible-Playbook für die Verteilung von THOR auf eine definierte Gruppe von Linux-Remotesystemen. Dieses Playbook erstellt ein RAM-Laufwerk auf dem entfernten System, kopiert das lokale Programm-Binärprogramm auf das entfernte System, führt es aus und ruft anschließend die Logs ab. Dadurch wird sichergestellt, dass der Fußabdruck des Programms auf dem entfernten System minimal ist. Ich habe das Ansible-Playbook für Fenrir angepasst. (es ist noch ungetestet)
Fenrir befindet sich noch im 'Teststadium'. Bitte melden Sie Fehler (und Lösungen) über den Bereich "Issues" hier auf GitHub.
Wenn Sie eine bessere / robustere / weniger fehleranfällige Lösung für die Auswertungen im Skript finden, melden Sie diese bitte zurück. Ich bin kein Vollzeit-Bash-Programmierer, daher erwarte ich einige Verbesserungsmöglichkeiten.
Usage: ./fenrir.sh DIRECTORY
DIRECTORY - Startpunkt des rekursiven Scans
Alle Einstellungen können im Kopf des Skripts konfiguriert werden.

Was Fenrir tut:
Scanlauf mit den verschiedenen Übereinstimmungstypen in einem Demo-Verzeichnis.

C2-Verbindungen erkennen

Zeichenketten in GZP Logs erkennen

Konfiguration

Ansible-Playbook

Stat-Problem (bezüglich des CREATED-Dateizeitstempels auf Linux-Dateisystemen)

via Twitter @Cyb3rOps