Der Inside-Out-Sicherheits Blog - Der Inside-Out-Sicherheits Blog

Die 11 besten Malware-Analysetools und ihre Funktionen | Varonis

Geschrieben von Robert Grimmick | May 8, 2021 4:00:00 AM

Malware hat sich zu einer großen Bedrohung für Unternehmen weltweit entwickelt. Ein kleiner Fehler wie das Öffnen eines E-Mail-Anhangs kann ein Unternehmen am Ende Millionen von Dollar kosten, wenn keine entsprechenden Kontrollen vorhanden sind. Zum Glück gibt es viele Malware-Analysetools, mit denen sich solche Cyber-Bedrohungen bekämpfen lassen.

Wenn auf einen Sicherheitsvorfall mit Malware reagiert wird, sammelt und analysiert ein digitales Forensik- oder Forschungsteam in der Regel eine Probe als Grundlage für weitere Untersuchungen, um die Funktionen der Malware besser zu verstehen.

Es gibt eine Reihe von Tools, die Sicherheitsanalysten für das Reverse Engineering von Malware-Proben nutzen können. Die gute Nachricht ist, dass alle Malware-Analysetools, die ich verwende, komplett kostenlos und Open Source sind. In diesem Artikel stelle ich meine 11 besten Malware-Analysetools vor (in keiner bestimmten Reihenfolge) und zeige, wofür sie nützlich sind:

  1. PeStudio
  2. Process Hacker
  3. Process Monitor (ProcMon)
  4. ProcDot
  5. Autoruns
  6. Fiddler
  7. Wireshark
  8. x64dbg
  9. Ghidra
  10. Radare2/Cutter
  11. Cuckoo Sandbox

Laden Sie unser Whitepaper zur Sicherheitsanalyse herunter

"Unternehmen versäumen es oft, Hacks rechtzeitig zu erkennen, weil weniger als 20 % der Datendiebstähle intern entdeckt werden. - Gartner"

Malware-Analysetools und -Techniken

 Bevor ich die Malware ausführe, um ihr Verhalten zu beobachten, führe ich zunächst eine statische Analyse der Malware durch. Die Tools, die für solche Analysen verwendet werden, führen den Code nicht aus, sondern versuchen, verdächtige Anzeichen – beispielsweise Hashes, Zeichenfolgen und Importe – herauszuziehen und zu erkennen, ob die Malware gepackt ist. Sobald ich so viele Informationen wie möglich aus meinen statischen Tools und Techniken herausgezogen habe, detoniere ich die Malware in einer virtuellen Maschine, die speziell für die Ausführung und Analyse von Malware erstellt wurde. Während die Malware läuft, verwende ich eine Reihe von Tools, um ihre Aktivitäten aufzuzeichnen. Das wird allgemein als dynamische Analyse bezeichnet. Bei der dynamischen Analyse einer Probe suche ich nach eindeutigen Merkmalen, die ich dieser Malware zuordnen kann. Dazu kann man beispielsweise nach neu erstellten Dateien und Änderungen in der Registrierung suchen, die darauf hindeuten, dass die Malware eine gewisse Persistenz aufbaut. Oder man untersucht den Datenverkehr im Netzwerk, um herauszufinden, mit welcher Command-and-Control-Infrastruktur (C2) die Malware sich verbindet.

  • Haftungsausschluss: Die Tools in diesem Artikel sollten in einer Sandbox-Umgebung verwendet werden, z. B. in einer virtuellen Maschine, die auf die Analyse von Malware ausgelegt ist. Versuchen Sie nicht, diese Tools zur Analyse von Malware auf Ihrem Host-Betriebssystem zu verwenden.

1. PeStudio

> Meine erste Anlaufstelle für die Analyse einer ausführbaren Windows-Datei ist immer PeStudio. Dabei handelt es sich um ein hervorragendes Tool für die erste Einschätzung einer Malware-Probe. Ich kann damit schnell alle verdächtigen Artefakte extrahieren. Sobald eine Binärdatei geladen wurde, gibt es dem Benutzer schnell Hashes der Malware und alle Erkennungen aus, die in VirusTotal gefunden wurden. Eine Liste von Zeichenfolgen wird ebenfalls abgerufen. Wenn die Probe jedoch gepackt ist, werden möglicherweise keine starken IOCs ausgegeben. Indem man die Probe entpackt und die Zeichenfolgen überprüft, kann man oft nützliche Informationen finden, etwa bösartige Domains und IP-Adressen. Der Screenshot oben zeigt auch die „Entropie“ der Malware. Anhand derer kann man erkennen, ob Malware gepackt ist oder nicht. Wenn eine Probe gepackt ist, bedeutet das, dass der Malware-Autor effektiv eine Code-Schicht um die Malware herum angelegt hat, um die wahre Funktionalität zu verschleiern und die Analyse zu verhindern. Zur Unterstützung bei der Erkennung gepackter Malware zeigt PeStudio den Entropiegrad der Datei an. Die Entropie wird auf einer Skala von 0–8 gemessen, wobei 8 die höchste Stufe der Entropie ist. Je höher die Entropie, desto wahrscheinlicher ist es, dass Malware gepackt ist. Ein weiterer nützlicher Bereich ist die Registerkarte „Imports“ (Importe). Diese enthält Funktionen, die in die Malware importiert werden, damit sie bestimmte Aufgaben ausführen kann. Zum Beispiel enthält Windows verschiedene Bibliotheken, die als DLLs bezeichnet werden. Diese Abkürzung steht für Dynamic Link Library. Jede Bibliothek enthält einen einzigartigen Satz von Funktionen, die als Windows-APIs bezeichnet werden und von legitimen Programmen verwendet werden, um verschiedene Funktionen auszuführen. Beispielsweise enthält die DLL „Kerner32.dll“ die API „CreateProcessW“. Diese kann von Software zum Erstellen eines neuen Ausführungsprozesses verwendet werden. Allerdings nutzt Malware die gleichen Methoden, um eigene Funktionen zu importieren. Wenn die Malware eine neue Datei auf der Festplatte erstellen muss, braucht der Malware-Autor dafür keinen Code zu schreiben. Er kann einfach die API „CreateFileW“ in die Malware importieren. Anhand der Importe kann ein Malware-Analyst möglicherweise das potenzielle Verhalten der Malware vorhersagen.

2. Process Hacker

 Mit Process Hacker können Malware-Analysten sehen, welche Prozesse auf einem Gerät ausgeführt werden. Das kann beim Detonieren von Malware praktisch sein, um zu sehen, welche neuen Prozesse die Malware erstellt und von wo aus diese auf der Festplatte ausgeführt werden. Malware versucht oft, sich zu verstecken, indem sie sich an einen neuen Ort kopiert und dann umbenennt. Process Hacker zeigt an, wo solche Aktivitäten vorkommen. So kann man leicht erkennen, wie sich die Malware zu verstecken versucht. Dieses Tool ist auch praktisch, um Informationen aus dem Speicher eines Prozesses abzurufen. Wenn also die Malware detoniert wurde, kann Process Hacker verwendet werden, um den Speicher auf Zeichenfolgen zu untersuchen. Die im Speicher gefundenen Zeichenfolgen enthalten oft nützliche Informationen wie IP-Adressen, Domains und Benutzer-Agents, die von der Malware verwendet werden.

3. Process Monitor (ProcMon)

 ProcMon ist ein leistungsstarkes Tool von Microsoft, das Live-Dateisystemaktivitäten aufzeichnet, etwa Prozesserstellungen und Änderungen in der Registrierung. Das ist in Verbindung mit Process Hacker sehr praktisch, denn so lässt sich ein neuer Prozess erstellen und dann schnell beenden. Dieser Prozess kann dann in der ProcMon-Aufzeichnung überprüft werden. Mithilfe der vorgefertigten Filter oder des Prozessbaums können Analysten schnell erkennen, welche Prozesse erstellt wurden, von wo aus die Datei ausgeführt wurde und welche über- und untergeordneten Abhängigkeiten bestehen. ProcMon kann vor allem bei der Analyse von schädlichen Dokumenten nützlich sein. Die Bedrohungsakteure, die hinter Emotet stehen, verwenden häufig bösartige Word-Dokumente als Angriffsvektor. Das Word-Dokument enthält Makros, die bei Aktivierung eine Verbindung mit der C2-Infrastruktur der Angreifer herstellen und die Emotet-Nutzdaten herunterladen. Keine dieser Aktivitäten ist für den Benutzer des kompromittierten Geräts sichtbar. Mit ProcMon kann man das geöffnete Word-Dokument erfassen sowie den versteckten PowerShell-Prozess, der gestartet wird, und den base64-kodierten Befehl, der ausgeführt wird, sehen. Ein Problem mit ProcMon ist, dass es in wenigen Sekunden schnell über 100.000 Ereignisse aufzeichnen kann. Obwohl die Filter in ProcMon hervorragend sind, besteht immer die Gefahr, dass ein relevantes Ereignis übersehen wird. Diese Daten können jedoch als CSV exportiert und in das nächste Tool in meiner Liste importiert werden.

4. ProcDot

 ProcDot ermöglicht es Malware-Analysten, die Ausgabe von ProcMon einzulesen und automatisch eine graphische Darstellung der erfassten Daten zu erzeugen. Laden Sie einfach die CSV-Datei in ProcDot hoch und wählen Sie den Prozessnamen der Malware aus. Anstatt Filter zu erstellen und Hunderttausende von Ereignissen durchzusehen, können Sie nun in einem visuellen Diagramm navigieren, das die aufgezeichneten Malware-Aktivitäten darstellt. ProcMon-Daten können auch ergänzt werden, indem ein pcap von einem Tool wie Wireshark in ProcDot eingelesen wird.

5. Autoruns 

Autoruns ist ein weiteres Microsoft-Tool, das installierte Software auf einem Gerät anzeigt, die beim Einschalten des Computers mitgestartet wird. Malware kann sich verstecken, aber letztendlich muss sie ja ausgeführt werden. Und um einen Neustart zu überleben, muss die Malware einen Persistenzmechanismus einrichten. Es gibt einige Techniken, die zum Erreichen dieses Ziels eingesetzt werden können, z. B. das Erstellen einer geplanten Aufgabe oder bestimmter „Run“-Schlüsseleinträge in der Registrierung. Nach der Ausführung der Malware in einer VM kann man durch Ausführen von Autoruns jede neue persistente Software sowie die von ihr implementierte Technik erkennen und hervorheben. Das macht Autoruns zu einem idealen Tool für die Malware-Analyse.

6. Fiddler

 Malware verwendet häufig HTTP/HTTPS, um die jeweiligen C2-Server zu kontaktieren und zusätzliche Malware herunterzuladen oder Daten zu exfiltrieren. Mit einem Tool wie Fiddler, das als Web-Proxy fungiert, kann dieser Datenverkehr aufgezeichnet und analysiert werden. Dies kann sich als nützlich erweisen, wenn ein schädliches Dokument analysiert wird, das Makros zum Herunterladen von bösartigen Nutzdaten enthält. Mithilfe von Fiddler können Malware-Analysten die Domains identifizieren, die in das Dokument fest einkodiert sind und zum Herunterladen der gehosteten Malware verwendet werden. Im obigen Beispiel sehen Sie, wie Fiddler den Versuch eines bösartigen Word-Dokuments aufzeichnen konnte, Emotet von mehreren Websites herunterzuladen, auf denen die Malware gehostet wird. Wenn der erste Versuch erfolglos ist, geht er zur nächsten fest einkodierten Domain über.

7. Wireshark

 Wireshark ist das Werkzeug schlechthin zum Erfassen und Analysieren von Netzwerkdatenverkehr. Während sich ein Web-Proxy wie Fiddler auf den HTTP/HTTPS-Verkehr konzentriert, ermöglicht Wireshark eine tiefgehende Paketinspektion für mehrere Protokolle und auf mehreren Ebenen. Bei der Analyse von erfassten Paketen in Wireshark ist es sogar möglich, Dateien, die von der Malware heruntergeladen wurden, aus dem pcap zu extrahieren.

8. x64dbg

 Die bisher vorgestellten Tools können alle von Anfängern verwendet werden, die ihre ersten Schritte in die Welt der Malware-Analyse machen. Bei x64dbg steigt die Lernkurve für die Malware-Analyse jedoch steil an. Dieses Tool dient zur manuellen Fehlersuche und dem Reverse Engineering von Malware-Samples. Um dieses Tool verwenden zu können, müssen Sie Assembler-Code verstehen können. Sobald die Lernkurve jedoch ein gewisses Plateau erreicht hat, kann ein Malware-Analyst damit Malware-Proben manuell entpacken und auseinandernehmen wie ein Chirurg mit einem Skalpell. Wenn man versteht, wie sich x64dbg einsetzen lässt, kann man sich auf bestimmte Funktionen und importierte API-Aufrufe einer Probe konzentrieren und so anfangen, die tatsächliche Funktionsweise der Malware zu analysieren.

9. Ghidra

 Ghidra wurde von der National Security Agency (NSA) entwickelt und ist eher ein Disassembler als ein Debugger. Mit Ghidra können Sie die Funktionen des Assembler-Codes wie in x64dbg durchsuchen. Der Hauptunterschied besteht jedoch darin, dass der Code nicht ausgeführt wird. Er wird disassembliert, sodass er statisch analysiert werden kann. Ein weiterer wesentlicher Unterschied von x64dbg besteht darin, dass Ghidra versucht, den Code in eine für Menschen lesbare Ausgabe zu dekompilieren, die nah an dem ist, was der Autor bei der Entwicklung der Malware geschrieben hat. So ist es für Malware-Analysten oft leichter, ein Reverse Engineering der Malware durchzuführen, da ihnen die Variablen und Anweisungen angezeigt werden, aus denen sich jede Funktion zusammensetzt.

10. Radare2/Cutter

 Radare2 ist ein Kommandozeilen-Debugger, der unter Windows und Linux läuft. Was mir an Radare2 sehr gut gefällt, ist, dass es im Gegensatz zu x64dbg ausführbare Linux-Dateien analysieren kann. Um Radare2 benutzerfreundlicher für alle zu machen, die von der Befehlszeilenoberfläche abgeschreckt werden könnten, bietet es auch ein GUI-Frontend: Cutter.

11. Cuckoo Sandbox

 Eine Cuckoo-Sandbox ist ein Tool zur Automatisierung der Malware-Analyse. Die Cuckoo-Sandboxes, die ich in der Vergangenheit entwickelt habe, wurden alle auf einem Ubuntu-Host aufgebaut, der die Cuckoo-Hauptanwendung ausführt. Innerhalb des Hosts befindet sich eine Windows-7-VM, die in Virtualbox läuft. Auf der VM ist ein Cuckoo-Agent installiert, der Daten an den Ubuntu-Host zurückschickt, auf dem Cuckoo läuft. Die Malware wird an die VM übergeben und der Cuckoo-Agent zeichnet ihre Aktivität auf. Sobald die Analyse abgeschlossen ist, wird ein detaillierter Bericht über die Malware erstellt. Eine Cuckoo-Sandbox ist ein hervorragendes Tool, das in jedem Unternehmen vorhanden sein sollte, wenn ein Malware-Vorfall auftritt. Ich lasse die Malware oft durch Cuckoo laufen, während ich meine eigene Analyse durchführe, da ich auf diese Weise so viele Informationen wie möglich aus einer Malware-Probe sammeln kann. Ich persönlich finde die Malware-Analyse faszinierend. Für mich ist es eine persönliche Herausforderung, so viele Informationen wie möglich herauszuholen. Es ist nicht immer einfach, aber die in diesem Artikel vorgestellten Tools sollten Ihnen hoffentlich ein Verständnis dafür vermitteln, was bei der Analyse von Malware zu beachten ist. Außerdem haben Sie nun einige Tools in der Hand, mit denen Sie Ihr eigenes Malware-Analyselabor aufbauen können. Wenn Sie mehr über die Malware-Analyse erfahren möchten, sollten Sie unbedingt die folgenden Artikel von Varonis lesen, die sich mit den Techniken befassen, die von dateiloser Malware eingesetzt werden. Außerdem bieten wir auch hervorragende Inhalte, die Ihnen etwas Malware-Coding beibringen und zeigen, wie Sie einen Keylogger programmieren können.