
IDA Python-Plugin zum Scannen von Binärdateien mit Yara-Regeln
Verwende dieses IDA-Python-Plugin, um deine Binärdatei mit Yara-Regeln zu scannen. Alle Yara-Regeltreffer werden mit ihrem Offset aufgelistet, sodass du schnell zu ihnen springen kannst!
🍻 Alle Anerkennung für dieses Plugin und den Code geht an David Berard (@p0ly) 🍻
Dieses Plugin ist von Davids exzellentem findcrypt-yara Plugin kopiert. Es erweitert seines lediglich, um beliebige Yara-Regeln zu verwenden.
Das Plugin kann über das Menü unter Edit->Plugins->FindYara oder mit der Tastenkombination Ctrl-Alt-Y gestartet werden. Beim Start öffnet FindYara einen Dateiauswahldialog, mit dem du deine Yara-Regeldatei auswählen kannst. Sobald die Regeldatei ausgewählt ist, scannt FindYara die geladene Binärdatei auf Regeltreffer.
Alle Regeltreffer werden in einem Auswahlfeld angezeigt, in dem du durch Doppelklick auf die Treffer zu ihrer Position in der Binärdatei springen kannst.
FindYara scannt die geladenen PE-Abschnitte in IDA. Das bedeutet, dass Yara-Regeln, die Treffer im PE-Header enthalten, in IDA nicht zutreffen. IDA lädt den PE-Header nicht als scanbaren Abschnitt. Wenn du beim Laden deiner Binärdatei in IDA außerdem nicht Load resources ausgewählt hast, steht der Ressourcenabschnitt nicht zum Scannen zur Verfügung.
Dies kann zu frustrierenden Situationen führen, in denen eine Yara-Regel außerhalb von IDA zutrifft, aber nicht bei Verwendung von FindYara. Wenn dir das passiert, versuche die Yara-Regel so zu bearbeiten, dass die Treffer im PE-Header und den Ressourcenabschnitten entfernt werden.
Bevor du das Plugin verwenden kannst, musst du das Python-Yara-Modul in deiner IDA-Umgebung installieren. Der einfachste Weg ist die Verwendung von pip in einer Shell außerhalb von IDA:
pip install yara-python
Installiere nicht versehentlich das yara-Modul. Das Python-Modul yara stört dein yara-python-Modul, daher muss es deinstalliert werden, falls es versehentlich installiert wurde.
Sobald das Yara-Modul installiert ist, kopiere einfach die neueste Version von findyara.py in dein IDA-Plugins-Verzeichnis und du kannst mit dem Yara-Scannen beginnen!
FindYara wurde für die Verwendung mit IDA 7+ und Python 3 entwickelt und ist nicht abwärtskompatibel.
FindYara benötigt das Python-Yara-Modul in Version 4+. Frühere Yara-Versionen sind nicht mit dem Plugin kompatibel und können aufgrund von Breaking Changes im Yara-Trefferformat Probleme verursachen.
Ein riesiges Dankeschön an David Berard (@p0ly) – Folge ihm auf GitHub hier! Dies ist größtenteils sein Code, und ihm gebührt alle Anerkennung für das ursprüngliche Plugin-Framework.
Auch ein Dank an Alex Hanel @nullandnull – Folge ihm auf GitHub hier. Alex hat mir geholfen, die Verwendung der IDC-Methoden zu verstehen. Sein IDA Python Buch ist eine fantastische Referenz!!