Пользователям Android предлагали установить MandatGO - якобы официальный сервис для оплаты штрафов. Объявление в Facebook* обещало простой способ разобраться с административным взысканием и не тратить время на очереди. После загрузки человек получал не полезный инструмент, а программу удалённого доступа, способную подчинить смартфон оператору.
Описание
Схема начиналась с рекламного баннера. Дальше пользователь попадал на отдельную страницу, откуда предлагалось скачать установочный файл в обход официального магазина. Такой способ остаётся удобным для злоумышленников: встроенные проверки магазина просто не срабатывают. Организаторы не ограничились кражей данных. Им нужен был долгий контроль над устройством, доступ к переписке, списку программ и экрану.
Анализ попавшего в руки образца, как показало исследование, выявил ранее не описанное семейство koktevrat. Имя взято из служебного идентификатора, который программа использует при создании собственного канала уведомлений. Убедительных признаков, указывающих на конкретную группировку, найти не удалось.
Заражение идёт в два этапа. Первый установочный файл только маскируется под MandatGO. Его настоящая задача - доставить на устройство второй компонент. Внутри спрятан код, который расшифровывается и запускается уже во время работы. Простой проверкой скачанного файла всю вредоносную начинку не увидеть: она проявляется позже, когда жертва давно забыла о загрузке.
Второй этап сохраняет прежнее название и иконку, но его роль меняется полностью. Дополнительный модуль прячется в ресурсе, замаскированном под таблицу стилей оформления. Он расшифровывается, загружается в память и превращается в полноценную программу удалённого доступа. Обмануть пользователя помогает то, что внешне приложение остаётся тем же самым.
Главный инструмент программы - служба доступности Android (системный механизм, созданный для помощи людям с ограничениями; он позволяет приложению читать содержимое экрана и нажимать кнопки за пользователя). Получив такое разрешение, оператор запускает приложения, выполняет системные действия, блокирует и разблокирует экран, вводит и стирает текст, открывает нужные разделы настроек. Среди прочего он может имитировать нажатия и заполнять поля форм, действуя от имени владельца. Злоумышленники не просто ждут согласия, они давят на человека. Во время настройки поверх экрана появляется навязчивое окно, а кнопка возврата срабатывает многократно в течение примерно сорока пяти секунд, мешая прервать процесс.
Возможности выходят далеко за рамки сбора сведений. Программа читает сообщения, составляет список установленных приложений, следит за буфером обмена и очищает его, перехватывает нажатия клавиш в выбранных программах. Она также умеет менять системные настройки и удерживаться в памяти после перезагрузки. Отдельные команды управляют яркостью, режимом экономии заряда и запрашивают права администратора. Есть и функции, мешающие удалить вредоносное ПО, а также отключающие встроенную защиту магазина приложений. Заражённый телефон превращается в удалённо управляемый терминал, а не просто в источник украденных данных.
Связь с оператором построена на двух механизмах сразу. Команды приходят через командно-контрольный сервер, а роль сигнала для пробуждения играет сервис облачных сообщений Firebase (платформа для доставки уведомлений на устройства). Смартфон регистрируется, передаёт свой идентификатор и затем просыпается по входящему уведомлению. Держать постоянный канал не нужно - программа оживает по команде. Вдобавок планировщик задач запускает связь через равные промежутки, примерно раз в четыре часа. Такой подход усложняет обнаружение: устройство редко выходит на связь и делает это короткими сеансами.
Список управляющих адресов меняется сам. Алгоритм генерирует новые доменные имена каждые десять дней, поэтому блокировка по статическому перечню не помогает. Есть и ещё одна возможность: через заражённый телефон можно пропускать чужой сетевой трафик, превращая его в промежуточное звено. Отследить такой поток сложнее, ведь он смешивается с обычным соединением самого пользователя. Роль устройства расширяется - оно уже не только источник данных, но и узел для чужого трафика.
По набору приёмов koktevrat напоминает известные семейства вредоносных программ для Android - FluBot, Cerberus и SpyNote. Их объединяет ставка на службу доступности, работа с сообщениями и навязчивые экраны. При этом оснований считать новый образец вариантом кого-то из перечисленных нет. Сходство касается техник, а не происхождения. Авторы koktevrat собрали знакомые приёмы в более длинную цепочку: добавились многоэтапная загрузка, пробуждение через облачные уведомления и меняющиеся адреса.
Защита от подобных атак не сводится к чёрным спискам доменов и цифровых отпечатков файлов. Надёжнее смотреть на сочетание признаков: незнакомое приложение, запрашивающее службу доступности, доступ к сообщениям и списку программ, плюс странная активность в фоне. Особую осторожность вызывают программы, которые просят включить службу доступности сразу после первого запуска, - для легитимных приложений это нетипично. Пользователю стоит ставить программы только из официальных магазинов, проверять, какие разрешения требует новое приложение, и не доверять рекламе, обещающей мгновенное решение юридических вопросов. Регулярное обновление системы и встроенная защита снижают риск, хотя полной гарантии не дают.
* Компания Meta и её продукты (включая Instagram, Facebook, Threads, Meta AI) признаны экстремистскими, их деятельность запрещена на территории РФ.