
Visuell inspizieren und YARA- und Regex-Übereinstimmungen in binären sowie Textdaten zwangsweise dekodieren, mit Farben. Viele Farben.

Untersuchen Sie visuell alle Regex-Übereinstimmungen (und ihre schickeren, geheimnisvolleren Vettern, die YARA-Übereinstimmungen), die in Binärdaten und/oder Text gefunden werden. Sehen Sie, was passiert, wenn Sie verschiedene Zeichenkodierungen auf diese übereinstimmenden Bytes anwenden. Mit Farben.
pipx install yaralyzer
# Scan against YARA definitions in a file:
yaralyze --yara-rules /secret/vault/sigmunds_malware_rules.yara lacan_buys_the_dip.pdf
# Scan against an arbitrary regular expression:
yaralyze --regex-pattern 'good and evil.*of\s+\w+byte' --regex-modifier wide the_crypto_archipelago.exe
# Scan against an arbitrary YARA hex pattern
yaralyze --hex-pattern 'd0 93 d0 a3 d0 [-] 9b d0 90 d0 93' one_day_in_the_life_of_ivan_cryptosovich.bin
'/.+/' suchen und erhalten sofort einen Einblick in alle Bytes der Datei, die zwischen Schrägstrichen stehen. Gleiches gilt für Anführungszeichen, BOMs usw. Jeder reguläre Ausdruck, den YARA verarbeiten kann, wird unterstützt – der Phantasie sind keine Grenzen gesetzt.chardet ist eine ausgefeilte Bibliothek zum Erraten von Zeichenkodierungen und wird hier genutzt.chardet wird ebenfalls genutzt, um zu prüfen, ob die Bytes dem Muster irgendeiner bekannten Kodierung entsprechen. Wenn chardet zuversichtlich genug ist (konfigurierbar), wird ein Versuch angezeigt, die Bytes mit dieser Kodierung zu dekodieren.Die Funktionalität des Yaralyzer wurde aus The Pdfalyzer extrahiert, als klar wurde, dass die Visualisierung und Dekodierung von Musterübereinstimmungen in Binärdateien über die reine PDF-Analyse hinaus nützlich ist.
YARA – für diejenigen, die es nicht wissen[^1] – wird als Malware-Analyse-/Alarmierungswerkzeug vermarktet, ist aber tatsächlich sowohl viel mehr als auch viel weniger als das. Eine Möglichkeit, es zu betrachten, ist, dass YARA eine unter Steroiden stehende Regex-Engine ist. Es kann Regex-Treffer in Binärdateien finden wie jede andere Regex-Engine, aber es kann auch weitaus wildere Dinge tun, wie Regexes in logischen Gruppen kombinieren, Regexes gegen alle 256 XOR-Varianten einer Binärdatei vergleichen, nach base64 und anderen Kodierungen des Musters suchen und mehr. Am wichtigsten ist vielleicht, dass YARA ein standardisiertes textbasiertes Format bietet, mit dem Menschen ihre aufgemotzten regulären Ausdrücke teilen können. All diese Funktionen sind besonders nützlich bei der Analyse oder dem Reverse Engineering von Malware, deren Autoren oft viel Zeit darauf verwenden, Dinge schwer auffindbar zu machen.
Aber... das ist auch alles, was YARA tut. Alles andere bleibt dem Benutzer überlassen. YARA ist nur eine Matching-Engine, und wenn Sie nicht wissen, wonach Sie suchen sollen (oder sogar, welche Zeichenkodierung für die Suche infrage kommt), bringt Sie das nur bedingt weiter. Ich war etwas frustriert, als ich mit YARA alle Treffer einiger kritischer Muster untersuchen wollte:
\".+\" und \'.+\')/.+/). Schrägstriche grenzen in vielen Implementierungen einen regulären Ausdruck ab, und ich wollte herausfinden, ob eines der Bytes, die diesem Muster entsprechen, tatsächlich ein regulärer Ausdruck ist.YARA teilt Ihnen lediglich die Byteposition und die gefundene Zeichenkette mit, kann aber nicht sagen, ob diese Bytes UTF-8, UTF-16, Latin-1 usw. sind (oder nichts davon). Außerdem wollte ich verstehen, was im Bereich der gefundenen Bytes passiert, nicht nur in den gefundenen Bytes. Mit anderen Worten: Ich wollte die Bytes unmittelbar vor und nach dem Treffer betrachten.
Hier kommt Der Yaralyzer ins Spiel, mit dem Sie schnell die Bereiche um Treffer herum durchsuchen können, während gleichzeitig angezeigt wird, wie diese Bereiche aussehen würden, wenn man sie mit verschiedenen Zeichenkodierungen interpretiert.
Der Yaralyzer ist kein Malware-Reverse-Engineering-Tool. Es kann nicht die Dinge tun, die ein Tool wie CyberChef kann, und es versucht es auch nicht. Es ist eher dazu gedacht, einen schnellen visuellen Überblick über verdächtige Bereiche in der Binärdatei zu geben, damit Sie sich auf die Stellen konzentrieren können, die Sie mit einem ernsthafteren Werkzeug untersuchen möchten.
Installieren Sie es mit pipx oder pip3. pipx ist eine etwas bessere Lösung, da es garantiert, dass alle damit installierten Pakete vom Rest Ihrer lokalen Python-Umgebung isoliert sind. Wenn Sie jedoch keine lokale Python-Umgebung haben, ist dies irrelevant, und Sie können es ruhig mit pip/pip3 installieren.
pipx install yaralyzer
Führen Sie yaralyze -h aus, um die Befehlszeilenoptionen zu sehen (Screenshot unten).

Informationen zum Exportieren von SVG-Bildern, HTML usw. finden Sie unter Beispielausgabe.
Wenn Sie eine Datei namens .yaralyzer in Ihrem Home-Verzeichnis oder im aktuellen Arbeitsverzeichnis ablegen, werden die in dieser .yaralyzer-Datei angegebenen Umgebungsvariablen bei jedem Aufruf von Yaralyzer zur Umgebung hinzugefügt. Dies bietet einen Mechanismus, um verschiedene Befehlszeilenoptionen dauerhaft zu konfigurieren, sodass Sie sie nicht immer wieder eingeben müssen. Weitere Informationen finden Sie in den Kommentaren in der Beispieldatei .yaralyzer.example.
Es wird nur eine .yaralyzer-Datei geladen, und die .yaralyzer-Datei des Arbeitsverzeichnisses hat Vorrang vor der des Home-Verzeichnisses.