Изследователи по киберсигурност алармираха за нов зловреден софтуер за Android, наречен RatHat, за който се смята, да се управлява от базирани в Китай киберпрестъпници и разполага със система, задвижвана от изкуствен интелект (AI), за навигация и контрол на компрометирани устройства.
„Разпространяван главно чрез целеви смшинг (SMS/текстов фишинг) и злонамерени рекламни кампании (malvertising), водещи до заблуждаващи портали за изтегляне от трети страни, RatHat използва автоматизиран многостепенен тръбопровод за инфектиране“, заявяват изследователите от Zimperium Джанлука Брага, Вишну Пратапагири и Фернандо Ортега.
„След като бъде внедрен, той съчетава злоупотреба с услугите за достъпност (Accessibility) с автономно локално сдвояване чрез ADB (Android Debug Bridge), за да излезе от стандартната изолирана среда (sandbox) на приложенията за Android, подготвяйки независими локални процеси (daemons), които се изпълняват с права на ниво шел.“
RatHat се разпространява чрез заблуждаващи фишинг сайтове, рекламирани чрез malvertising, смшинг кампании и форуми от трети страни, които примамват нищо неподозиращите потребители да инсталират съдържащи зловреден код APK файлове. Тези пакети функционират като дропър (dropper), за да стартират основния зловреден код, като същевременно включват слоеве от проверки срещу анализ и отлаждане, за да избегнат откриването.
Четирите техники срещу анализ, внедрени в зловредния софтуер, са изброени по-долу –
- Манипулиране на контейнера (Container tampering), което декларира определени файлове като директории в пакета или задава флага за общо криптиране в ZIP файла, така че те да бъдат игнорирани от библиотеката libziparchive на Android, но не и от други инструменти като unzip и apktool.
- Бомба в манифеста (Manifest bomb), която кара автоматизираните среди за анализ да сриват или да надхвърлят времето за изчакване, като поставя недокументирани 0x9999 заглавни части от блокове в „AndroidManifest.xml“, които се прескачат от средата за изпълнение на Android.
- Отравяне на DEX байткода (DEX bytecode poisoning), което включва псевдо-инструкции, конфигурирани с невалиден атрибут element_width, за да предизвика провал на процеса на дисасемблиране.
- Двойно криптиране на низове (Dual string-encryption), което използва схема за криптиране, наречена StringCrypto: Base64, за да се противопостави на анализа.
Архитектурата на зловредния софтуер за Android се състои от три основни компонента: зловредното приложение за Android, Go агент и FRP клиент за обратен прокси (reverse-proxy). Приложението за Android служи като канал за придобиване на критични системни разрешения и стартиране на следващата фаза на атаката, което му позволява да получи разрешения за услуги за достъпност и след това да ги злоупотреби, за да отключи Опциите за разработчици (Developer Options), да активира Безжично отлаждане (Wireless Debugging) и да извлече 6-цифрения код за сдвояване на ADB.
Зловредният софтуер е оборудван да показва подправени графични слоеве (overlays) върху специфични приложения за събиране на идентификационни данни, да записва екрана чрез API MediaProjection на Android, да прехваща SMS съобщения и да отменя опитите за инсталиране чрез показване на фалшив слой за грешка, имитиращ Google Play Store.
Въпреки това, дори ако жертвата успее да го деинсталира, атакуващият все още запазва шел достъп до устройството. Киберпрестъпникът може да използва локалната услуга като оръжие, за да проверява дали зловредният софтуер е инсталиран и да го инсталира отново, ако не го открие.
„Зловредният софтуер сериализира текущото дърво за достъпност на устройството в XML и комуникира с един от най-популярните асистенти с генеративен изкуствен интелект в света“, казва Zimperium. „Този AI се използва за незлонамерени действия, включително: определяне на координатните центрове на именувана цел върху екрана под формата на JSON за насочване на синтетични кликвания, определяне на действителния екранен текст на целта от XML, [и] подаване на автоматични навигационни команди като SCROLL_DOWN.“
Go агентът, изпълняван от APK файла, се маскира като системна библиотека („liblocal-service.so“), но използва придобития чрез локалния ADB демон шел достъп за изпълнение на команди, като по този начин позволява на зловредния софтуер да установи персистентност и да приложи изключения от управлението на захранването. FRP клиентът, от своя страна, се използва за създаване на сигурен, обратен тунел към сървър за управление и контрол (C2).
„Go агентът извлича конфигурацията за FRP тунела от C2 сървъра, позволявайки на FRP клиента да установи устойчив, активен обратен тунел към атакуващия“, казва изследователите. „Тази връзка се използва от атакуващите, за да имат достъп до ADB демона: тя е универсален път към устройството, който пренася всичко, което атакуващият поиска, независимо от собствения набор от функции на зловредния софтуер.“
Командите, издавани от C2 сървъра, са толкова разнообразни, колкото и богати на функции, като позволяват на авторите на заплахата да събират SMS съобщения, идентификационни данни, файлове, PIN, шаблон или парола за заключване на екрана, екранни снимки, натискания на клавиши (включително въведени URL адреси в адресната лента на уеб браузъра) и списък на инсталираните приложения. Също така в RatHat е вграден хардуерен кейлогър (keylogger), изпълняван от Go агента, който е способен да записва натисканията с пръст по екрана.
„Многостепенната архитектура на RatHat, разчитането на процеси извън жизнения цикъл и използването на цикли за вземане на решения с GenAI в реално време показват защо традиционните мобилни контроли за сигурност, базирани на сигнатури, са недостатъчни“, обобщава Zimperium.