Один из распространенных способов заработка для киберпреступников — скрытая подписка пользователя на платные услуги. На сегодняшний день нам известно несколько семейств мобильных троянцев, специализирующихся на таких подписках. Чаще всего они оплачивают от лица пользователя легитимные услуги, а злоумышленники получают процент от потраченных денег. Деньги за такие подписки, как правило, списываются со счета телефона.
Чтобы подписаться на интересующую его услугу, пользователь в нормальной ситуации должен посетить страницу контент-провайдера и нажать на ней кнопку «Подписаться». Поскольку приложения-подписчики умеют имитировать нажатия этой кнопки, поставщики услуг иногда требуют код подтверждения, который отправляют в SMS. В других случаях, чтобы усложнить автоматизацию подписки, контент-провайдеры используют капчу, а некоторые из них анализируют трафик и блокируют мошеннические подписки с помощью антифрод-решений. Однако существуют зловреды, которые могут обходить по меньшей мере один из этих способов защиты.
Jocker: СМС-вор в Google Play
Троянцы семейства Trojan.AndroidOS.Jocker умеют перехватывать коды из SMS и обходить антифрод-решения. Обычно эти зловреды распространяются через Google Play: злоумышленники скачивают из магазина «чистые» приложения, добавляют в них вредоносный код и загружают в магазин под другим именем. В большинстве случаев модифицированные приложения выполняют свои оригинальные функции, и пользователь не догадывается об источнике угрозы.
Для обхода проверок Google Play троянец отслеживает, опубликовано ли зараженное им приложение. Если оно все еще находится на стадии тестирования, вредоносная функциональность не активируется.
Проверка наличия приложения в Google Play
Хотя приложения с троянцем ежедневно удаляются из магазина, на их место тут же заливаются новые. Например, на скриншотах ниже можно видеть модифицированные приложения для обмена SMS, отслеживания артериального давления и сканирования документов с помощью камеры телефона, которые в конце февраля еще были доступны в Google Play.
Слева направо: приложение для отправки SMS (d3d8dbb9a4dffc1e7007b771e09b5b38), приложение для мониторинга артериального давления (ab168c7fbfa2f436d7deb90eb5649273) и приложение для сканирования документов (77a6c1c2f782c699d1e73a940f36a527)
Функциональность Jocker
Попав на устройство, зараженное приложение запрашивает доступ к SMS, если это предусматривает его легитимная функциональность. В остальных случаях оно запрашивает доступ к уведомлениям. Во всплывающих уведомлениях о входящих сообщениях содержится в том числе текст этих сообщений — соответственно, доступ к уведомлениям позволяет зловреду перехватывать коды подтверждения подписки.
При запуске зловред скачивает и запускает новый файл, который наследует разрешения от зараженного приложения. В первых версиях троянец сразу загружал приложение, оформляющее подписки. Сейчас Jocker представляет собой многоуровневый загрузчик.
Загрузка полезной нагрузки Jocker первой стадии. Злоумышленники называют свое ПО SDK
Запуск первой стадии
Для обхода детектирования злоумышленники используют разные варианты первоначального загрузчика с разными способами запуска полезной нагрузки. При этом полный процесс доставки полезной нагрузки на зараженное устройство может состоять из последовательной загрузки четырех файлов, из которых только последний отвечает за основную функциональность подписчика.
Запуск полезной нагрузки (SDK) второй стадии
Запуск основной полезной нагрузки (SDK) подписчика
Собственно подписчик работает по стандартной схеме: получает от C&C адрес страницы с подпиской и открывает ее в невидимом пользователю окне. После загрузки страницы троянец внедряет в нее скрипты, которые запрашивают оформление подписки и подтверждают ее с помощью полученного в SMS кода.
Код основной полезной нагрузки Jocker
Также в коде основного SDK присутствует функциональность, направленная на обход антифрод-систем. В частности, зловред может подменять заголовок HTTP-запроса X-Requested-With, по которому можно определить, какое именно приложение запрашивает подписку. Кроме того, Jocker может и блокировать или подменять антифрод-скрипты.
Подмена антифрод-скрипта
География атак Jocker
С января 2021 года по март 2022-го Jocker чаще всего атаковал пользователей из Саудовской Аравии (21,20%). На втором месте Польша (8,98%), на третьем — Германия (6,01%).
Также в десятку стран с наибольшим числом пользователей, столкнувшихся с Jocker, вошли Малайзия (5,71%), Объединенные Арабские Эмираты (5,50%), Швейцария (5,10%), ЮАР (4,12%), Австрия (3,96%), Россия (3,53%) и Китай (2,91%).
MobOk обходит капчу
Еще один троянец-подписчик Trojan.AndroidOS.MobOk также впервые был обнаружен в зараженном приложении в Google Play. Однако сейчас этот зловред распространяется в основном как полезная нагрузка другого троянца — Triada, который присутствует в предустановленных (чаще всего системных) приложениях на некоторых моделях телефонов, а также встраивается в популярные приложения (например, магазин приложений APKPure или модификацию мессенджера WhatsApp).
Принцип действия Trojan.AndroidOS.MobOk аналогичен принципу, в соответствии с которым работает герой предыдущего раздела: страница подписки открывается в невидимом окне, и в нее подставляется код подтверждения, похищенный из SMS. Если зловред загружает Triada, он наследует доступ к SMS от него, а если MobOk распространяется сам, он, как и Jocker, запрашивает доступ к уведомлениям.
MobOk отличается от Jocker тем, что умеет обходить и CAPTCHA. Для распознавания кода на картинке троянец отправляет ее на специальный сервис.
Отправка изображения на сервис распознавания и получение распознанного кода
География атак MobOk
Больше всего пользователей, столкнувшихся с троянцами MobOk с января 2021 по март 2022 года, находилось в России (31,01%). На втором месте Индия (11,17%), а за ней с небольшим отрывом следует Индонезия (11,02%).
На четвертой и пятой строчках находятся Украина (8,31%) и Алжир (5,28%). Также в десятку стран, где троянец был наиболее активен, вошли Мексика (2,62%), Бразилия (1,98%), Германия (1,63%), Турция (1,43%) и Малайзия (1,27%).
Vesub — остерегайтесь подделок
Троянец Trojan.AndroidOS.Vesub распространяется через неофициальные источники под видом популярных игр и приложений, например GameBeyond, Tubemate, Minecraft, GTA5, Vidmate.
Примеры поддельных приложений
В большинстве поддельных приложений полностью отсутствует легитимная функциональность: сразу после запуска они приступают к оформлению подписки, а пользователь видит окно загрузки приложения. Однако в некоторых случаях, например в поддельном GameBeyond, помимо зловреда мы обнаружили случайный набор работающих игр.
Процесс оформления подписки у Vesub аналогичен предыдущим случаям: зловред открывает невидимое окно, запрашивает подписку и подставляет код из SMS.
География атак Vesub
Два из пяти пользователей, столкнувшихся с троянцами Vesub, находились в Египте (40,27%). Также это семейство было активно в Таиланде (25,88%) и Малайзии (15,85%).
GriftHorse.l: плата за невнимательность
Все описанные выше приложения подписывают пользователя на легитимные, хотя и ненужные ему услуги сторонних провайдеров. Однако бывают и зловреды, которые оформляют подписку на «услуги» самих злоумышленников.
Оформить такую подписку можно, просто невнимательно прочитав пользовательское соглашение о предоставлении платной услуги. Например, в Google Play в последнее время активно распространяются приложения, предлагающие составить индивидуальный план похудения всего за 29 рублей.
После запуска приложение предлагает пройти опрос.
Затем открывается страничка, сообщающая пользователю, что идет создание индивидуального плана.
После этого остается только оплатить услугу и получить свой план похудения, который злоумышленники обещают выслать по электронной почте.
Если прокрутить страницу оплаты вниз, то можно увидеть, что доступ к «сервису» предоставляется по подписке с использованием автоплатежа. То есть с банковского счета пользователя будут регулярно и без подтверждения списываться деньги.
То, что приложения подписывают пользователя на регулярные платежи, подтверждают и отзывы в Google Play. Причем многие жалуются, что отменить подписку через эти приложения невозможно, а некоторые отмечают, что и план похудения после оплаты не получили.
Решения «Лаборатории Касперского» детектируют такие приложения как Trojan.AndroidOS.GriftHorse.l. Также наши исследователи обнаружили сайты, оформляющие подписки по аналогичной схеме. Эти сайты предлагали доступ к более широкому набору материалов — например, курсам по офисным программам или по заработку на онлайн-маркетплейсах.
География атак GriftHorse.l
Мы наблюдаем активность троянца GriftHorse.l с 25 января 2022 года. Большую часть образцов GriftHorse.l решения «Лаборатории Касперского» обнаружили на устройствах пользователей из России (81,37%). Второй страной по количеству затронутых пользователей стала Саудовская Аравия (6,07%), а третьей — Египет (1,91%).
GriftHorse.ae: дайте свой телефончик
Троянец Trojan.AndroidOS.GriftHorse.ae, хотя и относится к тому же семейству, что и GriftHorse.l, ведет себя совершенно иначе. Зловред выдает себя за приложения для восстановления удаленных файлов, редактирования фотографий и видео, моргания вспышкой при входящем звонке, навигации, сканирования документов, перевода и тому подобного. Однако на практике все, что умеют эти приложения — запрашивать номер телефона якобы для входа и оформлять подписку при нажатии кнопки «Войти». Это самый простой вид подписки — она оплачивается с мобильного счета, и для ее оформления достаточно номера телефона жертвы. На что именно подписывают пользователей троянцы GriftHorse.ae, неизвестно.
Экран «входа» в приложение
Распространяется GriftHorse.ae, как и его родственник, через Google Play. Злоумышленники загружают в магазин огромное количество однотипных приложений в расчете на то, что хотя бы часть из них будет некоторое время доступна пользователям.
География атак GriftHorse.ae
Троянец GriftHorse.ae впервые попал на наши радары 10 марта 2022 года. Среди пострадавших за неполный месяц пользователей 43,57% находились в России, 22,95% — в Саудовской Аравии, а еще 6,14% — в Омане.
На четвертой и пятой строчках находятся Польша (4,39%) и Беларусь (3,22%).
Общая статистика по атакам троянцев-подписчиков
С января 2021 года по март 2022-го наиболее активным из троянцев-подписчиков, рассмотренных в этом посте, был MobOk. С ним столкнулось 74,09% пользователей мобильных решений «Лаборатории Касперского», атакованных рассмотренными в этой статье зловредами. Троянцы Jocker были заблокированы на устройствах 17,16% пользователей, а наименее активными были представители семейств Vesub (3,57%) и GriftHorse (3,53% пользователей столкнулись с GriftHorse.l и 2,09% — с GriftHorse.ae). Однако стоит отметить, что последнее семейство новое и его активность еще только набирает обороты.
География атак троянцев-подписчиков
Большинство пользователей, столкнувшихся с троянцами-подписчиками, находилось в России (27,32%), Индии (8,43%), Индонезии (8,18%), Украине (6,25%) и Саудовской Аравии (5,01%).
Заключение
Троянцы-подписчики умеют обходить защиту от ботов на сайтах платных услуг, а иногда подписывают пользователя на собственные несуществующие услуги.
Чтобы избежать нежелательных подписок, старайтесь не устанавливать приложения из неофициальных источников: именно через них чаще всего распространяются зловреды. При установке приложений из Google Play также стоит проявлять внимательность: читать отзывы, узнавать информацию о разработчике, условия использования и оплаты. В частности, для отправки SMS лучше выбирать приложения с большой историей и положительными отзывами.
Даже если вы уверены в приложении, не стоит выдавать ему слишком много разрешений. Доступ к уведомлениям предоставляйте только тем программам, которым он необходим для реализации их функциональности (например, приложениям для передачи уведомлений на носимые устройства). Каталогам обоев, фоторедакторам и т. д. доступ к уведомлениям не нужен.
Индикаторы заражения (MD5)
Trojan.AndroidOS.Jocker
d3d8dbb9a4dffc1e7007b771e09b5b38
ab168c7fbfa2f436d7deb90eb5649273
77a6c1c2f782c699d1e73a940f36a527
34c60a3034635cc19c110a14dcfd2436
8cccfb60aeeb726916f4937c0a702e6a
Trojan.AndroidOS.MobOk
b73d2205a2062a51727e22e25a168cef
Trojan.AndroidOS.Vesub
1b833cc7880d5f1986d53692b8a05e3c
2cfbbc61a71d38fc83c50dc18d569b77
6e07381626d69f4710d7979dff7bff2a
3395101b243993f4969c347e5feb8f65
aebe1da0134b40fdcfc3adea18a50b8a
Trojan.AndroidOS.GriftHorse.l
07d6d7a15b94a6697db66364f1e79a85
11a1446bd6265b66e13f097ecfd195d8
Trojan.AndroidOS.GriftHorse.ae
1b987b970d1274e44a66769c4a453462
1cefe439d7c533cf8ed689dd41ab35c4
1d264d1eff33cff04dd04680db13a7d0
1eb9c7af96fcefb9e6070ee8c1720aa3
1f3baf400abaafd99fd3c0d630ad75ea
3a9829a5a62dda630f6b1e2d3371f9ae
3cece1bcf65ec7befd5eef8aa2fc70cb
3ed41d81c15f6479ec0e0bca69c5c55f
4bd04b372cf9eb00230d761eafb02218
5a6b67fa0d911f4858b0f00dc46c58fd
5a7ab3c12c01e7c9c0a58ef7be536ca9
5b5427b6310480a23e64cebfb757fffe
5d9c9d7725ea4e47fc319384b2f88dad
5ddd4d0321a29a5e8699b703b4165df8
6b336d8e9b459d937046475945d0c976
06d5eea04cfaa637e6b78f2ff22b7e7a
6dba0f2972d412f768f1c332777753f9
6e76a7b223754a27197c73cb815505d6
6ede369b56d7f405849e0e2263fc5d95
6f6391157fe40d78be21a145cb8fdc0a
7ad06772f92688d331e994febe77d56f
7d068d99bab6873750fc81444980d084
7def5fccad7d3f9ef0c6f54140f63cf9
7eccd4b190bac4f9470afa975cdab5e2
Обман за ваши деньги: хитрости мобильных троянцев-подписчиков