Der Android Banking-Trojaner, über den wir bereits Anfang des Jahres berichteten, hat seinen Weg zurück in das Google Play Store gefunden – diesmal ist er allerdings noch (un)heimlicher.

Der BankBot Banking-Trojaner wurde im Laufe des Jahres 2017 weiterentwickelt. Es existieren mittlerweile verschiedene Versionen sowohl außerhalb als auch innerhalb des Google Play Stores. Die Variante, die wir am 4. September 2017 im Google Play Store entdeckten, ist die erste, welche die neusten Methoden der BankBot-Evolution erfolgreich kombiniert: verbesserte Verschleierung des Quellcodes, ausgeklügeltere Payload-Drop-Funktion und listigerer Kompromittierungsmechanismus, der die Android Bedienungshilfe ausnutzt.

Der Missbrauch des Android Accessibility Services wurde bereits in vielen anderen Trojanern beobachtet – meistens jedoch außerhalb des Google Play Stores. Kürzliche Analysen von SfyLabs und Zscaler bestätigten, dass Cyberkriminelle es schafften, eine App mit der Bedienungshilfe-Missbrauchs-Funktion ohne Banking-Malware-Nutzlast in das Google Play Store hochzuladen.

Der „komplette Trojaner“ (mit schädlicher Banking-Malware) schaffte es dann unter dem Namen Jewels Star Classic in das Google Play Store. Cyberkriminelle nutzten den Namen des beliebten Spieleklassikers aus, um potenzielle Spieler in die Falle zu locken. Allerdings ist das Spiel der ITREEGAMER-Entwickler legitim und in keiner Weise mit der bösartigen Malware-Kampagne in Verbindung zu bringen – lediglich der Name ist identisch.

Wir haben bereits Googles Sicherheitsteam über die schädliche App informiert. Bevor sie entfernt wurde, wies sie bereits mehr als 5.000 Downloads auf.

Wie operiert die Anwendung mit dem Banking-Trojaner?

Wenn der ahnungslose Benutzer Jewels Star Classic vom Entwickler GameDevTony (Abb. 1) herunterlädt, bekommt dieser zwar ein funktionierendes Android-Spiel, allerdings erhält der Spieler auch ein unangenehmes Extra. In dem nachgeahmten Spiel wartet die Banking-Malware-Nutzlast bloß darauf, ausgeführt zu werden. Das geschieht mit einer gewissen voreingestellten Verzögerung.

Abbildung 1 – Die schädliche App wie sie bei Google Play entdeckt wurde.

Die Bösartigkeit der App macht sich erst zwanzig Minuten nach der Installation vom gefälschten Jewels Star Classic bemerkbar. Auf dem kompromittierten Gerät erscheint eine Meldung mit der Überschrift “Google Service“. Der angebliche Hinweis zeigt sich unabhängig von der Aktivität des Users und ohne Verbindung zur App.

Bestätigt der Android User die Meldung mit “OK“ (einziger Weg, den Hinweis auszublenden), wird er direkt zum Android Menü Bedienungshilfe geleitet. Dort können Einstellungen für die erleichterte Bedienung vorgenommen werden. Neben legitimen Einstellmöglichkeiten, taucht jetzt auch der Dienst “Google Service“ auf, der von der Malware kreiert wurde. Beim Anklicken zeigen sich die originalen Google-Nutzungsbedingungen.

Abbildung 2 - Hinweis mit der Aufforderung “Google Service“ zu aktivieren

Abbildung 3 – "Google Service" unter den Android Bedienungshilfen aufgeführt

Abbildung 4 – Beschreibung des böswilligen Dienstes aus den Google-Nutzungsbedingungen

Entscheidet sich der User für das Aktivieren des Dienstes, werden ihm eine Liste an Zugriffsrechten aufgelistet, welche “Google Service“ einfordert. Einige sind: Handlungsverfolgung, Lesen des Bildschirminhalts, Ausführen von Gesten, usw. (Abb. 5)

Mit dem Klicken auf “OK“ werden der Malware umfangreiche Zugriffsmöglichkeiten eingeräumt. Mit der Bestätigung erlangt der Banking-Trojaner quasi freie Hand über das Ausführen von schädlichen Aktivitäten.

Abbildung 5 – erforderliche Zugriffsrechte die “Google Service“ einfordert

In unserem Labortest haben wir die Bedingungen akzeptiert. Gleich darauf wird dem User der Zugang zu seinem Bildschirm durch ein “Google Service Update“ verweigert. Natürlich hat dieses Update nichts mit Google zu tun (Abb. 6).

Abbildung 6 – Schädliches “Update“ verdeckt den Bildschirm

Die Malware blendet die angebliche Update-Statusmeldung nur ein, um die nächsten Schritte zu verbergen. Während dem User nichts weiter übrig bleibt, als zu warten, laufen im Hintergrund folgende Prozesse ab:

  • Erlauben der Installation von Apps aus unbekannten Quellen
  • Installation von BankBot und Starten der Anwendung
  • Einräumen von Geräteadministratorrechte für BankBot
  • Setzen von BankBot als standardmäßige SMS-Benachrichtigungs-App
  • Erlauben, andere Anwendungen herunterladen zu können

Sind diese Aufgaben erfolgreich erledigt, geht die Malware bereits dazu über, das nächste Ziel zu erreichen: das Stehlen von Kreditkartendaten des kompromittierten Users. Im Gegensatz zu anderen BankBot-Varianten, die es auf das Ergaunern von Login-Informationen einer ganzen Reihe spezifischer Banking Apps abgesehen haben, konzentriert sich unsere untersuchte Variante bloß auf die Google Play Store App. Diese Anwendung ist mittlerweile auf jedem Android-Smartphone vorinstalliert.

Startet der User die Google Play Store Anwendung, schaltet sich BankBot dazwischen und überdeckt den aktuellen Bildschirm mit einem Eingabefeld, in das der User seine Kreditkartendaten eingeben soll (Abb. 7).

Abbildung 7 – gefälschtes Eingabefeld fordert Kreditkartendaten

Fällt der User an dieser Stelle auf die Cyberkriminellen herein und gibt seine Kreditkartendaten preis, haben die Angreifer im Wesentlichen das erreicht, was sie wollten. Dank der Einstellung von BankBot als standardmäßige SMS-Benachrichtigungs-App werden SMS-Kommunikationen vom kompromittierten Gerät abgefangen. Das ermöglicht, die SMS-basierte Zwei-Faktor-Authentifizierung beim Online-Banking zu umgehen. Damit fällt auch der letzte Sicherheitswall zwischen den Cyberkriminellen und dem Geld der Opfer.

Was macht den Banking-Trojaner BankBot so gefährlich?

In dieser Malware-Kampagne setzen die Cyberkriminellen eine Reihe von Techniken ein, die sich in der Android-Malware-Szene steigender Beliebtheit erfreuen. Darunter zählt auch der Missbrauch der Android Bedienungshilfe-Einstellungen und das Imitieren legitimer Android Dienste. Mit einem festgelegten Countdown umgehen die Cyberkriminellen Googles Sicherheitsmaßnahmen und verzögern die schädlichen Auswirkungen des Banking-Trojaners.

Die Kombination der verschiedenen Malware-Techniken erschwert Android-Usern die Erkennung der Bedrohung in angemessener Zeit. Weil die Malware "Google" nachahmt und ganze zwanzig Minuten wartet, bevor die erste boshafte Einblendung erfolgt, besteht nur eine sehr geringe Chance, die Parallelen mit der Installation der Jewels Star Classic Fake-App (oder einer anderen) zu finden. Obendrein verwirren die vielen unterschiedlichen Namen, welche die App während ihres Kompromittierungsvorgangs gebraucht. Das erschwert das manuelle Aufspüren und Entfernen der schädlichen Malware.

Wie wird das Android-Smartphone von BankBot befreit?

Wer viele unterschiedliche Apps aus dem Google Play Store und woanders herunterlädt, sollte kurz überprüfen, ob das Smartphone nicht bereits kompromittiert ist.

Dabei reicht es nicht, das Gerät bloß nach Jewels Star Classic zu durchsuchen, da die Cyberkriminellen auch andere Apps für die Verbreitung des Banking-Trojaners BankBot benutzen. Um zu überprüfen, ob das Android-Smartphone Opfer der Malware geworden ist, sollte wie folgt vorgegangen werden:

  • Auftauchen einer App namens “Google Update“ (wie in Abb. 8 unter Einstellungen > Anwendungsmanager/Apps > Google Update zu finden)
  • Aktiver Geräteadministrator namens “System Update“ (wie in Abb. 9 unter Einstellungen > Sicherheit > Geräteadministratoren zu finden)
  • Wiederholte Einblendung des “Google Service“ Hinweises (wie in Abb. 2 gezeigt)

Abbildung 8 – Die bösartigen Apps im Anwendungsmanager

 

Abbildung 9 - BankBot als Systemaktualisierung unter aktiven Geräteadministratoren versteckt

Gibt es anhand der Indikatoren auch nur einen Hinweis auf die Malware, ist das Android-Smartphone mit großer Wahrscheinlichkeit mit dem BankBot Banking-Trojaner infiziert.

Eine manuelle Säuberung ist möglich. Zunächst müssen “System Update“ die Geräteadministratorrechte entzogen werden, danach sind “Google Update“ und die Trojaner verteilende App (in unserem Fall Jewels Star Classic) zu deinstallieren.

Natürlich kann die Identifizierung der auslösenden Anwendung schwierig sein – gerade weil die Malware ihr schädliches Verhalten erst zwanzig Minuten nach Installation offenbart und die heruntergeladene App ansonsten wie erwartet funktioniert.

Wie schütze ich mich vor dieser Bedrohung?

Um solche Bedrohung zu erkennen, empfehlen wir die Verwendung einer zuverlässigen Mobile Security Sicherheitslösung für Android-Smartphones.

ESET-Sicherheitsprodukte erkennen und blockieren die Variante von BankBot als Android/Spy.Banker.LA.

Neben einer zuverlässigen mobilen Sicherheitslösung gibt es noch andere Methoden, um sich vor derartiger Malware zu schützen:

  • Wenn immer es möglich ist, sollte der offizielle App Store verwendet werden. Obwohl selbst das Google Play Store nicht lückenlose Sicherheit bietet, so ist der Standard mit den ausgereiften Sicherheitsmechanismen doch allen alternativen App Stores überlegen.
  • Bei Zweifeln sollte immer die Bewertung der App angesehen werden. Hieraus, und aus der Anzahl der Downloads, lassen sich Schlüsse über die Verlässlichkeit der Anwendung ableiten.
  • Nach der Installation einer App sollte auf die Anzahl und Qualität der zu erlaubenden Zugriffsrechte geachtet werden. Apps, die aufdringlich nach hohen Zugriffsrechten verlangen, sind mit Vorsicht zu genießen. Zugriffsrechte sollten nur bei absolutem Vertrauen eingeräumt werden.

Was ist BankBot?

Zuerst von ESET am 26. Dezember 2017 erkannt und von Dr. Web zuerst analysiert, ist BankBot ein ferngesteuerter Android-Banking-Trojaner, der in der Lage ist, Banking-Informationen mit Hilfe von falschen Formularen innerhalb einer Vielzahl von Apps zu ergaunern. Im Nachgang werden Textnachrichten abgefangen, um die Zwei-Faktor-Authentifizierung und das Anzeigen von unerwünschten Push-Benachrichtigungen zu umgehen.

Anfang 2017 nach der Entdeckung von Anwendungen im Google Play Store, die mit dem Banking-Trojaner BankBot infiziert waren, bestätigten wir, dass die schädlichen Apps in Verbindung mit einem im Dezember 2016 im Untergrund veröffentlichten Quellcode stehen.

Die öffentliche Verfügbarkeit des Codes hat zu einem Anstieg sowohl in der Anzahl als auch in der Raffinesse der mobilen Banking-Trojaner geführt.

Analyzed sample / IoCs
Package name Hash
com.mygamejewelsclassic.app B556FB1282578FFACDBF2126480A7C221E610F2F
com.w8fjgwopjmv.ngfes.app 4D3E3E7A1747CF845D21EC5E9F20F399D491C724