Hinter den Kulissen: Tools und Techniken der Malware-Analyse

Wie analysieren Sicherheitsprofis verdächtige Dateien? Die größtenteils kostenlosen Tools helfen auch Administratoren beim Kampf gegen Malware.

Sicherheitsforscher und -anbieter veröffentlichen häufig Analysen von Malware-Samples, die sie entdeckt haben. Diese Analysen bieten zwar Einblicke in das Wesen und die Funktionsweise von Malware, aber wie die Schadsoftware identifiziert werden konnte, ist in der Regel ein Geheimnis.

Wir „lüften den Vorhang“ und legen einige Tools und Techniken offen, die spezialisierte Malware-Forscher bei der Analyse von Malware anwenden. Erfahrene Experten mögen damit bereits vertraut sein, aber viele Sicherheits-Administratoren und IT-Professionals bekommen keine Gelegenheit, etwas über diese Tools und Techniken zu lernen und sie in Aktion zu sehen. Dieser Artikel nutzt das Beispiel eines von der Check Point Threat Emulation bei einem Kunden-Gateway entdeckten Malware-Samples, um zu beschreiben, wie ein erfahrener Forscher dies analysieren würde.

Christine Schoenig, Technical Managerin bei Check PointChristine Schönig, Technical Managerin bei Check Point

Analyse

Am 8. März 2014 wurde vom Cloud-basierten Threat Emulation Service an einem Check Point-Gateway eine gefährliche Datei entdeckt. Diese Entdeckung löste einen Alarm bei der Check Point Malware Research Group aus, die die Datei herunterlud und sie einer zusätzlichen, manuellen Analyse unterzog.

Die Datei (MD5: 0a56f31d1f059241d24e1814436f24da) wurde von keinem Antivirus-Anbieter auf VirusTotal entdeckt. So entschlossen wir uns, sie weiter zu analysieren, um zu bestimmen, ob es sich tatsächlich um eine gefährliche oder einfach nur um eine unbekannte Datei handelt.

Es gibt zwei Hauptanalysetechniken, die wir zur Zergliederung einer Datei anwenden können: eine statische und eine dynamische Methode.

Statische Analyse

Die statische Analyse ist der Prozess der Informationsgewinnung aus einer Datei, ohne dass diese ausgeführt wird. Da wir es mit einer Word-Dokumentendatei zu tun haben, können wir mit der Analyse beginnen, indem wir einige Metadaten abrufen, wie zum Beispiel:

•          Die zur Erstellung der Datei genutzte Anwendung

•          Erstellungszeit

•          Der Nutzer, der sie erstellt hat

•          Sonstige Details über ihre Herkunft und ihr Wesen

Eine erste statische Analyse erfolgt mit dem Exiftool. (Quelle: Check Point)
Eine erste statische Analyse erfolgt mit dem Exiftool. (Quelle: Check Point)

Die Überprüfung der Datei mit Exiftool gab folgende Informationen preis:

  • Die Datei wurde mit Microsoft Office Word erstellt und nicht mithilfe eines automatisierten Tools
  • Die Datei wurde am 8. März 2014 erstellt
  • Der Nutzer, der während DOC erstellt wurde, mit der Maschine verbunden war, heißt „user“ - nicht sehr hilfreich

Hinweis! Metadaten können manipuliert sein. Vertrauen ist gut, Kontrolle ist besser!

Es ist auch sehr beliebt, während der statischen Analyse ASCII-Strings von der verdächtigen Datei zu entfernen, falls es nützliche Informationen gibt, die „in the clear“ (also unverschlüsselt) sind. Deshalb verwendeten wir das Tool Strings von Microsoft SysInternals.

String aus dem SysInternals-Tools zeigt Klartextinformationen, hier zum Makro-Check. (Quelle: Check Point)
String aus dem SysInternals-Tools zeigt Klartextinformationen, hier zum Makro-Check. (Quelle: Check Point)

Hinweis! Bewährte Sicherheitspraktiken empfehlen, Makro autorun execution standardmäßig zu deaktivieren („off”). Threat Emulation erkannte diese Datei, weil bei den von Check Point genutzten OS-Sandbox-Aufnahmen Microsoft Word Macro autorun aktiviert ist. So ist es möglich, diese Dateien in der dynamischen Analyse zu erkennen.

OfficeMalScanner kann ein Makro aus einer Office-Datei extrahieren. (Quelle: Check Point)
OfficeMalScanner kann ein Makro aus einer Office-Datei extrahieren. (Quelle: Check Point)

Bisher stützte sich alles auf die statische Analyse, nun vermuten wir, dass intern ein Makro eingebettet ist. Um zu verstehen was es tut, muss es weiter analysiert werden. Dafür können wir den OfficeMalScanner von Reconstructor nutzen. Dieses Tool extrahiert das Makro für uns.

OfficeMalScanner hat das Makro zu einer separaten Datei extrahiert. (Quelle: Check Point)
OfficeMalScanner hat das Makro zu einer separaten Datei extrahiert. (Quelle: Check Point)

Durch die Analyse des Visual Basic-Codes können wir sehen, dass es eine Portable Executable (PE)-Datei von einem Dropbox-Account herunterlädt und ausführt.

Die Datei (MD5: 0F34211D40A7199B9709EB68231557D0) ist eine PE, die mit Visual Studio C# (.NET) kompiliert wurde. Das konnten wir mit dem Dienstprogramm PeID verifizieren.

Die Analyse mit dem Tool PeID zeigt, dass das Programm mit Visual Studio C# erstellt wurde. (Quelle: Check Point)
Die Analyse mit dem Tool PeID zeigt, dass das Programm mit Visual Studio C# erstellt wurde. (Quelle: Check Point)

Da die Datei mit dem .NET framework geschrieben wurde, können wir sie leicht dekompilieren. Wir verwenden einen Reflektor wie das .NET-Reflector-Tool, um den Bytestream in den ursprünglichen Quellcode zurück zu übersetzen.

So sieht die Datei nach der Dekompilierung mit dem Tool.NET-Reflector aus. (Quelle: Check Point)
So sieht die Datei nach der Dekompilierung mit dem Tool.NET-Reflector aus. (Quelle: Check Point)

Reflektoren ermöglichen, die Objekte, Streams und Abschnitte der Datei miteinander zu verbinden.

Beim Betrachten der Datei fällt ein verschlüsseltes Ressourcenobjekt auf, das Verdacht erregt. (Quelle: Check Point)
Beim Betrachten der Datei fällt ein verschlüsseltes Ressourcenobjekt auf, das Verdacht erregt. (Quelle: Check Point)

Hinweis! Wir müssen erst noch etwas Gefährliches an der bisher nur verdächtigen Datei entdecken. Da wir es jetzt mit einer PE-Datei (.NET) zu tun haben, müssen wir den statischen Analyseprozess noch einmal ganz von vorne beginnen und alle Informationen, wie Erstellungsdatum, Strings und so weiter sammeln.

Leider führte diese Methode zu nichts, weil die fraglichen Nutzdaten verschlüsselt sind.

Da wir über den ursprünglichen Quellcode verfügen (das Dekompilierungs-Ergebnis), können wir den Code überarbeiten und die Nutzdaten manuell entschlüsseln. Das ist allerdings mühsam und fehleranfällig. Zum Glück gibt es mit der dynamischen Analyse eine effiziente Alternative.

Dynamische Analyse

Die dynamische Analyse ist der Prozess des Extrahierens von Informationen aus einer Datei während deren Ausführung. Hier führen wir die Datei aus und überwachen sie, um genau zu sehen, was sie tut.

Erster Versuch

Zuerst haben wir die Dateien überwacht, die während der Ausführung auf dem System erstellt wurden. Dies kann erfolgen, indem mit einem API Monitor-Dienstprogramm ein Kontrollgerät auf dem CreateFile() API bestimmt wird.

Ausgehend von der Hypothese, dass die verschlüsselte Ressource letztendlich irgendwo erstellt - vielleicht in einer Datei - und dann ausgeführt werden muss, überwachten wir auch das CreateProcess() API.

Wir richten die Monitore ein, führen die Datei aus und erhalten 0 Treffer. Gescheitert! (Quelle: Check Point)
Wir richten die Monitore ein, führen die Datei aus und erhalten 0 Treffer. Gescheitert! (Quelle: Check Point)

Zweiter Versuch

Im zweiten Anlauf leerten wir den Speicher der Maschine mit Tools wie Dumpit und nutzten dann das Volatility Framework, um Artefakte aus dem Speicher zu extrahieren. Die Hypothese: während die Datei ausgeführt wird, entschlüsselt sie schließlich den Ressourcenabschnitt und lädt ihn irgendwo in den Speicher.

Volatility bietet einige großartige Plugins, die es uns ermöglichen, nach neuen Zuordnungen und Code-Injektionen zu suchen. Doch als wir sie auf den Speicherauszug ausführten, brachten sie keinerlei Ergebnis. Einer der Nachteile der Speicheranalyse ist, dass man Vorgänge verpasst, wenn der Speicherauszug zum falschen Zeitpunkt erstellt wird. Leider scheint es, als wäre genau das passiert. Gescheitert!

Dritter Versuch

An diesem Punkt schlug einer der Analysten der Check Point Malware Research Group einen anderen Ansatz vor: den Prozess mit einem Debugger wie OllyDbg zu debuggen und einen On-Memory-Access-Breakpoint auf die verschlüsselte Ressource zu setzen.

Setzen eines Breakpoints mit dem Debugger OllyDbg. (Quelle: Check Point)
Setzen eines Breakpoints mit dem Debugger OllyDbg. (Quelle: Check Point)

Unsere Annahme war einfach: sollte die verschlüsselte Ressource entschlüsselt werden, dann würde der Prozess diesen Bereich irgendwann auslesen. Wenn das passiert, wird unser Breakpoint anschlagen und wir können die Ausführung in einem Schritt erledigen und sehen, was der Prozess mit den verschlüsselten Daten macht.

Nach Festlegen des Breakpoints setzten wir die Ausführung fort. In weniger als 4 Sekunden wurde unser Breakpoint aktiviert. (Quelle: Check Point)
Nach Festlegen des Breakpoints setzten wir die Ausführung fort. In weniger als 4 Sekunden wurde unser Breakpoint aktiviert. (Quelle: Check Point)

Der Code (rechter Pfeil im Bild oben) liest einen 32-Bit-Wert aus dem verschlüsselten Bereich (Pfeil nach unten) und verschiebt diesen. Wir folgen dem Code weiter, indem wir einen ähnlichen Ansatz nutzen und nach ein paar weiteren Loops war die verschlüsselte Ressource aus der ursprünglich verdächtigen Datei im Speicher vollständig entschlüsselt.

Die entschlüsselte Ressource ist eine weitere PE-Datei. „MZ“ (rechts im ASCII-Feld) kennzeichnet den Anfang eines PE-Dateikopfes. (Quelle: Check Point)
Die entschlüsselte Ressource ist eine weitere PE-Datei. „MZ“ (rechts im ASCII-Feld) kennzeichnet den Anfang eines PE-Dateikopfes. (Quelle: Check Point)

An dieser Stelle extrahierten wir das ausführbare Programm aus dem Speicher. Dazu haben wir die PE-Bytes direkt aus OllyDbg kopiert und in einen Hex-Editor (010 Editor) eingefügt. Anschließend wurde der Code als neues ausführbares Programm gespeichert (MD5: D88D110B947B1547BB49883E3C93407F).

Jetzt hatten wir eine neue PE-Datei, die wir der gleichen Reihe statischer und dynamischer Analysetechniken unterzogen, wie sie oben beschrieben ist.

Dieses Mal brachte der Test dieses ausführbaren Programms mit VirusTotal eine Erkennungsrate von 43/50. Auch der Check Point Endpoint Security-Agent erkannte es.

Die entschlüsselte und als ausführbares Programm gespeicherte PE-Datei wird nun als Schadsoftware erkannt. (Quelle: Check Point)
Die entschlüsselte und als ausführbares Programm gespeicherte PE-Datei wird nun als Schadsoftware erkannt. (Quelle: Check Point)

Diese Datei ist eine Variante einer bekannten, Androm genannten Familie - einer Hintertür, die dem Diebstahl von Informationen dienen soll.

Die dynamische Analyse mit einer instrumentierten Sandbox bietet Einblicke in die Aktionen der Datei.
Die dynamische Analyse mit einer instrumentierten Sandbox bietet Einblicke in die Aktionen der Datei. (Quelle: Check Point)

Wir können sehen, dass der Androm-Trojaner mehrere Prozesse öffnet und mit vielen Internetseiten kommuniziert. An dieser Stelle ist es möglich, mit der Analyse der URLs zu beginnen, mit denen er versucht sich zu verbinden, sowie der an sie gesendete Daten- Aber dies geht über den Umfang dieses Artikels hinaus.

Verwendete Tools

Folgende kostenlose Tools und Webseiten wurden zur Durchführung dieser Analyse eingesetzt:

Exiftool

Strings

OfficeMalScanner

PeID

.NET Reflector

Dumpit

Volatility Framework

OllyDBG

010 Editor (30-Tage-Testversion)

VirusTotal

Malwr.com

Zusammenfassung der Analyse

Unsere statische und dynamische Analyse sagten über die verdächtige Datei folgendes aus:

  • Die DOC-Datei bettet ein Visual Basic Macro ein.
  • Das Makro führt eine PE-Datei (.EXE) von einer öffentlichen Internetseite (Dropbox) aus und lädt sie herunter.
  • Die PE-Datei wurde mit Visual Studio C# (.NET framework) erstellt und enthält eine verschlüsselte Ressource.
  • Die verschlüsselte Ressource wird mithilfe der dynamischen Analyse in eine neue PE-Datei extrahiert.
  • Die PE-Datei ist eine Variante einer bekannten und gefährlichen Familie, genannt Androm.

Die Analyse der verdächtigen Datei zeigte ein Stück bekannter Malware, die mit Verschleierungstechniken für existierende Antivirus-Lösungen unentdeckbar gemacht worden war. Die Leichtigkeit, mit der Cyber-Angreifer diese Crypting-Techniken anwenden können, um konventionelle Malware-Abwehrmaßnahmen zu umgehen, ist heute eine der größten Herausforderungen für IT-Sicherheitsprofis.

Was als ein scheinbar harmloses Word-Dokument begann, das von keiner Antivirus-Lösung gekennzeichnet wurde, stellte sich als gefährliche Backdoor heraus, die einer Organisation wertvolle Daten stehlen könnte. Es ist deutlich zu sehen, dass Angreifer raffinierter werden und Verpackung, Verschleierung, Verschlüsselung und mehrere Compiler nutzen, um eine Erkennung zu vermeiden.

Schutz vor Angriffen dieser Art

Um die Gefahr einer Infektion durch diese Art von Malware zu minimieren, sollten Unternehmen ihre Mitarbeiter dahingehend erziehen, dass diese keine unerwarteten oder verdächtigen Anhänge von externen E-Mail-Adressen öffnen.

Sie sollten zusätzlich zu herkömmlicher Anti-Malware an Gateway, Mailserver und Endpunkten eine Malware-Sandbox-Lösung an ihrem Internet- und E-Mail-Gateway installieren.

Anwender mit Check Point-Gateways, die Antivirus- und Anti-Bot-Blades aktiviert haben, erhielten aktualisierte Nachweise dieser neu entdeckten Varianten durch ThreatCloud. Für zusätzlichen Schutz vor bisher unbekannter Malware empfiehlt Check Point seinen Kunden, Threat Emulation als öffentlichen oder privaten Cloud Services zu aktivieren.

Über die Autorin:

Christine Schönig ist seit 2009 als Technical Managerin bei Check Point tätig. Hier führt sie das technische Pre-Sales-Consultancy-Team in Deutschland. Zuvor war die 42-jährige Managerin bei Nokia im Geschäftsbereich Business Mobility für den Vertrieb von Mobility- und Security-Produkten des finnischen Herstellers in Deutschland zuständig. Bei Nokia war sie unter anderem mit der Leitung des Bereichs Pre-Sales SE-Manager für Zentraleuropa beauftragt. Als Technical Operations Managerin hatte sie zudem verschiedene Führungsaufgaben in Europa, dem Mittleren Osten und Afrika inne.

 

 

Artikel wurde zuletzt im August 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Hacker-Tools und -Techniken, Untergrundseiten, Hacker-Gruppen

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close