
Kostenlose Bildungsinhalte zu Reverse Engineering und Malware-Analyse vom FLARE-Team

Das FLARE Learning Hub vertreibt kostenlos hochwertige Schulungsinhalte zur Reverse Engineering und Malware-Analyse vom FLARE-Team.
Die Module des FLARE Learning Hubs werden als im Web veröffentlichte Google Docs gehostet, die in den jeweiligen Beschreibungen unten verlinkt sind. Dieses Repository enthält alle zugehörigen Artefakte für jedes Modul, einschließlich Übungs- und Demonstrations-Binaries, Disassembler-Datenbanken und Skripte.
Verfeinerungen bestehender Module sowie neue Module werden fortlaufend veröffentlicht.
Um mit einem Modul zu arbeiten, empfehlen wir dringend, eine sicher isolierte virtuelle Maschinenumgebung (VM) mit FLARE-VM einzurichten, die die für die Übungen und Demonstrationen erforderlichen Werkzeuge bereitstellt. Wir empfehlen außerdem die Verwendung eines Virtualisierungsprodukts, das Snapshots unterstützt, damit Sie die VM in einem sauberen Zustand aufzeichnen und bei Beginn einer neuen Analyse zu diesem Zustand zurückkehren können. Alle Module unterstützen derzeit nur Intel x86-64-Umgebungen.
Obwohl alle verteilten Binaries und Skripte ausschließlich für praktische Übungen und Demonstrationen erstellt wurden, können sie von automatisierten Systemen als schädlich eingestuft werden, da einige malwareähnliches Verhalten aufweisen. Dieses Projekt übernimmt keine Verantwortung für Schäden oder Verluste, die durch die Ausführung der Binaries und Skripte außerhalb einer gesicherten, isolierten virtuellen Maschinenumgebung entstehen.
Das Passwort für alle passwortgeschützten ZIP-Dateien in diesem Repository lautet flare.
Autoren: Jae Young Kim und Nick Harbour
Modul-Link: Crashkurs Malware-Analyse
Modul-Verzeichnis: /macc
Während statische Analysewerkzeuge und Sandbox-Produkte immer weiter Fortschritte machen und zunehmend wertvolle Informationen über Malware-Binaries liefern, erfordert das Treffen endgültiger Aussagen über eine Malware-Probe, wenn Zuverlässigkeit und Genauigkeit entscheidend sind, dennoch ein umfassendes Verständnis des Programms durch manuelles Reverse Engineering.
Dies ist ein Crashkurs zum Lesen, Interpretieren und Manipulieren von Assembler-Code, der nach wie vor der Grundstein der Fähigkeiten eines Reverse Engineers ist. Am Ende dieser Schulung werden Sie die praktischen Fähigkeiten entwickelt haben, die notwendig sind, um typische Windows-Malware-Proben zu analysieren.
Der Kurs beginnt mit den Grundlagen der x86-Assemblersprache und führt schrittweise in höhere Programmierkonstrukte ein. Er vermittelt auch die wesentlichen Windows-Kenntnisse, die für das Reverse Engineering von Windows-basierter Malware erforderlich sind.
Der Kurs legt einen Schwerpunkt auf das Lernen durch Handeln und enthält zahlreiche Assembler-Hacking-Übungen. Wir glauben, dass die Wiederholung des Schreibens von Assembler-Code und das Debuggen der Ergebnisse der effektivste Weg ist, um die Grundlagen schnell zu meistern, die für das Reverse Engineering größerer, komplexer Programme erforderlich sind. Der Kurs bietet außerdem Quizfragen sowie mehrere Übungen mit detaillierten Lösungen.
Autor: Jae Young Kim
Modul-Link: Die Go-Reverse-Engineering-Referenz
Die Go-Reverse-Engineering-Referenz ist eine umfassende Referenz für das Reverse Engineering von Go-Executables. Die Referenz besteht aus drei Abschnitten:
Das gesamte Material in dieser Referenz beschränkt sich derzeit auf Windows AMD64-Executables, die mit Go Version 1.24.0 kompiliert wurden.
Autoren: Josh Stroschein und Jae Young Kim
Modul-Link: Eine Einführung in das Zeitreise-Debugging
Modul-Verzeichnis: /ttd
Zeitreise-Debugging (TTD), eine von Microsoft als Teil von WinDbg angebotene Technologie, zeichnet die Ausführung eines Prozesses auf und erstellt eine Ablaufverfolgungsdatei, die vorwärts und rückwärts wiedergegeben werden kann. Im Gegensatz zum herkömmlichen Debugging, das nur eine Vorwärts-Ausführungsverfolgung ermöglicht, ist die „Rückspulfunktion“ von TTD besonders leistungsstark für Malware-Analyse und Reverse Engineering. Diese Funktion erlaubt es einem Analysten, das Programmverhalten über die Zeit zu untersuchen, was die Triage erheblich beschleunigt, indem bösartige Ereignisse schnell lokalisiert werden können. Die Fähigkeit, sich vorwärts und rückwärts durch die Ausführung zu bewegen, ist auch für das Verständnis und die Umgehung von Anti-Analyse- und Verschleierungstechniken unerlässlich.
TTD zeichnet den Ausführungspfad und den Zustand eines Programms auf und erstellt eine Ablaufverfolgungsausgabe durch eine transparente Schicht, die eine vollständige Interaktion mit dem Betriebssystem ermöglicht. Eine Ablaufverfolgungsdatei bewahrt eine Ausführungsaufzeichnung, die mit Kollegen geteilt werden kann, um die Zusammenarbeit zu erleichtern und dabei Umweltunterschiede zu umgehen, die die Ergebnisse des Live-Debuggings beeinflussen können. Bestimmte Punkte in der Ausführung können auch mit Lesezeichen versehen und geteilt werden, um die Analyse eines Kollegen zu lenken. Darüber hinaus enthält es Debugger-Datenmodellobjekte, die es Benutzern ermöglichen, die Ablaufverfolgung mit LINQ abzufragen, um bestimmte Ereignisse wie Modulladungen, Shellcode-Ausführung oder Prozess-Injection-Ereignisse zu finden.
Dieses Modul ist eine Einführung in TTD und seine Anwendung auf die Windows-Malware-Analyse. Das Modul enthält eine detaillierte Demo und eine Übung, die eine geführte, praktische Praxis ermöglicht. Es enthält auch eine Referenz zur Verwendung von JavaScript zur Automatisierung von TTD-Aufgaben sowie mehrere Beispielskripte. Am Ende des Moduls sollten Sie bereit sein, dieses leistungsstarke Werkzeug in Ihren Malware-Triage-Workflow zu integrieren und Ihre Analyse unter komplexen Debugging-Szenarien zu beschleunigen.
Wir nehmen derzeit keine Beiträge zu diesem Repository an, aber etwaige Errata, Vorschläge und Rückmeldungen sind willkommen unter [email protected].
Abonnieren Sie die FLARE-Mailingliste für Community-Ankündigungen, indem Sie eine E-Mail mit dem Betreff „subscribe“ an [email protected] senden.