Съдържание

Пълен курс по етично хакерство от нула до експерт
Хаквайте като „черни шапки“. Тестване за проникване, Kali Linux, WiFi и уеб хакерство, и хакерският начин на мислене зад тях.
Вашият банков PIN код изтече на живо, докато палецът ви все още беше върху клавиатурата. Вашият модел за отключване също. Повече от 30 банки. Европа, Канада и Персийския залив. Едно безплатно TV приложение от страница, която изглеждаше точно като магазина.
Започна с реклама.
Някой в Италия, Франция, Испания, Полша, Португалия, Канада или някоя от страните от Персийския залив е докоснал спонсорирана публикация за безплатно TV приложение. Тя е водила до страница, която копира официалния магазин чак до бутоните. Тази страница е била придирчива за това кого да пусне. Преглеждала е какво устройство държите и къде се намирате. Телефон в Италия е получавал италианската кампания. Компютър е получавал празна страница.
Предлаганото приложение е било TVTap, плейър за телевизионни канали, за които няма лиценз. То никога не е било в официалния магазин и никога няма да бъде, така че хората, които го искат, са свикнали да си го изтеглят от друго място. На този навик разчитат операторите. Това е причината тази примамка да работи там, където фалшиво банково приложение не би успяло.
Group-IB разглоби кампанията и публикува констатациите си тази седмица. Зловредният софтуер все още няма публично име, затова изследователите използват това, което неговият собствен оператор е написал в кода: RemControl. И той се предлага под наем. Всеки билд носи таг, който показва към кой партньор (affiliate) принадлежи и за коя държава работи: IT-NEW и IT-NEW4, FR-NEW и FR-NEW4, pt-v3, ARABIC2 и ARABIC3.
Първото нещо, което попада на телефона, е малко инсталационно приложение, показващо екран за актуализация за същия този TV плейър. Банковият троянски кон идва по-късно. Това инсталационно приложение прави три неща, и първото е частта, която не бях виждал преди.
- → Иска разрешение за настройка на VPN, след което изгражда такъв, който не води наникъде. Google Play Protect е скенерът, който Android пуска върху дадено приложение, докато то се инсталира. Неговият трафик отива в този празен тунел и никога не излиза от другата страна. Play Protect все още работи. Просто няма с какво да комуникира. Същият трик се появи и преди, в скорошна версия на ToxicPanda – далеч по-голяма операция с овърлеи за 349 банкови приложения, крипто приложения и портфейли в 16 държави.
- → Приложенията носят сигнатура, а скенерите търсят сигнатури, които са виждали преди. Затова инсталаторът прави съвсем нова на място, в Android Keystore, и подписва злонамерения код с нея. Два телефона, заразени с разлика от един час, завършват с две различни сигнатури. Търсенето на познат файл не дава нищо. При по-новите билдове кодът вътре в този злонамерен код също стои криптиран, като ключът се извлича от сертификата, създаден момент по-рано. Дайте на анализатор файла самостоятелно и той няма да може да го отвори. Нуждае се от сертификата от точно този телефон.
- → Инсталира злонамерения код чрез сесийно-базирания инсталатор на пакети на Android, и този избор е нарочен.
Тази трета стъпка заобикаля ограничение, добавено от Google в Android 13. Нарича се Restricted Settings (Ограничени настройки) и идеята зад него беше добра. Приложение, което инсталирате сами извън магазин, няма право да включи услугата за достъпност (Accessibility Service). Това единствено разрешение е онова, към което се стремят почти всички банкови зловредни софтуери, затова Google го блокира за външно заредени (sideloaded) приложения.
Android разпознава приложение от магазин от такова, което сте инсталирали сами, по начина, по който е пристигнало. Магазините инсталират чрез нещо, наречено сесийно-базиран инсталатор. Външно заредените приложения обикновено не правят така.
Така че операторите използваха също това. Те зареждат външно инсталатора, а този инсталатор поставя злонамерения код на телефона по начина, по който би го направил магазин. Доколкото системата може да прецени, този злонамерен код е дошъл от магазин, така че той получава възможност да поиска достъпност.
Този маршрут също не е нов. ThreatFabric го документира през ноември 2023 г. в дропер като услуга (dropper-as-a-service), наречен SecuriDropper, и го обясни с прости думи: магазините използват сесийно-базирания метод, а външното зареждане – не. Три години по-късно същият метод все още работи.
Group-IB не посочва кои версии на Android са засегнати от това. Android 13 и 14 имат това ограничение във вида, в който бе написано първоначално, и точно него този трик заобикаля. Android 15 постави нещо отгоре – Enhanced Confirmation Mode (Подобрен режим на потвърждение), който работи по списък с разрешени приложения (allowlist), идващ с фабричния образ в /system/etc/sysconfig. На 13 и 14 този трик работи. Какво прави на 15, никое изследване все още не е отговорило.
След това идва диалоговият прозорец за разрешения.
Услугата за достъпност (Accessibility Service) е там за хора, които не виждат добре екрана или не могат да използват ръцете си по начина, по който очаква дадено приложение. За да извърши тази работа, тя трябва да чете какво има на екрана, да знае кое приложение е отпред, както и да докосва и пише от ваше име. Това е същият списък, който един атакуващ би написал, ако можеше да поиска каквото си поиска. Android го предава с един превключвател.
- → RemControl следи кое приложение преминава на преден план. Появява се банково приложение и върху него се зарежда уеб страница на цял екран. Телефонът никога не съхранява този фалшив екран. Той го изтегля от сървъра в момента, в който е необходим, на адрес
/overlay/{result_id}. Ако разглобите устройството след това, няма да откриете никаква фишинг страница. Те имат готова такава за повече от 30 банки. - → Android има вграден начин за заснемане на съдържанието на екрана:
takeScreenshot(), добавен в Android 11 при API ниво 30, за да може да се използва от приложения за достъпност. Той не издава звук и не оставя нищо на екрана. RemControl го използва като камера, кодира кадрите като WEBP и ги изпраща. - → Заедно с всеки кадър той изпраща дървото за достъпност (accessibility tree) като JSON. Операторът вижда кое поле е за PIN кода и кой бутон го потвърждава, директно от самия оформление (layout) на приложението.
- → Той записва кликвания, промени в текста, промени във фокуса и селекции в приложенията на телефона.
- → Той разпознава екрана за отключване с шаблон (pattern lock) при десет от най-често срещаните базирани на Android системи, сред които стандартен AOSP, Samsung One UI, Xiaomi MIUI, Huawei, OPPO ColorOS и OnePlus. След това записва начертаната мрежа.
- → Той изпраща въвеждане обратно в другата посока: докосвания (taps), продължителни натискания, плъзгания (swipes), превъртания, жестове и въведен текст. Операторът може да управлява телефона, докато той лежи с екрана надолу върху масата.
- → Той също така решава кои приложения все още имат достъп до интернет. С една команда,
set_app_blocklist, вашето банково приложение е отрязано от мрежата, докато това не му е удобно. - → Друга команда,
change_udid, заменя идентификатора, който телефонът докладва обратно. Инфектираното устройство отпада от неговия списък и се появява отново като ново.
И когато собственикът започне да подозира нещо, той не може да стигне до настройките. RemControl следи на повече от 30 езика за всяко движение към управление на приложенията, настройките за достъпност или фабрично нулиране. В момента, в който един от тези екрани се появи, той задейства действие за връщане назад (back action) и екранът изчезва, преди пръстът да го достигне.
Командите пристигат през Telegram. В кода се намират две връзки към канали. RemControl отваря тази страница на канала, търси в HTML кода за маркерна дума и прихваща всичко, което се намира между две нейно копия. Това, което се получава, е Base64, а под Base64 се намира AES-128-CBC криптиране. Ключът и началната стойност произлизат от SHA-256 хеш на същата тази маркерна дума, така че конфигурацията носи собствен ключ. Редактирайте публикацията в Telegram и зловредният код ви последва към нов сървър. Маркерът, намерен в пробите:
Оттам той отваря WebSocket към bnbnhura[.]top, домейн, регистриран на 12 май 2026 г. и разположен зад Cloudflare. Ping на интервали от двадесет секунди поддържа връзката отворена, а ако сокетът прекъсне, той преминава обратно към обикновен HTTP.
Панелът, от който работи операторът, се намира на домейн, наречен от него definatelynoone[.]com. С правописните грешки и всичко останало.
В него: списък с инфектирани телефони, редактор за фалшивите банкови екрани, преглеждач за полученото съдържание. Система от макроси му спестява многократното въвеждане на едни и същи команди. Записвач на сесии възпроизвежда екрана на жертвата кадър по кадър. Система за изграждане генерира ново приложение за всеки партньор (affiliate), със собствено име и икона.
Сега за хората зад това. Cleafy свърза набор от droppers, използващи същата конвенция за наименуване instal*tvtap*.apk, с банковия троянец Medusa през 2024 г., под партньорска ботнет мрежа с етикет UNKN. Етикетът, твърдо кодиран (hardcoded) в RemControl, е UNKK. Разлика от една буква, същата техника на мъртва точка (dead-drop), същите държави. Group-IB го определя като възможна връзка и спира дотук, както правя и аз. В киберсигурността атрибуцията е един от най-трудните проблеми. Етикетите могат да бъдат копирани. Кодът се препродава. Това, което знаем със сигурност, е как работи зловредният код, а не кой е седял зад клавиатурата.
Който и да е създал овърлеите, е оставил следи. Бележки на руски език се намират директно в текста на няколко от страниците, оставени по време на редактирането. Изображенията в тези овърлеи съдържат Photoshop метаданни с часова зона на създаване осем часа преди UTC и дати на създаване през април 2026 г. Това е три месеца преди първата проба да се появи във VirusTotal на 19 юли.
В долната част на един от фишинг овърлеите на живо, който все още се изпраща към жертвите, Group-IB открива пълен отговор от AI асистент, който някой е поставил по грешка. Бележки за това какво е изградено, обобщение на промените и заключителен ред, предлагащ допълнителни настройки.
Качете се едно ниво нагоре до документацията на API на панела на оператора. Тя нарича фишинг овърлеите викторинни отговори, жертвата – човек, гледащ викторината, а други функции – родителски контрол. Който и да е създал това, е казал на чатбота, че прави приложение за викторини с някои функции за родителски контрол, получил е работещ код и го е пуснал, без да почисти след себе си.
Фалшивите страници съдържат два Meta Pixel проследяващи идентификатора. Някой е платил, за да постави тези връзки за изтегляне пред хората. На 16 септември съд във Франкфурт реши, че Meta носи отговорност за измамни реклами на трети страни на своите платформи, тъй като нейното класиране решава кой и кога вижда дадена реклама. Решението не е окончателно. Две отделни истории, с разлика от една седмица, и двете завършват с реклама, за която някой е платил.
Какво да направите, ако нещо от това ви се струва познато:
- → Погледнете лентата със състоянието (status bar). Иконата на ключ означава, че е активна VPN връзка. Ако вие не сте стартирали такава, го е направило нещо друго.
- → Настройки, Достъпност, Изтеглени приложения. Изключете всичко, което не разпознавате.
- → Ако екранът с настройки продължава да се връща назад, преди да можете да го докоснете, рестартирайте в безопасен режим (safe mode). Приложенията на трети страни не работят там, така че зловредният код не може да ви изхвърли и можете да го деинсталирате.
- → Променете паролата си за банковото приложение от друго устройство, а не от инфектираното.
- → Обадете се на вашата банка на номера, отпечатан на картата ви, а не на номер, който се е появил на екрана ви.
- → Не въвеждайте PIN код в екран, който се е отворил сам.
Индикаторите за проверка на устройство или прокси логове:
- → Страници за изтегляне:
tvtap-hd[.]app|tvtap-liveapp[.]com/dl.php|vpn[.]doneplay[.]site|ff-de[.]shutgpt[.]ir|vpn[.]askarzadeh[.]com|cdn[.]dlmafi[.]top|216[.]126[.]229[.]216 - → Управляващ сървър:
bnbnhura[.]top - → Панел на оператора:
definatelynoone[.]com|157[.]90[.]179[.]116 - → Маркерен низ, използван за разопаковане на конфигурацията:
numeraZZZas
От рекламата до PIN кода, тази верига зависи от един диалогов прозорец за разрешение. Android показва този диалогов прозорец с добра причина. Останалото е Android, правещ точно това, за което е създаден.
Атаки като тази са изградени от обикновени разрешения и единственият начин да ги разберете е да ги изпробвате в собствената си лаборатория. Моят пълноценен курс „Етично хакерство от нулата до експерт“ ви превежда стъпка по стъпка: разузнаване, сканиране, експлоатация и анализ на трафика, практически, от първия ви ден, без да са необходими познания по Linux или хакерство.
→ Присъединете се към моя пълен курс по етично хакерство
Хакерството не е хоби, а начин на живот.
Group-IB | ThreatFabric | Zimperium