-
SHA1 упакованного троянца: 75df0fb24519d6f2b30f6df990d856e2ce905c73 (детектируется как Android.Click.770)
SHA1 после распаковки: cf9b1bcb547886f1a00c7b40fd45bc838ce31175 -
SHA1 упакованного троянца: 40627a814ed839689ac28f3a6077aa2cd72b8f8f (детектируется как Android.Click.773)
SHA1 после распаковки: 941fec51d6fccd7476f524b0c75826bd40dd0ca6
Android-кликер, предназначенный для подписки пользователей на дорогостоящие мобильные услуги. Впервые был обнаружен в каталоге Google Play, где распространялся под видом безобидных программ, таких как сборники изображений для рабочего стола и приложений-фотокамер. Все известные модификации троянца упакованы Jiagu.
После добавления в программы-носители Android.Click.322.origin встраивается в присутствующие в них пакеты известных библиотек, такие как SDK от Facebook и Adjust. Тем самым троянец мимикрирует под них. Примеры сервисов и активностей кликера, зарегистрированных в manifest.xml после внедрения в приложение, показаны ниже.
Имитация SDK Facebook:
<activity android:name="com.facebook.appevents.FacebookLogin">
</activity>
<activity android:name="com.facebook.appevents.FacebookPermission">
</activity>
<service android:name="com.facebook.appevents.FacebookEvent" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService">
</action>
</intent-filter>
</service>
Имитация SDK Adjust:
<activity android:name="com.adjust.sdk.LoginActivity" />
<activity android:name="com.adjust.sdk.PermissionActivity" />
<service android:name="com.adjust.sdk.ActivityEvent" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
При запуске Android.Click.322.origin запрашивает доступ к уведомлениям:
Получив разрешение, троянец сможет скрывать от пользователя уведомления о входящих СМС-сообщениях и перехватывать их содержимое.
Android.Click.322.origin отправляет на сервер http://**.***.78.239 следующие данные о зараженном устройстве:
- appId — идентификатор приложения с троянцем;
- carrier — название мобильного оператора;
- condition — тип интернет-соединения;
- country — страна пользователя согласно настройкам устройства;
- deviceId — идентификатор устройства;
- imsi — идентификатор SIM-карты;
- plmn — идентификатор мобильной сети;
- requestTime — время отправки запроса;
- url — тип запроса;
- version — модель устройства.
Затем троянец проверяет, относится ли SIM-карта потенциальной жертвы к одной из следующих стран:
- Австрия
- Италия
- Франция
- Таиланд
- Малайзия
- Германия
- Катар
- Польша
- Греция
- Ирландия
Если соответствие найдено, он передает на сервер http://**.***.78.239 информацию о привязанном к SIM-карте номере мобильного телефона. Для этого используется стандартный системный класс TelephonyManager. При этом жителям определенных стран из списка троянец показывает фишинговую активность FacebookLogin, в которой предлагает ввести номер телефона или авторизоваться с использованием учетной записи Google:
В первом случае вредоносная программа получает и передает на сервер номер, введенный жертвой самостоятельно. Во втором случае он берется из com.google.android.gms.auth.api.credentials.Credential после авторизации.
Если SIM-карта не связана с целевыми странами, далее троянец не предпринимает никаких действий.
После отправки данных о номере Android.Click.322.origin запрашивает команды у сервера, расположенного по адресу http://***.***.8.243:8998. В ответном сообщении сервера содержится ссылка на веб-сайт, который необходимо загрузить троянцу, а также специальный JavaScript-файл.
Получив задание, троянец создает невидимый элемент View с невидимым WebView в нем. Далее он загружает заданный веб-сайт в этом WebView, после чего сообщает об успешной загрузке на сервер http://**.***.78.239. После загрузки сайта Android.Click.322.origin загружает в WebView полученный ранее скрипт.
Этот скрипт работает через интерфейс JavascriptInterface. Он способен выполнять следующие действия:
- getop() — получить данные оператора мобильной связи пользователя;
- test(String str) — показать Toast с заданным текстом;
- upload(String param1, String param2) — передать заданную информацию на сервер http://**.***.78.239;
- finish() — удалить View, содержащее WebView, отменить регистрацию BroadcastReceiver, который получает данные об СМС из уведомлений; отправить новый Intent, повторно запускающий процесс получения команды от сервера.
Одновременно с созданием невидимого WebView вредоносная программа инициализирует широковещательный приемник (BroadcastReceiver), который отслеживает намерения (Intent) от троянского сервиса FacebookEvent. Этот сервис контролирует установленное по умолчанию приложение для работы с СМС. Каждый раз при поступлении входящего сообщения сервис скрывает соответствующее системное уведомление и создает Intent с информацией о содержимом полученного сообщения. Затем троянский BroadcastReceiver получает этот Intent и пересылает перехваченный текст СМС на сервер http://**.***.78.239. Таким образом троянец обходит ограничения системы и получает доступ к СМС без необходимых для этого стандартных разрешений.
Android.Click.322.origin самостоятельно нажимает на необходимые элементы на загружаемых сайтах, скрывает СМС с кодами подтверждения и подписывает пользователей на премиум-услуги.