Google restringierte die Verwendung der Berechtigungsgruppen "SMS" und "Anrufliste" im März 2019. Einer der positiven Effekte ist, dass Login-Stealer-Apps nicht länger in der Lage sind, den SMS-basierten Zwei-Faktor-Authentifizierungsmechanismus (2FA) zu umgehen.

Nun entdeckten wir allerdings schädliche Android-Anwendungen, die in der Lage sind, "Einmal-Passwörter" (OTPs) aus 2FA-SMS-Benachrichtigungseinblendungen zu stehlen. Die Schad-Apps umgehen damit Googles neue Berechtigungsrichtlinien. Obendrein können sogar Einmal-Passwörter aus 2FA-E-Mail-Benachrichtigungen abgefangen werden.

Eine von uns im Google Play Store gefundene App ahmt die türkische Kryptowährungsbörse BtcTurk nach, um Login-Informationen für die echte Plattform zu ergaunern (Phishing-Angriff). Anstatt SMS-Nachrichten abzufangen, um den 2FA-Schutz zu umgehen, stiehlt die Malware sich das OTP aus der Benachrichtigungseinblendung. Diese kann die Malware sogar ausblenden, damit das Opfer nichts vom OTP-Diebstahl bemerkt.

Das ist das erste Mal seit der Einführung der neuen Google-Richtlinie, dass wir ein derartiges Umgehen der 2FA sahen. ESET Sicherheitsprodukte erkennen die Schadsoftware als Android/FakeApp.KP.

Die bösartigen Phishing-Apps

Unter dem Entwicklernamen „BTCTurk Pro Beta“ wurde die Fake-App am 7. Juni 2019 als „BTCTurk Pro Beta“ in den Google Play Store hochgeladen. Seitdem installierten bereits mehr als 50 User die Fake-App. BtcTurk ist eine türkische Kryptowährungsbörse, deren offizielle App über die Webseite zu erreichen ist – allerdings nur für türkische User.

Eine zweite App erschien unter dem Namen „BtcTurk Pro Beta“ am 11. Juni 2019 im Google Play Store. Dieses Mal unter dem Entwicklernamen „BtSoft“. Obwohl beide ähnlich auftreten, scheinen sie doch die Werke unterschiedlicher Malware-Entwickler zu sein. Wir meldeten die Fake-App am 12. Juni 2019. Zu diesem Zeitpunkt war die App auf weniger als 50 Geräten installiert worden.

Nachdem die App aus dem Play Store entfernt wurde, erschien von denselben Entwicklern eine weitere unter dem Namen „BTCTURK PRO“ mit den gleichen Funktionen. Wir meldeten diese am darauffolgenden Tag.

Abbildung 1 zeigt die beiden schädlichen Fake-Apps, wie sie im Google Play Store erschienen.

Abbildung 1: Fake BtcTurk Apps im Google Play Store

Abbildung 1: Fake BtcTurk Apps im Google Play Store

Die neue 2FA-Bypass-Technik?

Nach der Installation verwenden beide im vorherigen Abschnitt erwähnten Fake-Apps eine ähnliche Vorgehensweise. Im folgenden Abschnitt beschreiben wir die neue 2FA-Bypass-Technik am Beispiel der ersten App „BTCTurk Pro Beta“.

Nachdem die Anwendung gestartet wurde, fordert diese den Benachrichtigungszugriff (notification access) an, wie in Abbildung 2 zu sehen. Die Berechtigung ermöglicht das Lesen von Benachrichtigungen, die von anderen, auf dem Gerät installierten Apps, eingeblendet werden.

Abbildung 2: Die BTCTurk Fake-App fordert den Benachrichtigungszugriff an

Abbildung 2: Die BTCTurk Fake-App fordert den Benachrichtigungszugriff an

Der Benachrichtigungszugriff steht den Android-Usern seit der Jelly Bean Version 4.3 zur Verfügung. Das bedeutet, dass fast alle Android-Geräte durch diese 2FA-Bypass-Technik ausgetrickst werden können. Beide BtcTurk Fake-App setzen mindestens Android Version 5.0 (KitKat) voraus, womit ca. 90% der Android-Geräte abgedeckt sind.

Gestattet der User den Zugriff auf die Benachrichtigungen, wird ihm im nächsten Schritt ein Phishing-Formular eingeblendet, in das die BTCTurk Login-Informationen eingegeben werden sollen, wie in Abbildung 3 dargestellt.

Abbildung 3: Phishing-Formular der Fake-App

Abbildung 3: Phishing-Formular der Fake-App

Nach dem Bestätigen der Login-Informationen blendet die Fake-App eine Türkisch sprachige Error-Message ein (Abbildung 4). Übersetzt steht dort in etwa: „Opss! Aufgrund der im SMS-Überprüfungssystem vorgenommenen Änderungen können wir unsere mobile Anwendung vorübergehend nicht warten. Über das Ende der Wartungsarbeiten werden Sie per App informiert. Danke für Ihr Verständnis.

Im Hintergrund werden die zuvor eingegebenen Login-Informationen an die Server der Angreifer gesendet.

Abbildung 4: Die von der schädlichen Fake-App eingeblendete Fehlermeldung

Abbildung 4: Die von der schädlichen Fake-App eingeblendete Fehlermeldung

Dank des Benachrichtigungszugriffs liest die Phishing-App Benachrichtigungseinblendungen von anderen Apps, darunter SMS und E-Mails. Mit Hilfe von Filtern wie „sms, messaging, gm, yandex, mail, k9, outlook“ greift die BtcTurk Fake-App nur bestimmte Benachrichtigungen ab (Abbildung 5).

Abbildung 5: Filtern nach anvisierten App-Namen und Typen

Abbildung 5: Filtern nach anvisierten App-Namen und Typen

Der angezeigte Benachrichtigungsinhalt der Apps wird an die Server der Malware-Entwickler gesendet – Und das unabhängig von den Benachrichtigungseinstellungen (bspw. Nachrichteninhalte im Lock-Screen ausgeblendet). Die Verantwortlichen der Fake-Apps sind zudem in der Lage, die einkommenden Nachrichten auszublenden und den Klingelton-Modus auf „stumm“ zu stellen. Das Opfer würde in diesem Fall kaum etwas von der Kompromittierung bemerken.

Zwar sind die Fake-App in der Lage, die Zwei-Faktor-Authentifizierung (2FA) zu umgehen. Allerdings funktioniert das nur mit Einschränkungen. Die Angreifer können bloß auf den Text zugreifen, der in die Benachrichtigung passt. Das garantiert beispielsweise nicht, dass darin das Einmalpasswort (OTP) enthalten ist. Anhand der anvisierten Anwendungen erkennen wir, dass hauptsächlich SMS- und E-Mail-Nachrichten für die Cyberkriminellen von Interesse sind. SMS-2FA sind in der Regel so gestaltet, dass das OTP in die Benachrichtigung passt. Bei der E-Mail-2FA variieren die Textlängen sehr stark, weswegen das OTP nicht unbedingt in der Benachrichtigung angezeigt wird.

Eine sich schnell verbreitende Malware-Technik

Erst vergangene Woche analysierten wir eine ähnliche Fake-App, die es auf die türkische Krypto-Börse Koineks absah. Dank @DjoNn35 sind wir der Schad-Anwendung auf die Schliche gekommen. Die Koineks Fake-App benutzt dieselben Malware-Techniken wie die obigen bösartigen Android-Apps. Allerdings ist diese nicht in der Lage, Nachrichten auszublenden und das Mobilgerät stumm zu schalten.

Unseren Analysen zufolge stammt die Koineks Fake-App von den gleichen Angreifern, die auch BTCTurk Pro Beta erschufen. Das zeigt, dass die Malware-Entwickler momentan am Fine-Tuning arbeiten, um eine größtmögliche Anzahl an OTPs zu erhalten.

Abbildung 6: Informationen der Koineks Fake-App im Google Play Store

Abbildung 6: Informationen der Koineks Fake-App im Google Play Store

Wie schütze ich mich vor dieser Gefahr?

Vergangenen Monat warnten wir vor den steigenden Bitcoin-Preisen und der damit einhergehenden Welle neuer Krypto-Malware, die im Google Playstore auftauchen würde. Dieser Beitrag bestätigt, dass die Cyberkriminellen nicht ruhen und nach neuen Wegen suchen, um Sicherheitsmaßnahmen zu umgehen. Auch sie möchten vom Boom profitieren.

Deshalb stellen wir hier ein paar kurze Tipps vor, wie man sich vor Finance-Malware schützt:

  • Vertrauen sollte man nur den offiziellen Apps, die auf den offiziellen Unternehmens-Webseiten verlinkt sind.
  • Login-Daten sollten nur in vertrauenswürde Formularfelder, einwandfreier Herkunft, eingegeben werden.
  • Das Android Mobilgerät immer auf dem neusten Stand halten (Software-Updates).
  • Seriöse Mobile Security Apps blockieren und entfernen viele Cyberbedrohungen.
  • Wann immer es möglich ist, sollte auf Hardware-Token OTPs oder andere Software-basierte OTPs als auf SMS und E-Mail zurückgegriffen werden.

Die Installation von ausschließlich vertrauenswürdigen Apps ist insbesondere dann wichtig, wenn ein Benachrichtigungszugriff verlangt wird.

Indicators of Compromise (IoCs)

Package name Hash ESET detection name
btcturk.pro.beta 8C93CF8859E3ED350B7C8722E4A8F9A3 Android/FakeApp.KP
com.app.btsoft.app 843368F274898B9EF9CD3E952EEB16C4 Android/FakeApp.KP
com.app.elipticsoft.app 336CE9CDF788228A71A3757558FAA012 Android/FakeApp.KP
com.koinks.mobilpro 4C0B9A665A5A1F5DCCB67CC7EC18DA54 Android/FakeApp.KP

Kudos to @DjoNn35 for bringing this app to our attention.