Vor kurzem ist uns eine interessante SpyEye-Variante begegnet. Sie verwendet bekannte Spionagetechniken wie einen Form-Grabber für Formularfeld-Diebstahl, einen Screenshot-Sender und einen RDP-Server, der es den Kriminellen ermöglicht, den Computer des Opfers gänzlich fernzusteuern. Darüber hinaus enthält die Malware ein neues Plugin mit der Bezeichnung "flashcamcontrol". Mit Hilfe dieses Plugins kann der Trojaner den Input der Webcams und Mikrofone der Opfer an einen von den Kriminellen kontrollierten Server streamen.
Trojaner, die die Nutzer über deren Webcams aufzeichnen sind bereits seit einigen Jahren bekannt. Aber in den bislang öffentlich bekannt gewordenen Fällen beschränkten sie sich Täter darauf, weibliche Teenager zu beobachten.
Was ist neu?
In diesem Fall scheinen die Kriminellen jedoch andere Interessen zu verfolgen: Dieser aktuelle Trojaner scheint so konstruiert zu sein, dass der Media-Stream gestartet wird, sobald der infizierte Nutzer Finanztransaktionen vornimmt.
Früher haben die Trojaner den Nutzer aufgezeichnet, sobald der Computer eingeschaltet wurde, oder die Kriminellen mussten die Aufzeichnung manuell starten. Beide Verfahren waren kaum zielgerichtet.
Diese SpyEye-Variante (miss)braucht Adobe Flash
Der Trojaner verwendet Adobe Flash, um seine Funktionalität zu implementieren. Die Flash-Dateien können nicht nur Videos abspielen, sondern auch komplette Programme enthalten, um z. B. auch auf die Webcam des Nutzers zuzugreifen.
Normalerweise müssen in Webseiten eingebettete Flash Dateien sich zunächst eine Benutzerbestätigung für den Zugriff auf Webcams und Mikrofone vom User einholen. Sobald der Nutzer für eine Website dauerhaft Rechte erteilt, werden diese Berechtigungen in einer .sol-Datei lokal gespeichert. Um dieses Hindernis zu überwinden und die Media-Stream-Aktivierung zu verschleiern, ändert das flashcamcontrol-Plugin in der besagten .sol-Datei die Flash-Einstellungen: %APPDATA%\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys\settings.sol
Der Trojaner manipuliert diese Datei, um für die auf einer Domain der Kriminellen gespeicherten Flash-Dateien sowie für die ursprünglichen Ziel-Domains dauerhafte Berechtigungen zu vergeben. Die ursprüngliche Ziel-Domain-Liste, die wir aus dem Code extrahieren konnten, besteht ausschließlich aus Bank-Domains.
Um den Nutzer aufzuzeichnen, muss eine auf der Malware-Domain befindliche Flash-Datei in den Browser des Nutzers eingebettet werden. Um dies in die Tat umzusetzen, haben die Kriminellen das bekannte SpyEye-Plugin "webfakes" verwendet. Dieses Plugin kann eine HTTP-Anfrage ungefragt von einem Standort zu einem anderen umleiten. Die Plugin-Konfiguration verweist auf zwei Flash-Dateien auf dem Server der Kriminellen.
- Die erste Datei, camera_test.swf, zeigt eine russische Meldung, die mitteilt, ob der Zugriff auf die Kamera funktioniert. Offensichtlich wurde sie zu Testzwecken verwendet, wobei wir glauben, dass der Botnetz-Betreiber vergessen hat, sie zu entfernen. Interessanterweise wird diese Testdatei ausgelöst, wenn der Browser einen (nicht existierenden) Ort der Webseite einer beliebten deutschen Bank aufruft. Obwohl es sich in diesem Fall lediglich um einen Test handelt, lässt sich dennoch ablesen, dass die Kriminellen bei der Implementierung dieser Aufzeichnungsmöglichkeit Banken im Visier hatten.
- Die eigentliche und vollständige Streaming-Funktionalität wird in der zweiten Datei namens client.swf bereitgestellt. Sie kann die Webcam und das Mikrofon des Nutzers starten und den Input zu den Servern der Kriminellen streamen. Während ein Server im lokalen Netzwerk (192.168.0.100) standardmäßig als Stream-Ziel verwendet wird, kann optional ein weiterer Server für die Flash-Datei bereitgestellt werden. Darüber hinaus kann eine weitere anzuzeigende Flash- oder Grafikdatei durch einen Parameter namens addswf bereitgestellt werden. Wir werden auf diese Möglichkeiten noch näher eingehen.
Einiges ist zurzeit noch unbekannt: Wann wird client.swf eigentlich ausgelöst? Der Auslöser ist laut Konfiguration eine Anfrage an "https://*/sichwebcam/client.swf*", wobei sich die Sternchen auf Platzhalter beziehen. Es muss mindestens ein Parameter für den Aufzeichnungsserver bereitgestellt werden, um die Aufzeichnung an die Angreifer zu senden (andernfalls wir die lokale Adresse 192.168.0.100 verwendet, die über das Internet nicht funktioniert), d. h. der Trojaner muss also irgendwann eine entsprechende Anfrage mit diesem Parameter injizieren. Wir haben jedenfalls bislang keinen Hinweis auf eine solche Parameter-Injizierung gefunden.
Somit bleiben uns zwei Möglichkeiten: Entweder ist ein solcher Angriff noch nicht aktiviert, da er noch getestet wird. Oder er wird durch die vom Server geladenen Web-Injektionen für ausgewählte Opfer individuell injiziert.
Wofür werden die neuen Funktionen verwendet?
Das ist eine Grundsatzfrage: Warum sollten die Angreifer Ihre Opfer beim Online-Banking beobachten wollen? Selbst wenn die Angreifer dies dazu verwenden könnten, um einen ersten Blick auf neue Sicherheitsmechanismen zu werfen, macht es keinen Sinn das Opfer dabei zu beobachten, wie es seine TAN-Liste in Händen hält, insbesondere da die Kamera nur deren Rückseite zu sehen bekommt.
Sinnvoller erschiene es, wenn es die addswf-Eigenschaft dem Angreifer ermöglichte, seinerseits einen Stream an das Opfer zu senden (!). Auf diese Weise könnte der Angreifer selbst die Webcam starten, um mit dem Opfer einen Videochat zu beginnen. Dabei ist zu berücksichtigen, dass das Opfer immer noch glaubt, es befände sich auf der sicheren Homepage seiner Bank, so dass sich der Angreifer leicht als Bankangestellter ausgeben könnte. Dies wäre für den Angreifer natürlich eine gute Gelegenheit, Social-Engineering-Techniken gegen das Opfer einzusetzen
Selbst wenn es die Sicherheitsmechanismen der Bank dem Trojaner unmöglich machen sollten, das Opfer automatisch via Webcam zu betrügen, so könnte der Angreifer das Opfer dazu nötigen, Geld zu überweisen. Der Angreifer könnte das Opfer auch dazu überreden, im Rahmen einer "attraktiven Kapitalanlage" sämtliche liquiden Mittel auf das Konto des Betrügers zu überweisen.
Anders ausgedrückt: Die Kriminellen könnten ihre Angriffe dahingehend verbessern, dass sie anstelle von einfachen "Machine-in-the-Middle"-Angriffen zu "Human-in-the-Middle"-Verfahren übergehen.
Wie massiv ist der Angriff?
Bis jetzt sind keine öffentlichen Berichte solcher Angriffe bekannt. Aber wir sind uns ziemlich sicher, dass die Angreifer diese technischen Voraussetzungen nicht nur zum Spaß entwickelt haben. Wir werden diese neue Technik natürlich im Auge behalten und die Entwicklung von SpyEye und deren Spionageverfahren weiter verfolgen.
G DATA schützt!
Neben dem herkömmlichen signatur- und verhaltensbasierten Schutz verhindert die G DATA BankGuard-Technologie auch diese Angriffe zuverlässig, so dass die Kunden von G DATA umfassend geschützt sind.
G DATA BankGuard erkennt nicht nur Manipulationen von SpyEye und deren neuer Webcam-Komponente im Browser, sondern greift darauf zu, um die Malware schließlich vom Computer zu entfernen.
Von daher schützt G DATA BankGuard nicht nur vor dieser neuen SpyEye-Variante, sondern vor allen bekannten und unbekannten Banking-Trojanern.
Für alle Forscherkollegen:
Die SHA 265 des Samples ist f9d0beaba8b5fd62a3f18e13be94470344dbb1db9e4b088158dbb1374f0828cb