
Native YARA-Scanner X-Tension für X-Ways Forensics mit In-Snapshot-Dateiscanning, Multithread-RVS-Unterstützung, Berichtstabellenausgabe und ohne Datenträger-Schreibvorgänge.
Diese X-Ways Forensics X-Tension ermöglicht die native Nutzung von YARA innerhalb von X-Ways. Sie verwendet dafür sowohl die X-Ways Forensics API als auch die YARA API.
Hinweis: Dies ist ein Open-Source-Projekt, kein formelles CrowdStrike-Produkt.
Es gibt viele Vorteile, YARA innerhalb von X-Ways auszuführen, gegenüber der Ausführung über die Kommandozeile.
Angenommen, X-Ways Forensics ist korrekt installiert und eingerichtet, laden Sie einfach die kompilierte DLL von der Releases-Seite herunter und kopieren Sie sie in Ihren x64-Ordner innerhalb des X-Ways Forensics-Installationsordners.
Die X-Tension kann entweder über die GUI von X-Ways Forensics oder über die Kommandozeile ausgeführt werden. Diese README konzentriert sich auf die GUI-Methode.
Innerhalb der GUI gibt es zwei Möglichkeiten, die X-Tension auszuführen: über das Menü "Refine Volume Snapshot" (RVS) oder über das Menü des Verzeichnisbrowser-Kontextmenüs (DBC). Welche Methode Sie verwenden, hängt davon ab, was Sie erreichen möchten. Normalerweise ist die Ausführung von YARA über das RVS-Menü sehr schnell, wenn der Benutzer eine sinnvolle maximale Dateigröße angibt (z. B. 25 MB). Wenn der Benutzer aus irgendeinem Grund YARA über das DBC-Menü gegen größere einzelne Dateien ausführen möchte, teilt die X-Tension die Daten in Blöcke auf (deren Größe vom Benutzer angegeben wird).
Wenn eine der YARA-Regeln nicht kompiliert werden kann, wird ein Fehler im X-Ways-Messages-Fenster angezeigt, der die fehlerhafte Zeile und die YARA-Fehlermeldung angibt. Beheben Sie diese Fehler in der YARA-Regel und versuchen Sie es erneut. Eine Anzahl von YARA-Warnungen wird im X-Ways-Messages-Fenster angezeigt, und die genauen Details dieser Warnungen werden im X-Ways-Fallprotokoll protokolliert.
Die X-Tension unterstützt die Verwendung mehrerer YARA-Regeldateien (beachten Sie, dass YARA einen Fehler für doppelte Regeln wirft und die Kompilierung fehlschlägt). Alternativ wird auch die Verwendung einer einzelnen bereits kompilierten Regeldatei (.yara/.yar) unterstützt.
Hinweis: Es besteht das Risiko, dass ein gültiger YARA-Treffer übersehen wird, wenn sich die gescannten Daten über zwei Block-/Puffergrenzen hinweg erstrecken. Wenn dies ein Problem darstellt, erhöhen Sie die Puffergröße oder kopieren Sie die Datei aus X-Ways heraus und scannen Sie sie mit der YARA-Kommandozeile.
| Methode -> | RVS | DBC |
|---|---|---|
| Mehrthread-fähig | Ja | Nein |
| Abfrage der maximalen Dateigröße | Ja | Nein |
| Abfrage der Scanpuffergröße | Ja* | Ja |
* Nur wenn die vom Benutzer eingegebene maximale Dateigröße größer als 100 MB ist. Wenn die maximale Dateigröße kleiner als 100 MB ist, wird 100 MB als Puffergröße verwendet.
Gehen Sie in der GUI, nachdem Sie ein neues Fall geöffnet oder ein bestehendes geöffnet haben, zu Specialist -> Refine Volume Snapshot. Aktivieren Sie dann die Option "Run X-Tensions" und klicken Sie auf die drei Punkte, die erscheinen. Klicken Sie im daraufhin erscheinenden Menü auf das Pluszeichen (+) und navigieren Sie zu der XT_Yara.dll-Datei, die Sie aus diesem Repository heruntergeladen haben, und drücken Sie dann OK.
Sie werden dann aufgefordert, Ihre YARA-Regeldatei auszuwählen. Ein Eingabefenster wird angezeigt, und Sie werden gebeten, eine maximale Dateigröße für den Scan anzugeben, was erforderlich ist. 25–50 MB könnten eine angemessene maximale Größe sein, wenn Sie beispielsweise nur nach Malware-Beispielen oder Webshells suchen.
Wenn der Benutzer eine maximale Dateigröße von mehr als 100 MB ausgewählt hat, wird eine zweite Benutzereingabeaufforderung angezeigt, die nach der vom YARA-Scanner verwendeten Puffergröße fragt. Es wurde bis zu 2 GB ohne Probleme getestet, wählen Sie jedoch je nach Arbeitsspeicherbeschränkungen und Anzahl der ausgewählten Threads sinnvoll.
Gehen Sie in der GUI, nachdem Sie ein neues Fall geöffnet oder ein bestehendes geöffnet haben, wählen Sie die zu scannende(n) Datei(en) aus, klicken Sie mit der rechten Maustaste auf eine davon und wählen Sie "Run X-Tensions...". Sie werden dann aufgefordert, die YARA-Regeldatei(en) anzugeben. Es wird eine Benutzereingabeaufforderung angezeigt, die nach der vom YARA-Scanner verwendeten Puffergröße fragt. Es wurde bis zu 2 GB ohne Probleme getestet, wählen Sie jedoch je nach Arbeitsspeicherbeschränkungen und Anzahl der ausgewählten Threads sinnvoll.
Es gibt keine Abfrage der maximalen Dateigröße.
Dateien mit YARA-Treffern werden der Berichtstabelle "YARA Hits" hinzugefügt. Die genauen Regeln, die zutreffen, werden pro Datei und pro Zeile im Feld "Comments" innerhalb von X-Ways Forensics hinzugefügt.
Eine typische Ausgabe sieht wie folgt aus:
[XT] YARA 4.2.2 library initialised
[XT] There were 9 YARA compile warnings. Check the XWF case log for details
[XT] YARA rules compiled successfully
[XT] Operation Complete. Processing time: 0.000000s
[XT] Summary: Found 240 YARA hits
[XT] YARA library finalised