Троян Hirudo подменяет банковские приложения Android

Компания ThreatFabric выявила Android-троян Hirudo, который заменяет легитимные банковские приложения специально изменёнными копиями. Исследователи нашли подмены восьми приложений индонезийских банков, а кража учётных данных в кампании нацелена на пользователей в Индонезии, Китае, Индии, Мексике, Марокко и Таиланде.
Hirudo сочетает кражу реквизитов, удалённое управление устройством, захват экрана и камеры, а также перехват SMS. ThreatFabric характеризует управляющую инфраструктуру операции как достаточно зрелую: она объединяет контроль заражённых устройств, ведение кампаний и хранение похищенных данных.
Как троян попадает на устройство
Вредоносная программа распространяется через приложения-загрузчики, замаскированные под магазины, сервисы с видео для взрослых и развлекательные приложения. Среди обнаруженных образцов ThreatFabric называет Shopora, 1V1 X, KoiShort и ZoyaTV.
Такие приложения не выглядят пустыми: они загружают настоящий контент в WebView — витрину магазина, каталог видео или короткие драмы. В фоне загрузчик собирает данные для отслеживания рекламной кампании, получает конфигурацию и проверяет, установлен ли Hirudo и выданы ли ему разрешения на службу специальных возможностей и доступ к уведомлениям.
Если трояна нет, жертве показывают фальшивое внутриприкладное уведомление об обновлении. Hirudo устанавливается как отдельное приложение, поэтому для вредоносных действий ему всё равно требуются собственные разрешения.
Подмена приложения вместо обхода снаружи
Особенность Hirudo — попытка удалить оригинальное банковское приложение и установить почти идентичную изменённую версию. Троян через службы специальных возможностей определяет установленный банк, сверяет его сертификат с сохранённым эталоном, открывает системный экран удаления и параллельно загружает нужную замену.
В изменённую копию встроен механизм перехвата, который меняет результаты локальных проверок. Он может возвращать подлинный сертификат подписи, сообщать пустой список включённых служб специальных возможностей и убирать флаг FLAG_SECURE, запрещающий просмотр и запись экранов.
Сертификаты key attestation повторно подписываются ключом из встроенного keybox, причём ThreatFabric отмечает, что этот keybox был опубликован ранее и не принадлежит операторам кампании. Запросы Play Integrity перенаправляются по обычному HTTP на сервер злоумышленников, откуда приложение получает вердикт для принятия.
Что должны учитывать разработчики
По оценке ThreatFabric, блокировка интернета через намеренно неработающий VPN до установки полезной нагрузки призвана снизить эффективность облачных проверок репутации и анализа кода. Этот приём не отключает Play Protect полностью: у сервиса остаётся офлайн-обнаружение известных потенциально опасных приложений.
Кампания также использует поддельные веб-страницы, имитирующие карточки приложений в Google Play Store. Пользователей, предположительно, приводят на них рекламные объявления в социальных сетях Meta. В административной части операции сохраняются записи об устройствах, история экранов блокировки и финансовые профили с полями месячного дохода и оценки риска.
Практический вывод для банков и разработчиков состоит в том, что успешная подмена приложения делает локальные сигналы потенциально контролируемыми атакующим. Сертификат, сведения о службах доступности и результат проверки целостности должны подтверждаться на серверной стороне, а не приниматься как достаточное доказательство неизменности клиента.

