zum Inhalt springen
Kontakt

Malware in der Praxis überprüft - So gelangt sie auf einen Rechner

Jonas Stalder
Tool zum Codieren

Immer wieder kontaktieren mich Kunden mit der Frage: «Wie zum Teufel ist der Virus oder die Malware auf meinem Computer gelandet? Ich passe doch stets auf, keine unbekannten Anhänge zu öffnen.» Vor einigen Tagen kam bei einem Kundengespräch mit einem Security-affinen Kunden die aktuelle Petya-Geschichte auf. Insbesondere ging es um die Wirksamkeit seiner Anti-Malware-Appliance, die wir mit einigen Malware-Samples gemeinsam getestet haben.

Wie es der Zufall wollte erreichte uns zeitgleich ein Versuchsobjekt aus freier Wildbahn (Word-File mit Makro-Anhang) in der Mailbox. Malware verwendet heute vielfach eine Command&Control-Infrastruktur für die Infektion um jeweils die aktuellste Version laden zu können. Deshalb ist die Malware meist nur kurz online, weshalb man für eine Überprüfung schnell reagieren muss. Eine gute Gelegenheit also, hier mal genauer hin zu schauen und die technischen Aspekte eines möglichen Malware-Infektionsweges unter die Lupe zu nehmen. Dieser Beitrag ist weder tiefgehend noch abschliessend, aber er zeigt einen möglichen Weg auf wie eine Malware auf einen Rechner gelangt.

Dropper lädt Malware herunter und startet den Infektionsprozess

Professionelle Malware besteht, wie auch professionelle Software-Lösungen, aus mehreren Modulen die unabhängig voneinander ausgetauscht werden können. Für die Infektion wird meist ein sehr kleines Modul (Dropper) über ein verseuchtes Mail zum Laufen gebracht. Dieses lädt danach die richtige Malware (Payload) herunter und bringt sie zum Laufen.

Für die Analyse wurde die gefundene Malware auf eine VM (laufend auf einem Notebook) mit Wireshark und Procmon losgelassen. Es handelte sich dabei um eine E-Mail mit angehängtem Word-Dokument. Zugegeben, die Aufmachung ist nicht sehr attraktiv, man könnte also rasch auf ein verseuchtes Mail schliessen. Allerdings kennen wir bereits andere Beispiele , bei denen das Risiko deutlich besser getarnt wurde.

Beim Öffnen der angehängten Worddatei wird man aufgefordert Makros zu aktivieren. Kommt man der Bitte nach passiert kurz gar nichts, dann erscheint eine Fehlermeldung direkt im Body des Emails.

Passiert ist im Hintergrund recht viel!

Wenn wir über Alt-F11 die VBA-Konsole aufrufen muss ein Passwort zum Einsehen des VBA Codes eingegeben werden. Keine grosse Hürde, denn die ersten drei Treffer bei Google lösen bereits das Problem das Passwort zu umgehen. Das Dokument enthält ein Formular mit (vermeintlich) sinnfreien Textfeldern und ein weiteres Modul.

Der Code in «Module 1» ist sehr unübersichtlich, was durchaus Absicht ist. Er besteht aus zwei Funktionen. Die erste Funktion «mainaletic» wird beim Start aufgerufen, startet die Zweite «fvalet» und nimmt deren Rückgabewert als Zeichenkette entgegen. «fvalet» dient dazu aus möglichst schlecht nachvollziehbaren Schritten ein wenig PowerShell-Code zusammen zu würfeln, der dann in «mainaletic» gestartet wird. Neben diversen Strings und Konvertierungen im Code wird auch die sinnfreie Zeichenkette aus dem Formular oben verwendet.

Lässt man das Programm laufen und stoppt es kurz vor dem Shell-Aufruf in «mainaletic» (wurde von mir auskommentiert) kann der Parameter für den Shell-Aufruf ausgegeben werden. Über Word respektive VBA wird ein .NET-Webclient gestartet (dasselbe wie ein Browser, einfach als Objekt im Speicher über eine .NET Bibliothek). Ohne das Ganze im Detail angeschaut zu haben dürfte dieser folgendes machen: Er ruft zwei Bilder aus dem Internet ab. Bilder sind in Reinform auch nicht mehr als binäre Raster, die Farben von Bildpunkten als Zahlen beschreiben. Statt etwas Sinnvolles darzustellen kann ein Bildpunktraster auch dazu genutzt werden die binäre Darstellung von Schadcode zu verstecken. Auf jeden Fall werden Bilder heruntergeladen, umcodiert und dann in ASCII-Codierung als ausführbare Files (exe und bat) ins %TMP%-Verzeichnis gespeichert. Der Start erfolgt für den Benutzer nicht sichtbar.

Der Kontrollblick ins %TMP% (Temp-File-Verzeichnis) zeigt, dass die Dateien tatsächlich da sind. Ich habe es unterlassen die exe-Datei zu disassemblieren, aber damit wird vermutlich nun Schadcode aus dem Netz in verschlüsselter Form heruntergeladen und auf dem Rechner gut getarnt zum Laufen gebracht.

Ein Procmon hat das Öffnen des Mails aufgezeichnet. Ein Blick in den Prozess-Baum zeigt Folgendes: Outlook hat eine Word-Datei gestartet. Word wiederum hat einen Unterprozess gestartet auf den ein PowerShell folgt. Diese hat wiederum den Code im %TMP%-Verzeichnis mit User-Rechten (nicht dran zu denken, wenn es die Rechte des Administrators wären) gestartet. Weiter wurden zwei neue conhost.exe gestartet, die wiederum unter User-Rechten laufen. Etwas weiter oben (auf dem Printscreen nicht sichtbar) gibt es auch ominöse SVC-Host, die mit den Rechten des Benutzers laufen. SVC-HOST sind Service-Hosts, die in der Regel nicht mit Benutzerrechten laufen. Jetzt schon.

Im Wireshark PCAP ist erheblicher SSL-Traffic zu sehen. Weiterführend müsste man nun den SSL-Tunnel aufbrechen, beispielsweise an einem Proxy, um den Dateninhalt anzusehen. Verlässt dann aber auch irgendwann den Rahmen meines kleinen Exkurses.

Was hilft zur Vorbeugung von Malware-Angriffen?

Was schliessen wir daraus:

  • Die VBA Technik ist uralt, aber die Umsetzung genial. Sie funktioniert immer noch wunderbar bei aktueller Malware. Geht genauso gut auch mit PDF, Flash, etc.
  • Korrekt konfigurierte Trusted Locations in Office (GPO) verhelfen den Angriffsvektor deutlich zu verkleinern, da VBA-Code dann nicht mehr direkt aus einem Mail ausgeführt wird. VBA sollte generell deaktiviert sein oder zumindest richtig via Trusted Locations konfiguriert werden.
  • Applocker/SWRestrictions sind nach wie vor wirksam und sinnvoll.
  • Nicht jeder Virenscanner erkennt jede Malware: Sophos und Windows Defender sahen die Malware nicht, die FireEye-Appliance des Kunden schon. Kaskadierung ist die Lösung!

Noch ein Hinweis: Malware prüft, ob sie selbst in einer Sandbox (VM) läuft und analysiert wird. Eventuell wäre noch viel mehr zu sehen gewesen, wenn die Sandbox getarnt worden wäre. Ist nicht schwer (ein paar Variablen in VMWare Workstation um die Herstellerkennung des BIOS zu überschreiben).

 
Weitere Informationen zu unseren Services rund ums Thema E-Mail Sicherheit finden Sie hier: