Сигурност

Редакция Overclock.bg ·

RatHat: Android малуер с shell достъп през ADB

RatHat: Android малуер с shell достъп през ADB

Изследователите от Zimperium zLabs публикуваха на 16 септември 2026 г. анализ на нов Android троянец с името RatHat, който превръща две напълно легитимни функции на системата — услугите за достъпност и безжичното дебъгване — в канал за постоянен shell достъп. Най-неприятната част: дори когато жертвата успее да изтрие приложението, нападателят продължава да държи устройството. Анализът е дело на Gianluca Braga, Vishnu Pratapagiri и Fernando Ortega, а The Hacker News и BleepingComputer вече разпространиха находките.

Как APK файлът се сдобива с shell

Веригата започва банално — smishing съобщения, malvertising и форуми, които насочват към фалшиви портали за изтегляне на APK извън Google Play. Дотук нищо ново. Новото започва, след като потребителят бъде подлъган да даде разрешение за Accessibility.

Оттам нататък RatHat се справя сам. Малуерът автоматично отваря Developer Options, включва Wireless Debugging и отива на екрана за сдвояване. После изчита от интерфейса 6-цифрения PIN код за сдвояване и динамичния порт — през текста на екранните елементи, а ако нужните resource ID липсват, минава през всички TextView полета подред. С тези данни приложението се сдвоява само със себе си и получава shell права през локалния ADB демон, без да е нужен компютър отсреща.

Двата агента, които оцеляват след изтриване

Именно този shell контекст е причината деинсталирането да не помага. RatHat стоварва два Go бинарника, маскирани като системни библиотеки:

  • liblocal-service.so — изпълнява командите на C2 сървъра и възстановява малуера, ако бъде премахнат;
  • libmedia_codec.so — FRP клиент (Fast Reverse Proxy), който вдига обратен тунел към инфраструктурата на нападателя.

И двата вървят извън жизнения цикъл на приложението, така че премахването на иконата от чекмеджето не ги засяга. Успоредно с това малуерът активно пречи на изтриването, като прихваща екраните за потвърждение, и заобикаля ограниченията за фонова активност и пестене на батерия.

AI асистент вместо предварително записан скрипт

Най-любопитната част от анализа е автоматизацията. Вместо твърдо зададени координати за клик, RatHat сериализира живото дърво на достъпността в XML и го изпраща към, по думите на Zimperium, „един от най-популярните генеративни AI асистенти в света”. Отговорът съдържа координати на конкретния елемент, разчетен екранен текст и команди за навигация от рода на SCROLL_DOWN.

Практическият ефект е, че малуерът се справя с интерфейси, които не е виждал никога — различни производители, различни езици, различни версии на банковото приложение. Това е и причината поведенческите сигнатури да го хващат по-трудно от обикновената скриптова автоматизация. Промптовете са на мандарин, което заедно с останалите следи води Zimperium до извода, че операторите са базирани в Китай. Компанията не назовава кой точно асистент е използван, а Infosecurity Magazine допуска, че става дума за модел на Google. Тенденцията е позната — легитимни AI услуги все по-често се оказват част от атакуващата верига, както видяхме и при Plugin4Shell в кодиращите агенти.

Какво точно събира

Списъкът е дълъг и подчертано финансов:

  • HTML overlay екрани върху банкови и крипто приложения, включително WeChat и Alipay;
  • прихващане на SMS и известия, тоест и еднократните кодове за двуфакторна автентикация;
  • keylogger през събитията на достъпност, който възстановява въведения текст;
  • четене на адресите в Chrome, Brave, Opera, DuckDuckGo и Samsung Internet;
  • запис на екрана през MediaProjection API;
  • най-грубото — Go агентът чете директно /dev/input/* през getevent и с вграден файл locateValues.json с подредбите на клавиатурите възстановява PIN кода и шарката за отключване от самите докосвания.

Пет слоя срещу анализаторите

RatHat се защитава и от изследователите. Zimperium описва четири слоя обфускация плюс един анти-дебъг: повреден ZIP контейнер, „манифестна бомба” от 61 MB AndroidManifest.xml с недокументирани чънкове 0x9999, отровен DEX байткод, който чупи дизасемблерите, и собствена схема StringCrypto. Отгоре вървят шест проверки по време на изпълнение — за JDWP, ptrace, debuggable флаг, Frida, Xposed и емулатор.

Внимание

Ако сте инсталирали APK файл от външен източник наскоро, проверете ръчно Настройки → Достъпност за непознати услуги и Опции за програмисти → Безжично дебъгване. Включено безжично дебъгване, което не сте пускали вие, е достатъчна причина за пълно нулиране на устройството — самото деинсталиране на приложението не премахва агентите.

Заключение

RatHat не използва нито един нулев ден. Цялата атака стъпва върху разрешение, което потребителят дава доброволно, и върху функция за разработчици, която Android предлага от години. Индикаторите за компрометиране са публикувани в GitHub хранилището на Zimperium. Практическият извод е стар, но пак опреснен: APK файлове само от Google Play, Accessibility разрешение само за приложения, на които наистина разчитате, и редовни обновления като стабилния One UI 9 върху Android 17.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още