главное в кибербезопасности Читать в канале
Атаки и утечки 16 октября 2026 3 мин

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

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

Вредоносная программа Hirudo для Android использует новый подход для обхода банковских систем безопасности. Вместо показа поддельного экрана входа поверх настоящего приложения, Hirudo удаляет легитимное приложение и устанавливает его модифицированную копию. Исследователи ThreatFabric обнаружили, что операторы Hirudo стремятся заменить само банковское приложение. Модифицированная копия тихо отключает внутренние проверки безопасности банка. На данный момент существуют готовые замененные версии восьми индонезийских банковских приложений от семи банков. Вредоносное ПО нацелено на кражу учетных данных пользователей в Индонезии, Китае, Индии, Мексике, Марокко и Таиланде.

Установка вредоносного ПО происходит через поддельные приложения-дропперы

Hirudo распространяется как второе приложение, скрытое внутри убедительного дроппера. Дроппер маскируется под легитимное приложение для покупок, платформу для коротких видео или сервис для взрослых. Он загружает реальный контент через WebView, чтобы создать видимость подлинности. При обнаружении банковского приложения на устройстве и отсутствии Hirudo, дроппер отображает поддельное уведомление о необходимости обновления. Один из проанализированных дропперов создает намеренно нарушенное VPN-соединение, которое отключает доступ устройства к интернету во время установки Hirudo. Эта техника ослабляет проверки репутации и анализ кода во время установки вредоносного APK. После установки Hirudo получает необходимые разрешения Доступности и уведомлений.

Модифицированное приложение обходит проверки безопасности изнутри

При обнаружении целевого банковского приложения Hirudo сравнивает его сертификат подписи с сохраненным эталоном. Затем отображается поддельное уведомление об обновлении и запускается стандартный деинсталлятор Android. Параллельно загружается пропатченная версия приложения. Модифицированная копия сохраняет оригинальное имя пакета и номер версии, но подписывается тестовым ключом, а не реальным сертификатом банка. Android не устанавливает такую версию как обновление поверх легитимного приложения, поэтому оригинал сначала удаляется. В код оригинального приложения добавляется одна строка, которая при запуске загружает встроенный движок для перехвата вызовов. Движок использует фреймворки YAHFA и Dobby для модификации Java-методов и нативных функций. Он активируется только при наличии триггерного файла, созданного трояном. После активации движок работает внутри банковского приложения и контролирует его реакцию на проверки безопасности. Он возвращает подлинный сертификат при запросе, скрывает список активных служб Доступности и снимает блокировку снятия скриншотов. Проверки Play Integrity отправляются через HTTP на сервер оператора, который возвращает приемлемый результат. Ключ для аттестации был публично слит, а некоторые сертификаты уже находятся в списке отозванных Google. Переданный ответ Play Integrity не гарантирует отсутствия модификаций.

Банкам следует проверять сигналы безопасности на стороне сервера

Исследователи ThreatFabric подчеркивают, что сигналы, производимые приложением локально, такие как подпись, список доступности и вердикт целостности, должны рассматриваться как подверженные влиянию злоумышленника и проверяться на стороне сервера. Действительный вердикт Play Integrity, полученный через переданный запрос, не является гарантией безопасности. Чистый список доступности от пропатченного приложения не свидетельствует об отсутствии управляющей службы. Сигналы, генерируемые приложением локально, больше не являются надежными. Банки, полагающиеся на них как на блокирующие факторы, а не как на входные данные для оценки рисков на стороне сервера, действуют на основе предположений, которые Hirudo призван эксплуатировать. Hirudo представляет собой намеренную эскалацию в подходе Android-банкеров к защищенным приложениям. Перемещая модификацию внутрь целевого приложения, операция смещает противостояние с устройства на внутренние проверки целостности приложения. Защитное заключение едино для всех исследованных возможностей: сигналы, производимые локально приложением, которое могло быть заменено, нельзя доверять самим по себе.

Источники · 2