Специалисты «Доктор Веб» обнаружили в каталоге Google Play малварь, позволявшую дистанционно управлять инфицированными Android-устройствами и следить за пользователями. Вредоносная программа получила идентификатор Android.Backdoor.736.origin и распространялась под видом приложения OpenGL Plugin, якобы предназначенного для проверки версии графического интерфейса OpenGL ES и загрузки его обновлений.
При запуске малварь запрашивает доступ к нескольким важным системным разрешениям, которые позволят ему собирать конфиденциальную информацию и работать с файловой системой. Кроме того, пытается получить допуск к показу экранных форм поверх интерфейса других программ:
- android.permission.ACCESS_COARSE_LOCATION;
- android.permission.READ_CONTACTS;
- android.permission.GET_ACCOUNTS;
- android.permission.READ_PHONE_STATE;
- android.permission.READ_EXTERNAL_STORAGE;
- android.permission.WRITE_EXTERNAL_STORAGE.
В окне вредоносного приложения имеется кнопка для «проверки» обновлений OpenGL ES. После ее нажатия троян имитирует процесс поиска новых версий OpenGL ES, однако на самом деле никаких проверок он, конечно, не выполняет и лишь вводит пользователя в заблуждение.
После того как жертва закрывает окно приложения, бэкдор скрывает свой значок с главного экрана и создает ярлык для своего запуска. Это делается для того, чтобы в дальнейшем пользователю было сложнее удалить вредоноса, так как удаление ярлыка не затронет саму малварь.
Бэкдор постоянно активен в фоновом режиме и может запускаться не только через значок или ярлык, но также автоматически при старте системы и по команде злоумышленников через Firebase Cloud Messaging.
Основной вредоносный функционал трояна скрыт во вспомогательном файле, который зашифрован и хранится в каталоге с ресурсами программы. Он расшифровывается и загружается в память при каждом запуске. Бэкдор поддерживает связь с несколькими управляющими серверами (http://wand.gasharo********.com, http://heal.lanceb*******.com), откуда получает команды и куда отправляет собранные данные.
Малварь может выполнять следующие действия:
- передать на сервер информацию о контактах из телефонной книги;
- передать на сервер информацию об SMS-сообщениях (в исследованной версии трояна для этого нет необходимых разрешений);
- передать на сервер информацию о телефонных вызовах;
- передать на сервер информацию о местоположении устройства;
- загрузить и запустить apk- или dex-файл с использованием класса DexClassLoader;
- передать на сервер сведения об установленных программах;
- скачать и запустить исполняемый файл;
- загрузить файл с сервера;
- отправить заданный файл на сервер;
- передать на сервер информацию о файлах в заданном каталоге или о файлах на карте памяти;
- выполнить shell-команду;
- запустить активность, заданную в команде;
- загрузить и установить Android-приложение;
- показать уведомление, заданное в команде;
- запросить заданное в команде разрешение;
- передать на сервер список разрешений, предоставленных троянцу;
- не позволять устройству переходить в спящий режим в течение заданного времени.
Все передаваемые на сервер данные шифруются алгоритмом AES. Каждый запрос защищается уникальным ключом, который генерируется с учетом текущего времени. Этим же ключом шифруется ответ сервера.
Исследователи пишут, что троян способен устанавливать приложения сразу несколькими способами:
- автоматически, если в системе есть root-доступ (с использованием shell-команды);
- при помощи системного менеджера пакетов (только для системного ПО);
- показав стандартный системный диалог установки программ, где пользователь должен согласиться на инсталляцию.
Таким образом, малварь не только занимается кибершпионажем, но также может использоваться для фишинга, так как способна показывать окна и уведомления с любым содержимым. Кроме того, бэкдор может загружать и устанавливать любые другие вредоносные приложения, а также выполнять произвольный код.
Компания «Доктор Веб» уведомила корпорацию Google об угрозе, и в настоящий момент вредоносное приложение уже удалено из Google Play.