
«Обновите приложение». Для большинства пользователей это привычное сообщение, а для хакеров - один из самых надежных и эффективных способ получить контроль над устройством. В этой статье разберем вредоносную кампанию, начавшуюся с apk, замаскированного под российский сервис. То, что сначала выглядело как очередная вариация банковского трояна, при ближайшем рассмотрении оказалось гораздо интереснее.
Содержание
С чего начинается реверс
Привет! Я Алексей Колесников из отдела экспертизы PT Sandbox. Мы постоянно изучаем актуальные угрозы для улучшения наших продуктов и защиты пользователей.
В огромном потоке файлов очень легко пропустить интересные семплы, но в данном случае мне повезло и глаз зацепился за, казалось, ничем не примечательную, картинку:

Что полезного на ней можно увидеть?
Сработала метка «Формат подделан» и вердикт по ней «apk.tampered». Рекомендую ознакомиться с отличной статьей, которая подробно раскрывает эту вредоносную технику: Beware of BadPack: One Weird Trick Being Used Against Android Devices;
Сохраняются непонятные файлы с расширением .png (файловые дропы);
Загрузка кода в память (dex-дампы);
Название «mir-pay.apk».
Перед тем как начать изучать файл, было выдвинуто предположение, что это еще одна скучная вариация вредоноса Mamont, поскольку имя намекает на известную систему платежей, которая часто встречалась в этом семействе.
Stage 1 - загрузчик
Рассмотрим подробнее образец - 4409052221924df581fb271d27acd7338c0efb5aea593ac811f4ffdb0abed7a6
При просмотре AndroidManifest.xml в jadx виден класс io.immense.gesture.Ipperfluid, который будет запущен перед основным кодом приложения.
Обычно при запуске происходит следующее:
Ставятся обработчики на глобальные исключения, чтобы эксперты могли определять, что пошло не так, и делать исправления;
Проводятся иные подготовительные действия;
Распаковывается код полезной нагрузки.

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

Также приложение практически не содержит реальных классов. Это точно свидетельствует, что полезная нагрузка была упакована, чтобы сбить обнаружение статическими средствами анализа, а значит нужно ее достать.

Анализировать каждый упаковщик и разбираться в его логике задача очень трудоемкая и скучная, поэтому для распаковки приложения воспользуемся поведенческим анализом в PT Sandbox:

Анализ загрузчика
Первое, что бросается в глаза при анализе – обилие захардкоженных русских слов. Причем самое интересное, что они встречаются не просто в тексте, а в логах.

Есть функционал, который создает уведомление об успешном обновлении приложения, после установки полезной нагрузки:

Внутри одного из Java-классов содержатся ссылки, которые ведут не просто на случайный управляющий сервер, а на вполне популярные и легитимные сервисы:

С таск-трекера Trello скачивается html-файл, который просит обновить приложение при запуске. И вот тут каждому пользователю стоит задумать о том, что за приложение он установил. Подход с фейковым обновлением очень любим во вредоносах под Android по двум причинам.
Он позволяет скрыть реальную вредоносную активность от антивирусных средств;
У пользователя на телефоне появится сразу два приложения, одно из которых часто будет скрыто и не отображено в лаунчере. А значит, пользователь о нем забудет. Как часто вы заходили в настройки телефона и проверяли список установленных приложений, м?

А через переадресацию с Яндекс.Метрики на другой таск-трекер скачивается следующая стадия полезной нагрузки:

Забавно, что нагрузки хостятся на сервисах для управления проектами. Управлять малварью действительно тяжело :)
Stage 2 - бэкдор
Рассмотрим apk, которое скачивается на предыдущем шаге.
Можно сразу выделить элементы, которые мы видели на первоначальном разборе:
Непонятные png-файлы (файловые дропы);
Динамически загружаемый код (dex-дамп);
Можно предположить, что используется аналогичная техника для упаковки приложения.

Распаковка полезной нагрузки
Рассмотрим AndroidManifest.xml, видим аналогичный рисунок, как в первой стадии:

По коду класса biz.require.casual.Jsliceturkey можно подтвердить, что используется похожий тип обфускации:

Для экономии времени (и нервов) снова воспользуемся песочницей и скачаем распакованный дамп.

Анализ бэкдора
При открытии распакованной нагрузки сразу видна приятная картинка с красивыми именами, по которым можно выделить основной функционал ВПО. Почему «красивыми»? Да просто глаз ревёрсера обычно радуется при виде отладочных символов, которые легко можно прочитать:

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

Сетевое взаимодействие
В интерфейсе продукта можно без глубокого анализа увидеть, что:
определяется информация об IP жертвы;
скачивается файл
random_val.txtс dropbox;отправляются данные на
cold-apple[.]com.

При открытии трафика, полученного из песочницы, в Wireshark видна и полезная нагрузка, которая отправляется на управляющий сервер:

Значение api_code захардкоженно, вероятно, по нему сервер понимает, какой RC4-ключ использовать для шифрования или расшифровки отправляемых и получаемых данных:

При расшифке видно, какая конкретно информация отправляется на управляющий сервер:


Trello в качестве хостинга вредоносного ПО
Изучим файлы в Trello, поскольку именно с него скачивалась полезная нагрузка. Не часто встретишь его во вредоносных кампаниях, поэтому исследуем поглубже.
По ссылке из вложения можно получить ссылку на доску:

Обзор карточек
Поглядим, что нам откроется по ссылке.

Открываем карточку «vtb drop» и видим, что полезная нагрузка в ней была создана 28.11.2024 и обновлена 23.03.2025. Это говорит не только о том, что на Trello очень эффективно хостить фишинговые html‑файлы, но и то, что авторы обновляют эти файлы.

Также можно найти две почти похожие версии html‑страниц с фейковым обновлением. Слева на рисунке ниже — html‑файл, который был в исследуемом образце, справа — целенаправленный фишинг на банковское приложение.

Не менее интересна карточка «injects». Судя по списку приложений в названии файлов на скриншоте ниже, становится ясно, что мы имеем дело с таргетированной атакой на пользователей из России (полный список доступен в секции с IOC).

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

Внутри каждого html-файла содержится похожий код, который через webview передается в код приложения и отправляется через бота:


Помимо прочего в html-файлах встречается фишинг, направленный на то, чтобы пользователь дал все необходимые разрешения для «работы» приложения:

Данное разрешение опасно тем, что немногие пользователи знают, что выдача доступа к «Специальным возможностям» фактически предоставляет полный доступ к пользовательской системе. Злоумышленник может полностью считывать информацию с экрана телефона (СМС, звонки, банковские данные и так далее), а также не давать удалить приложение, перехватывая управление.
Поэтому после выдачи этого разрешения обычному пользователю будет очень трудно избавиться от вредоносного приложения со своего телефона.
Активность на доске
Trello позволяет увидеть, кому принадлежит публичная доска, а также посмотреть активность владельца:

Активность пользователя alexsentov говорит о том, что автор(ы) вредоноса регулярно обновляют нагрузки и ведут активность на доске.

Архивные записи
По архивным записям мы увидели, что примерно с 21.02.2025 по 11.08.2025 полезные нагрузки активно загружались на доску таск-трекера:

Вероятно позже злоумышленники решили использовать связку из Яндекс.Метрика и (surprise!) еще одного таск-трекера, YouGile (может, Trello стал удалять образцы, поскольку в них стало обнаруживаться вредоносное ПО), которую и видно в исследуемом образце.
Атрибуция
На данном этапе у нас была уверенность, что мы имеем дело с новой кампанией, но не тут-то было!
Поиск по найденным IOCам приводит к двум упоминаниям похожих образцов от 2022 года из вредоносной кампании Falcon:
Образцы: 2022 vs. 2026
Индикаторы компрометации (IOCs):
4a9851b10361d4efc9657233aedfa3b0a0040ee016cc9891252d838b4e9ce0f2
6f475db05055d2ff4c12568b09bca5d272eaf157edde90fd7755c04d87b4f215
Обфускация
В образцах 2022 года используется тип обфускации, которая отличается от образцов 2026 года.

Cпособ загрузки распакованного кода образца 2026 года также отличается. С помощью Java-рефлексии вредоносный код подменяет системные поля JVM (Java Virtual Machine) для загрузки в память распакованной нагрузки.

Полезная нагрузка: сравнение версий
Отличается набор возможностей, который представлен в прошлой и новой версиях:

Спустя четыре года малварь обросла новыми возможностями:
ActivityRequestVnc - запись экрана пользователя;
ActivityStartMainService - постоянный перезапуск себя, чтобы приложение не было убито в фоне;
AllServiceFaApp - создание скрытого канала уведомлений и перезапуск через
alarm;CallReceiverFaApp - обработка входящих звонков;
DropperReceiverFaApp - запуск фонового сервиса, чтобы приложение не было убито в фоне;
MyMessagingService - обработка входящих СМС;
MyServiceReceiver - постоянный ping сервера с отправкой информации;
OpenRedirectActivity - сбор введенных пользователем данных через JavaScript-интерфейс и их отправка на C&C;
ScreenCaptureServiceFaApp - возможность создавать скриншоты экрана;
WhiteActivity - «окирпичивание» телефона посредством открытия произвольной HTML-страницы поверх экрана блокировки.
Как видите, со временем функционала у малвари стало больше и, что самое важное, он стал опаснее для конечного пользователя, так как теперь злоумышленники могут в любой момент получить полную информацию с телефона жертвы, а при необходимости забрать полное управление над устройством посредством «Специальных возможностей».
Помимо прочего, коллеги из Cyble упоминают URL вида /api/api.php?get_lend=, который сохранился в версии 2026 года:

get_lend в образце 2026 годаСовокупность вышеперечисленных факторов позволяет нам атрибутировать найденные образцы к Falcon: начиная с характерной цепочки атаки и заканчивая индикаторами компрометации. И как видим, хищник из расследования четырёхлетней давности становится всё более грозным и опасным.

Work In Progress
В процессе изучения этой кампании нам удалось получить свежие вариации этого семейства.
В мае этого года злоумышленники стали использовать в качестве хостинга полезной нагрузки уже другой отечественный сервис управления проектами.
По данным с Virustotal, файлы были загружены недавно (на момент написания этого материала). Примечательно, что имя скачиваемого вредоносного файла содержит названия популярных банков, поэтому в файловом менеджере пользователь может не заметить ничего необычного.

В свежих образцах используется новый вариант обфускации, который ранее не встречался в этом семействе.

При анализе полезной нагрузки, видна уже доработанная нагрузка с новыми классами PatternActivity и PinActivity:

Оба класса практически идентичны, создают фейковые экраны ввода PIN-кода или графического пароля, которые затем сохраняются локально на устройстве.


Помимо прочего, перед скачиванием нагрузки видно, что авторы стали использовать трекер от Mail.ru, вместо AppMetrica, как это было раньше:

Лето хакеров не останавливает и в июне авторы вредоноса продолжают активно его дорабатывать, расширяя функционал и экспериментируя с новыми видами фишинговых страниц. Появились новые фишинговые страницы, новые версии окон с вводом PIN-кода, графического пароля.

Также в новых версиях загрузчиков появилось шифрования строк, чтобы обойти детектирование антивирусными средствами:

А на Trello появилось больше карточек с расширенным набором артефактов:

Думаю, впереди нас ждет много интересного, и мы с коллегами продолжаем наблюдать. А ведь всё началось с того, что некий сомнительный образец просто попал в нашу песочницу...
Заключение
Все чаще обнаруживаются атаки, которые направлены конкретно на российских пользователей: Mamont, АИ-95 с вредоносной присадкой.
Общие рекомендации пользователям:
Не скачивать приложения с недоверенных ресурсов: случайные сайты, мессенджеры и т.п. лучше обходить стороной;
Даже если ресурс «легитимный» не стоит доверять на 100% тому, что было скачано с него, на них тоже могут располагаться вредоносные файлы;
Лучше перестраховаться и удалить приложение, которое сразу после установки запрашивает множество разрешений и требует обновиться для якобы корректной работы;
Ни в коем случае не выдавайте разрешение для доступа к «Специальным возможностям» устройства, это самая вкусная часть, за которой охотятся злоумышленники.
Иногда именно одно необдуманное нажатие кнопки «Обновить» становится первым шагом к полной компрометации устройства.
Индикаторы компрометации
C2
cold-apple[.]com/level/api/api.php
cold-grape[.]com/strong/api/api.php
cold-guava[.]com/melt/api/api.php
cold-kiwi[.]com/strong/api/api.php
teg[.]cold-mango[.]com
wss://mandarin[.]webtm[.]ru:8096/
https://home[.]xreholor[.]com/go/90f4ab78-a12f-4155-af45-867b86689567?subid=1a/level/api/api.php
https://behedcd[.]datespix[.]com/s/58188544cbf10
Аналогичные образцы
4409052221924df581fb271d27acd7338c0efb5aea593ac811f4ffdb0abed7a6
27ca3e454e38a202c2ff384e0fc1c99fda8a963a7826839a3c71158f0f9713db
eb7c077845bdd39444d7f65c858f15fc6adefbb67a48b8d4fa3efe6be95a07ae
0fe5afcd916918e38e6fc2f87c39aa8c5b73a85547956caab29f2cb7b151402e
27a142d7c2a9be7573378f3c341026a5736e95b74cd8b36cc81844ca0c5ea649
4a001383ef3f0da8809acc4c62c662652fafb386426a9236e4e92158d69465ed
5c0bbaac2e0c3f3e49b1a24ead099e1652932ed3a078b895d99bbcc76b7ba4e9
5cd0e81c954fdeea04c03bcd89ecc009e0cbb372ac15aafc19b359440b8933dd
d064660ed0b9778564473fa67dcdddef0493d351cf1a2f2f50feb675242d37a5
2ef1ddcbb30a48eb63f7b5c486b1931145e7530ce6c5ab67f5dfabbe7e8d27ac
fb8ad071389b5708717cc09f6c4843f789e4d5ea57ed585c5a0e37de8e4075ba
49cf676f9b6fa4da5523be8394761ae5dc219fed73338434fcab1faa82196415
479c93fe2d00e2caf420364ccea3bb9651d646a99b43def7b0c9275da3fa180f
c22392553b6b57e8b281b1df1727be512e96933d227caced87bd5ed85b67b5bd
9a7236e0b0577b49de8f290a2b601d028ec2219b8d5876339f97b71f8f8f3169
2091d75617912670ce8b6686d5b3d3e07dc7f37869d595e44ae11ba9c279bf9f
65abab8117587441a4635447eafc48c1ead5dbc9010548cc2df6a8c11d9b9a69
5014abda1bac4ec6b119fedb55cb3b1e5fb18512d89ac399152ec6e11e3eebd9
c41bfa8647336bfd47b645696f6ee5b09d93669f85a563af0acb2f7c2e3dfaf0
6e24fec4d3c8405bf6bc60e539ec80f97012e7ca99d6abd8a56752c717c6c6de
688ea3b8df0efb984f0fbff3816648ebd574239c299716fcf9df75a6b57e8f52
fcc04dfe3f8f1291850f6495344b3dc46a2e09048e1e501adc293a98ecb3de4b
Образцы 2022 года
4a9851b10361d4efc9657233aedfa3b0a0040ee016cc9891252d838b4e9ce0f2
6f475db05055d2ff4c12568b09bca5d272eaf157edde90fd7755c04d87b4f215
Список фишинговых inject-страниц
63ae191565752a13690bc44f55acf328facd0149a8ba0e67b7631f5dca95e3cb
23d7bb0020a71fe73666c8cfe46029f7a238ee510050d00a1124315b003933bc
16423a2b1278683710663ef29c586ce710d321be48f836b3f62bcaddbe047f29
3ae37e57b096530d544f715d9dce56891062fd4ca2f10da6d5bfa6debc04b785
0a1e1c4e82a46e43690f5b60b49f0be9c80beec959738fc201cd152a356c584f
cf572c2d49533e9784132708811ae24f214b37907d5e2af118646613d2947031
6f21c8eda045de18be720b1743da700a377c20c8d8f3f7abe88b7782ab633e25
9ac677fbae0a5f7c151e2958ed47eadab21f24889196eaff5d27bd1965a4b3b2
dcc1e4ade9e773161db83d9e0e0c3972939db3b8c3986034694c7e5bd11c932d
69df0bc6c9f1beef27a738c5f7ebc5fe231964103cb7737032239c7a5844ac16
4e33751b7c6e7d9f6972a3bf96bc6fde96daa59256b9bbd363abaf752e24833c
2207e6fb496c18772d713c546c463947d420111260d18f78b765f493d4ecfaa8
d241c8860d2fbb5cf4f8655eca74e6f49204ccb2cf06be90b35e3b3908f9e2d0
a8a130b5bc0b0754a447ca4ac75521d0cc3c7e378612ab08f0e156cdb99bb0e4
9ed92d3379068041c9e8f58f2540c5bfda0cb523448498f43f41cdae25e69c45
883abf6106a76f9f71c9a40571b076c3afb4916b0811d9160bf022bba7114f05
c01bd40ddc03a4712d4d1b9153a9e6d3ec1ed31a2c1e3db347ba25fbbb808b72
7a508df592a558617d3f1e33bfcd757186e4aca75c9c90841fe61f0fd72ed392
219aed704e5ca92e7ff869f088d6c4d5b9641976c07d87c2c85dbd54f963733a
10adb59aeab65104f960091b7e1bc185536d067f5009ebbdd7fb19b6bbbbdbfc
3e0011218c1f59a66636b5972b072c636db8a9708bc78678af07c0589204244e
95c5c3d0d9848b7dbb343c035b3a31598e47693f190cdf508938096eeab23a3b
825dc9eb8a0890cc5f559d5ba3abb3637b7d151e22a9b7d858c8a9c25146d90b
df7aa3018568ce037d9d297efcb7266fe75e7efab58fed294d61a9bf1bb33ace
fb29739356990750a48a3289661c43dab7f3139f623429f5deb590ef06e0e565
b575a42524400477c2b1b30995c685687219c54bdc527d9982fce224a6bf34a8
523c39ef6bb14f2ce227dc40e1ee6bda2763e34d2fea423635773fbbe1135f97
ab8ff8c3b0432fe49a0cff5ace0e6f4405deb4b737a9346c865ceb08461fba49
120881158ddf9cebd08d8ed6019b579e5c67e8054eafa4530d9d9176840b5e3e
aee855b5396f662779d127e8c5fb062816e0bd0229636e4a25eaa7d7aa29d9ab
8fcd586a6d6c4a2591a2411315f3ba7b35f13d5e1f0b390813840304519d220d
e7f7de5720fc7b3a8de2cfbb429579e227a37151ff533898f1839cbfd0c26e59
325d17d8e93e961208d461caa3d65bcd8433a261697e8cca55c98d8f221199a7
56894df253574a65bb065b7becf916eb931b08f570b87bf4cbbd36bd7aded6b0
f6bd3085638774949ce738553a2d1ed8b3c86b20f5ccb8d3c6a1d5283fb97abd
9a99f8aa3e908409ac6a0b8ab23353557207d9dc5ace4fe5070cfd2caaaffc49
0feb6296a4b91cd651862d5223af3e2dea4591b4df412634967405271ca15970
0feb6296a4b91cd651862d5223af3e2dea4591b4df412634967405271ca15970
e5a99c80276701865a5ace205665f47b51a0a07b2be05268ab7c39c38f18aff6
1a503e58efa15486e62e1362a8579ea8bce466af38503a72c8ceae74b6744184
5e05f51db1e3be02c49b183c163a6e86f0f7d65dbcd9c218e5c178fbe318a41f
fb5a5547888f85dd3c6772d6d4ebef026ac8f0515a5d66c3aaf435f1d3e34c52
a178dae613d43e82d01aad550182401637f3eac7d60a6a08ecc4647e49648856
334f4d4927bc473ba891ecda1f5f10e36976ecf85aa8cce93c3faab5929bffdb
9ace87966e83fba59587c25692556d58fd8bd8b0bd37ccbbd04f735b450d429d
2e94d5fe4d03b2511a94e4faac32582fb99376c2ad84b5d633c4f64648ae30b4
928e26e63b6356a686df26d2f9046d2e2df03d3fdc903e20a3d858ed55815108
ad9507ac615ed4c249f0616e7767106de2946120640100ce9bc0849fdefbdc9c
54558178e427dd9c69aea79b08adb2ff3a51b7d6b90c4fd9aeadf59336490cb3
d1ee65b515df9ab3a19ccf7cf09148d8992be36e73a8fad2e010c6303bdfe84b
3d02280093115ba83416c599eade9767b90874bec9a93b2e9345c89c04b8147c
7549f56c93dc37805ff1a3b3e64a0bf7cd5c9c268105850d1bbf281586dc6923