Как троян RatHat получает полный контроль над Android через ADB и Accessibility

Когда я впервые столкнулась с описанием RatHat, меня поразила не столько сама вредоносная функциональность, сколько инженерная продуманность этой угрозы. Перед нами не просто очередной банковский троян, а целая экосистема, заточенная под максимально глубокое проникновение в устройство и длительное невидимое присутствие. Вредоносная программа нацелена на Android и, по имеющимся сведениям, связана с группировками, действующими из Китая. Каналы распространения включают смишинг, вредоносную рекламу, фишинговые страницы, сторонние форумы и APK-файлы, которые жертвы устанавливают вручную, принимая их за легитимные приложения.

Мне кажется важным сразу подчеркнуть: RatHat не полагается на одну-единственную уязвимость. Вместо этого он выстраивает многоступенчатую цепочку компрометации, где каждый этап решает свою задачу — от обхода статического анализа до получения привилегированного доступа и перехвата чувствительных данных. Именно эта комплексность делает угрозу особенно опасной для пользователей, которые привыкли доверять встроенным механизмам защиты Android.

Как устроен механизм установки и защиты от анализа

Первое, что бросается в глаза при изучении RatHat, — это нестандартный подход к доставке и запуску кода. Вредонос использует дроппер с зашифрованными полезными нагрузками, которые распаковываются и загружаются непосредственно в память на этапе вторичного DEX. Иными словами, основной вредоносный код не лежит на диске в открытом виде, а появляется уже в процессе выполнения, что серьёзно затрудняет его обнаружение традиционными антивирусными средствами.

Для установки RatHat злоупотребляет API Android SessionInstaller и службами специальных возможностей. Через Accessibility он добивается предоставления конфиденциальных разрешений без явного согласия пользователя — фактически автоматизируя процесс легитимизации своего присутствия. Я бы отметила, что такой приём характерен для современных троянов, но здесь он дополнен целым арсеналом антианалитических уловок.

APK-контейнеры RatHat намеренно содержат повреждённые метаданные ZIP, манифест размером 61 МБ с задокументированными чанками, недействительные псевдоинструкции DEX и несколько схем шифрования строк. Всё это направлено на то, чтобы сломать декомпиляцию и автоматизированный анализ. Проверки во время выполнения обнаруживают отладчики, нативную трассировку, Frida и Xposed, а также рутованные или эмулируемые среды и переупакованные приложения. Если вредонос понимает, что его запустили в песочнице или под наблюдением, он может изменить поведение или вовсе прекратить активность, чтобы не раскрыть свои алгоритмы.

Нестандартный путь к полному контролю через беспроводную отладку

После того как RatHat получает доступ к функции специальных возможностей, начинается, пожалуй, самая интересная часть атаки. Вредонос автоматически включает параметры разработчика и беспроводную отладку, а затем извлекает код сопряжения ADB и номер порта из интерфейса. Обычно для работы с ADB требуется хост-компьютер, но RatHat встраивает собственную библиотеку ADB, позволяющую сопрягаться с устройством локально. Это значит, что троян сам себе создаёт мост к оболочке Android без какого-либо внешнего участия.

В каталоге /data/local/tmp разворачиваются два компонента на базе Go: привилегированный агент команд под именем liblocal-service.so и клиент обратного прокси FRP под именем libmedia_codec.so. Агент получает конфигурацию туннеля от сервера управления, а FRP-клиент поддерживает постоянное обратное соединение, через которое злоумышленники могут удалённо обращаться к демону ADB. Я обратила внимание, что Android-приложение взаимодействует с C2 по аутентифицированным HTTP и WebSockets, а локальный агент дополнительно предоставляет HTTP-службу на 127.0.0.1:7910. Такая архитектура обеспечивает несколько независимых каналов управления и повышает отказоустойчивость.

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

Кража учётных данных и автоматизация действий на экране

Для кражи учётных данных RatHat показывает поддельные наложения поверх банковских приложений, приложений для работы с криптовалютами, WeChat и Alipay. Эти фальшивые окна выглядят как легитимные формы входа, но на самом деле перехватывают логины, пароли и PIN-коды. Кроме того, троян собирает одноразовые пароли, передаваемые по SMS и через уведомления, что позволяет обходить двухфакторную аутентификацию. Для захвата экрана используется MediaProjection — легитимный API, который вредонос применяет для записи происходящего на дисплее.

Особого внимания заслуживает автоматизация действий через функцию специальных возможностей. RatHat сериализует дерево пользовательского интерфейса и может использовать генеративный ИИ для поиска элементов интерфейса, определения их координат и извлечения текста. Это означает, что троян не просто реагирует на заранее заданные сценарии, а способен адаптироваться к изменениям в интерфейсе приложений. Компонент AdbTouchCapture выполняет команду getevent в контексте оболочки и отслеживает необработанные события касания в /dev/input. Используя раскладки клавиатур и геометрию графического ключа, характерные для конкретного устройства, он может восстанавливать PIN-коды, пароли и графические ключи по координатам касаний. На мой взгляд, это один из самых тревожных аспектов RatHat: даже если пользователь вводит пароль вручную, троян способен вычислить его по траектории нажатий.

Механизмы закрепления и скрытности

RatHat не ограничивается разовым проникновением. Для закрепления в системе он использует скрытую службу, работающую вне жизненного цикла приложения, поддельные наложения с сообщением об ошибке удаления, права администратора устройства и автоматическое восстановление после удаления. Если жертва пытается избавиться от вредоноса, она может столкнуться с тем, что приложение либо не удаляется, либо вскоре появляется снова. Права администратора устройства дополнительно усложняют удаление, поскольку система требует сначала отозвать эти привилегии.

Подводя итог, RatHat представляет собой яркий пример эволюции мобильных угроз. Он объединяет в себе продвинутые техники обхода анализа, нестандартное использование ADB и беспроводной отладки, а также элементы автоматизации на базе генеративного ИИ. Пользователям стоит внимательнее относиться к источникам установки приложений и помнить, что даже официальные механизмы Android могут быть обращены против них.

Комментировать

?
12 - 10 = ?