В официальном магазине Google Play нередко под видом безобидных приложений прячутся всевозможные зловреды. К сожалению, даже многочисленные проверки площадки не всегда могут отследить их до публикации. Одна из самых популярных разновидностей таких зловредов — трояны-подписчики, которые скрытно от пользователя оформляют от его имени подписки на платные услуги. Мы уже писали о наиболее распространенных семействах таких троянов. В этом посте расскажем еще об одном. За схожесть и, вероятно, общие корни с уже известным Joсker это семейство получило название Harly (созвучно тому, как зовут соратницу знаменитого злодея из комиксов).
Немного о троянах Harly
С 2020 года в Google Play было обнаружено более 190 приложений, зараженных Harly. Судя по нижней границе данных по количеству скачиваний приложения в магазине, суммарно его установили более 4,8 миллиона раз. При этом реальное число скачиваний может быть намного больше.
Как и в случае Jocker, трояны семейства Harly имитируют легитимные приложения. Как это работает? Злоумышленники скачивают обычные приложения из Google Play и внедряют в них вредоносный код, после чего загружают их в магазин под другим именем. При этом приложения могут сохранять заявленные в описании функции, так что пользователь не подозревает о наличии угрозы.
Однако большинство представителей семейства Jocker являются многоуровневыми загрузчиками, то есть получают полезную нагрузку с командных серверов злоумышленников. А вот трояны семейства Harly сразу содержат всю полезную нагрузку внутри приложения и различными способами расшифровывают ее для запуска.
Как работает Harly — конкретный пример
В качестве примера рассмотрим приложение com.binbin.flashlight (md5: 2cc9ab72f12baa8c0876c1bd6f8455e7) — приложение-фонарик с количеством загрузок более 10 000.
При его запуске загружается подозрительная библиотека:
В ней происходит расшифровка файла из ресурсов приложения.
Интересно, что авторы зловредов научились писать на языках программирования Go и Rust — правда, пока только расшифровку и загрузку вредоносного SDK.
Как и другие трояны подобного рода, Harly собирает информацию об устройстве пользователя, в особенности о мобильной сети. Телефон пользователя переключается на мобильную сеть, после чего троян запрашивает у командного сервера конфигурацию и список подписок, которые необходимо оформить.
Рассматриваемый троян работает только с тайскими операторами, поэтому он проверяет MNC (коды мобильной сети) — уникальные идентификаторы операторов связи:
При этом в качестве тестового MNC используется код оператора China Telecom (46011). Вкупе с другими признаками это позволяет предположить, что разработчики зловреда находятся в Китае.
В невидимом окне троян открывает адрес подписки, с помощью инъекции JS-скриптов вводит номер телефона пользователя, нажимает нужные кнопки и подставляет проверочный код, извлеченный из пришедшего на телефон SMS. В результате без ведома пользователя на него оформляется подписка.
Еще одна интересная особенность этого трояна — он умеет оформлять подписки, защищенные не только SMS-кодом, но и телефонным звонком: троян совершает звонок по определенному номеру, подтверждая оформление подписки.
Наши продукты детектируют описанные в этом посте зараженные приложения с вердиктами Trojan.AndroidOS.Harly и Trojan.AndroidOS.Piom.
Как защититься от троянов-подписчиков
Официальные магазины приложений продолжают бороться с распространением зловредов, но, как мы видим, отнюдь не всегда успешно. Перед установкой приложения стоит внимательно почитать отзывы пользователей о нем и посмотреть на его оценку в Google Play — правда, следует помнить и о том, что отзывы и оценки могут быть накручены. Поэтому чтобы точно не нарваться на зловреда, рекомендуем установить надежную защиту.