Gugi: vom SMS-Trojaner zum mobilen Bank-Schädling

Inhalt

In einem früheren Artikel haben wir die Mechanismen beschrieben, die der Trojaner Trojan-Banker.AndroidOS.Gugi.с einsetzt, um die in Android 6 integrierten Schutzmaßnahmen zu umgehen. In diesem Bericht nun schauen wir uns die gesamte Familie der mobilen Bank-Trojaner Gugi einmal genauer an.

WebSocket

Die Familie mobiler Bank-Trojaner Trojan-Banker.AndroidOS.Gugi ist deswegen interessant, weil sie für die Interaktion mit den Steuerungsservern das Protokoll WebSocket verwendet. Dieses Protokoll vereint in sich die Vorteile von HTTP mit den Vorteilen gewöhnlicher Sockets – man muss keinerlei zusätzliche Ports auf dem Gerät öffnen, die gesamte Kommunikation läuft über den Standard-Port 80, wobei Daten in Echtzeit ausgetauscht werden können.

Interessant ist, dass diese Technologie unter Cybergangstern nicht sonderlich weit verbreitet ist, obwohl sie sehr einfach einzusetzen ist. Von allen mobilen Trojanern, die die Technologie WebSocket nutzen, gehören über 90% zu der Familie Trojan-Banker.AndroidOS.Gugi.

Verwendung von WebSocket in mobilen SMS-Trojanern

Den ersten Fall, in dem die Technologie WebSocket in mobilen Trojanern verwendet wurde, registrierten wir Ende Dezember 2013. Es handelte sich dabei um den Trojaner Trojan-SMS.AndroidOS.FakeInst.fn. Seinem Code nach zu urteilen, wurde dieser Trojaner von denselben Cyberkriminellen entwickelt, die auch für die Entwicklung des Trojaners Trojan-Banker.AndroidOS.Gugi verantwortlich sind.

Im Laufe der Erstanmeldung lädt der Trojaner FakeInst.fn eine große Menge Daten über das Gerät auf den Server, inklusive Informationen über den Mobilfunkbetreiber, IMEI, IMSI usw.

Vom Server kann der Schädling eine JSON-Datei mit den folgenden Befehlen (und den entsprechenden Daten für diese Befehle) empfangen:

  • sms – eine Mitteilung mit angegebenem Text an die angegebene Nummer senden;
  • intercept – das Abfangen der eingehenden SMS aktivieren oder deaktivieren;
  • adres – Adresse des Steuerungsservers ändern;
  • port – Port des Steuerungsservers ändern;
  • contacts – an alle Nummern in der Kontaktliste des infizierten Geräts SMS mit den angegebenen Inhalten senden.

Darüber hinaus stiehlt der Trojaner alle ausgehenden SMS.

Nur zwei Wochen nach der Entdeckung von FakeInst.fn, Mitte Januar 2014, erschien eine neue Version dieses Trojaners, die die Technologie WebSocket bereits nicht mehr verwendete. Die Kommunikation lief nun über Http (get- und post-Anfragen). Von allen Installationspaketen dieses Trojaners konnten wir nur zwei finden (die auf Mitte Mai 2014 datieren), in denen WebSocket benutzt wird. Allem Anschein nach hatten sich die Cyberkriminellen entschlossen, vorübergehend auf diese Technologie zu verzichten. Fast zwei Jahre später griffen sie allerdings erneut darauf zurück, und zwar in der Familie Gugi.

Von SMS-Trojanern zu mobilen Bank-Schädlingen

Zwei Jahre nach Erscheinen der ersten Version des Trojaners Trojan-SMS.AndroidOS.FakeInst.fn, die WebSocket verwendete, betrat ein neuer Trojaner die Bühne, und zwar Trojan-Banker.AndroidOS.Gugi.a.

Der Code von Gugi weist zahlreiche Übereinstimmungen mit dem Code (Namen von Variablen und Methoden) des Trojaners Trojan-SMS.AndroidOS.FakeInst.fn auf. Die wichtigsten Veränderungen in Gugi sind das Erscheinen eines Phishing-Fensters zum Diebstahl der Kreditkartendaten des Anwenders sowie die Verwendung von WebSocket: In allen von uns gefundenen Installationspaketen der Familie des mobilen Bank-Schädlings Gugi wird die Technologie WebSocket für die Kommunikation mit dem Steuerungsserver verwendet. Auf diese Weise stellten die Cyberkriminellen hinter dem Schädling von Trojan-SMS auf Trojan-Banker um.

Die Entwicklung von Trojan-Banker.AndroidOS.Gugi

Die Evolution von Trojan-Banker.AndroidOS.Gugi lässt sich in zwei Phasen unterteilen.

„Fanta“

Die erste Phase begann Mitte Dezember 2015. In allen Versionen des Trojaners, die dieser Phase zuzuordnen sind, wir das Wort „Fanta“ als Versionsbezeichnung benutzt, wie zum Beispiel „Fanta v.1.0“.

In der Version 1.0 ist der Trojaner Gugi in der Lage, auf Befehl vom Steuerungsserver die folgenden Aktionen auszuführen:

  • Die eigene Arbeit einstellen;
  • alle Kontakte von dem Gerät stehlen;
  • alle SMS von dem Gerät stehlen;
  • eine SMS mit dem angegebenen Text an die angegebene Nummer senden;
  • USSD-Abfrage versenden;
  • SMS aus der angegebenen Gruppe/dem angegebenen Chat stehlen.

Nach weniger als zwei Wochen, Ende Dezember 2015, spürten wir die nächste Gugi-Version auf, „Fanta v.1.1“. Der entscheidende Unterschied gegenüber der vorangegangenen Version bestand darin, dass der Code die Möglichkeit bot, das Anzeigen des Phishing-Fensters zu deaktivieren (denn die Cyberkriminellen können Gugi ja auch als SMS-Trojaner einsetzen). Diese Version wurde bedeutend aktiver verbreitet als die erste. Zudem hatten die Cyberkriminellen nun die Möglichkeit, auf Befehl vom Server Kontakte auf einem infizierten Gerät hinzuzufügen.

Anfang Februar 2016 entdeckten wir zwei neue Versionen von Gugi – „Fanta v.2.0“ und „Fanta v.2.1“. In diesen Versionen wurde die Orientierung des Trojaners auf Banken verstärkt. Erstens war ein Phishing-Fenster aufgetaucht, das für den Diebstahl von Login-Daten und Passwörtern für die mobile Banking-App einer der größten russischen Banken vorgesehen war. Zweitens enthielt der Code des Trojaners jetzt eine Liste mit Nummern zweier russischer Banken: Alle von diesen Nummern eingehenden SMS würden künftig vor dem Nutzer verborgen und nicht nur an den Server der Gangster geschickt, wie im Fall aller anderen SMS.

In allen diesen Versionen wurden die Phishing-Fenster entweder auf Befehl vom Server oder gleich nachdem das Telefon die Arbeit aufgenommen hatte, angezeigt. Das Fenster blieb so lange geöffnet, bis der Nutzer seine Daten eingegeben hatte.

Daraufhin, Mitte März 2016, entdeckten wir die Version „Fanta v.2.2“. Sie wurde zu der am weitesten verbreiteten aller entdeckten Versionen – mehr als 50% aller zur Fanta-Phase gehörenden Installationspakte entfielen auf sie. Beginnend mit dieser Version überdecken die Phishing-Fenster die mobilen Banking-Apps und die Google Play-App.

gugi_2_de_1

Phishing-Fenster, das die Anwendung Google Play Store überdeckt

Es tauchte noch ein weiteres Phishing-Fenster auf, das vor dem Fenster zum Diebstahl von Kreditkartendaten erscheint, mit dem Text „Verknüpfen Sie Ihre Karte mit dem „Google Play Store“ und erhalten Sie 200 Rubel für jede beliebige Anwendung!“.

Darüber hinaus setzt sich der Trojaner, beginnend mit dieser Version, aktiv gegen das Löschen zur Wehr. Verfügt der Schädling auf dem Gerät über Administratorenrechte, kann er nur gelöscht werden, nachdem diese Rechte deaktiviert wurden. Verfügt er nicht über diese Rechte, so fordert er sie daher aggressiv ein, indem er die Geräteeinstellungen mit seinem Fenster überdeckt.

Im April 2016 entdeckten wir die vorerst letzte der uns bis zum heutigen Tag bekannten Versionen, die der Phase „Fanta“ zuzurechnen ist, und zwar „Fanta v.2.3“. In dieser Version gab es nur eine bedeutende Veränderung: Wenn der Nutzer trotzdem die Administratorenrechte des Trojaners deaktivierte, so änderte der Schädling das Zugangspasswort für das Gerät und blockierte es auf diese Weise.

Alle Versionen der „Fanta“-Phase werden von den Kaspersky Lab-Produkten als Trojan-Banker.AndroidOS.Gugi.a detektiert.

„Lime“

Die erste Datei, die der zweiten Etappe mit der Bezeichnung „Lime“ zuzurechnen ist, wurde eine Woche vor Erscheinen der Version „Fanta v.2.3“ entdeckt, Anfang April 2016.

Der Code der Installationspakete, die zu dieser Phase gehören, war ein wenig überarbeitet worden. Aus dem Code und unter anderem auch aus den Versionsbezeichnungen war das Wort „Fanta“ verschwunden und an manchen Stellen durch das Wort „Lime“ ersetzt worden. Dieser Name des Trojaners – „Lime“– ist auch auf der Verwaltungsoberfläche angegeben, über das die Cybergangster diesen Schädling steuern.

Gugi: vom SMS-Trojaner zum mobilen Bank-Schädling

Verwaltungsinterface des Trojaners

Die Version des Trojaners, die der „Lime“-Phase zuzurechnen ist, ändert das Passwort nicht, wenn die Administratorenrechte des Gerätes deaktiviert werden.

Die erste von uns im April 2016 entdeckte Datei hatte die Versionsnummer 1.1 und war dem Code nach zu urteilen eine Testversion. Das nächste Installationspaket der „Lime“-Phase wurde Mitte Mai 2016 entdeckt. Es hat ebenfalls die Versionsnummer 1.1, die Funktionalität wurde allerdings überarbeitet.

Die wichtigste Veränderung in der Version 1.1 der „Lime“-Phase ist das Erscheinen neuer Phishing-Fenster. Jetzt war der Trojaner in der Lage, fünf Banking-Apps verschiedener russischer Banken anzugreifen. Zudem war ein weiterer Befehl hinzugekommen, und zwar ‚Liste der Verarbeitungsregeln für eingehende SMS empfangen‘. Diese Regeln definieren, welche Mitteilungen vor dem Nutzer verborgen werden sollen und auf welche mit vorgegebenen Antworten reagiert werden soll.

Außerdem entdeckten wir im Mai 2016 Dateien, die von den Autoren als Versionen 1.2 und 1.5 bezeichnet worden waren, obgleich ihre Funktionalität unverändert geblieben war.

Inzwischen war die neue Betriebssystemversion – Android 6.0 – mit einer Schutzfunktionalität herausgekommen, die die Arbeit des Trojaners behinderte. Im Juni entdeckten wir eine neue Version des Trojaners – 2.0 -, die nun auch Android 6 unterstützt. Auf den Geräten unter Android 6 erfragt der Trojaner zunächst das Recht, andere Apps mit seinen Fenstern überdecken zu dürfen. Daraufhin blockiert er unter Ausnutzung dieses Rechtes das Gerät praktisch und nötigt den Nutzer so dazu, der schädlichen Anwendung Administratorenrechte auf dem Gerät zu gewähren sowie die Erlaubnis zum Lesen und Versenden von SMS und zum Telefonieren zu geben.

Die im Juli entdeckten Versionen 3.0 und 3.1 verfügen über dieselbe Funktionalität wie auch die Version 2.0, und sie benutzen denselben Steuerungsserver, allerdings andere Ports. Wir fanden insgesamt nur je ein Installationspaket jeder Version. Dabei wird die Version 2.0 weiterhin aktiv verbreitet.

Alle Versionen der Phase „Lime“ werden von den Kaspersky Lab-Produkten als Trojan-Banker.AndroidOS.Gugi.b und Trojan-Banker.AndroidOS.Gugi.с detektiert.

Verbreitung

Der Trojaner wird aktiv via SMS-Spam mit Links auf Phishing-Seiten verbreitet, auf denen der Nutzer über den angeblichen Empfang einer MMS informiert wird.

gugi_2_de_3

Information auf einer Phishing-Site über den Erhalt einer MMS

Beim Drücken auf die Schaltfläche „Ansehen“ in dieser Mitteilung wird der Trojaner Trojan-Banker.AndroidOS.Gugi auf das Gerät geladen. Der Name des Trojaners wird beim Download von einer derartigen Website mit großer Wahrscheinlichkeit in etwa so aussehen: img09127639.jpg.apk.

Wie wir bereits in unserem vorangegangenen Blogpost über Gugi geschrieben haben, beobachten wir in den letzten zwei Monaten eine explosionsartige Zunahme von Attacken des Trojaners Trojan-Banker.AndroidOS.Gugi: Im August wurden 3 Mal mehr Nutzer von Gugi attackiert als noch im Juli und fast 20 Mal mehr als im Juni.

gugi_2_de_4

Zahl der Nutzer von Kaspersky Lab-Produkten für mobile Geräte, die von der Familie mobiler Bank-Trojaner Trojan-Banker.AndroidOS.Gugi angegriffen wurden

Zum gegenwärtigen Zeitpunkt wird ein großer Teil der Attacken unter Verwendung der Version Lime 2.0 durchgeführt. Alle uns bekannten aktiven Steuerungsserver dieses Trojaners gehören zu den Versionen Lime 1.5-3.1. Nicht einer der uns bekannten Server, die den Fanta-Versionen zuzuordnen sind, war Mitte August 2016 erreichbar.

Mehr als 93% der angegriffenen Anwender befanden sich in Russland.

MD5 der schädlichen Dateien, auf die im Text hingewiesen wird

0x8EB8170A6B0957ED4943DAF6BA5C0F0A
0x01BC8A2C84D1481042723F347056B1B3
0xBF257FD4F46605A5DBE258561891D77B
0x01CD86238FE594CAC2495CE6BD38FAFA
0xCBCC996BF49FFE3F90B207103102177B
0x4C7C48B919C26278DD849ED4BB0B3192
0x11F51C119BC1E7D2358E2565B2287925
0xFA7C61CF2563F93DEA4BB9964D2E7806
0xC5A727E6C6A5E57EDDB16E6556D5D666
0xD644E6E68F83504787443E8C8A3CB47F
0xE778EAB7A2FB55C7BC67F15A692DE246
0xE6C3329A8CC357C5BA455BB3C4372DE3
0x8BE9C3EDED33E2ADD22DE1A96C4A6B2B

Ähnliche Beiträge

Schreibe einen Kommentar

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