Вредоносные приложения в Google Play: как злоумышленники используют DNS-протокол для скрытой связи троянов с управляющими серверами
Задачей многих троянов Android.FakeApp является переход по ссылкам на различные сайты, и с технической точки зрения такие вредоносные программы довольно примитивны. При запуске они получают команду на открытие заданного веб-адреса, в результате чего установившие их пользователи вместо ожидаемой программы или игры видят на экранах своих устройств содержимое нежелательного сайта. Однако иногда среди таких подделок все же встречаются примечательные образцы — такие как Android.FakeApp.1669. От большинства подобных угроз он отличается использованием модифицированной библиотеки dnsjava, с помощью которой получает конфигурацию с вредоносного DNS-сервера, содержащую целевую ссылку. При этом такая конфигурация поступает ему только при подключении к интернету через определенных провайдеров — например, мобильного интернета. В иных же случаях троян никак себя не проявляет.
Android.FakeApp.1669 представлен большим числом модификаций, которые под видом тех или иных приложений распространяются в том числе через каталог Google Play. Так, известные в настоящий момент варианты трояна были загружены из официального электронного магазина ОС Android по меньшей мере 2 160 000 раз.
Примеры программ, в которых скрывался Android.FakeApp.1669
Ниже перечислены варианты Android.FakeApp.1669, которые вирусные аналитики «Доктор Веб» выявили в Google Play. Наши специалисты обнаружили больше троянских программ, но часть из них в этом магазине приложений уже отсутствует.
Название приложения | Число загрузок |
---|---|
Split it: Checks and Tips | 1 000 000+ |
FlashPage parser | 500 000+ |
BeYummy - your cookbook | 100 000+ |
Memogen | 100 000+ |
Display Moving Message | 100 000+ |
WordCount | 100 000+ |
Goal Achievement Planner | 100 000+ |
DualText Compare | 100 000+ |
Travel Memo | 100 000+ (удалена) |
DessertDreams Recipes | 50 000+ |
Score Time | 10 000+ |
При запуске Android.FakeApp.1669 выполняет DNS-запрос к управляющему серверу для получения TXT-записи, ассоциированной с именем целевого домена. В свою очередь, сервер отдает эту запись трояну, только если зараженное устройство подключено к Сети через целевых провайдеров, среди которых — провайдеры мобильного интернета. Такие TXT-записи обычно содержат сведения о домене и некоторую другую техническую информацию, однако в случае с Android.FakeApp.1669 в ней находится закодированная конфигурация для вредоносной программы.
Для отправки DNS-запросов Android.FakeApp.1669 использует модифицированный код Open Source-библиотеки dnsjava.
Все модификации трояна привязаны к конкретным доменным именам, что позволяет DNS-серверу передавать каждой из них свою конфигурацию. Более того, имена субдоменов целевых доменов уникальны для каждого зараженного устройства. В них закодированы данные об устройстве, в том числе чувствительные:
- модель и бренд устройства;
- размеры экрана;
- идентификатор (состоит из двух чисел: первое — время установки троянского приложения, второе — случайное число);
- заряжается ли батарея и каков текущий процент ее заряда;
- включены ли настройки разработчика.
Например, вариант Android.FakeApp.1669, который скрывается в приложении Goal Achievement Planner, при анализе запросил у сервера TXT-запись для домена 3gEBkayjVYcMiztlrcJXHFSABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]simpalm[.]com., вариант из программы Split it: Checks and Tips — запись для домена 3gEBkayjVYcMiztlrcJXHFTABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]revolt[.]digital., а вариант из DessertDreams Recipes — для домена 3gEBkayjVYcMiztlrcJXHFWABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]outorigin[.]com..
Пример TXT-записи целевого домена, которую DNS-сервер отдал при запросе через Linux-утилиту dig при анализе одной из модификаций Android.FakeApp.1669
Для расшифровки содержимого этих TXT-записей необходимо выполнить следующие шаги:
- перевернуть строку;
- декодировать Base64;
- разжать gzip;
- разбить на строки по символу ÷.
В результате получатся данные следующего вида (пример ниже относится к TXT-записи для приложения Goal Achievement Planner):
url
hxxps[:]//goalachievplan[.]pro
af_id
DF3DgrCPUNxkkx7eiStQ6E
os_id
f109ec36-c6a8-481c-a8ff-3ac6b6131954
В них содержится ссылка, которую троян загружает в WebView внутри своего окна поверх основного интерфейса. Эта ссылка ведет на сайт, запускающий длинную цепочку перенаправлений, в конце которой оказывается сайт онлайн-казино. В результате Android.FakeApp.1669 фактически превращается в веб-приложение, которое демонстрирует содержимое загруженного веб-сайта, а не ту функциональность, которая заявлена на странице приложения в Google Play.
Вредоносная программа вместо ожидаемой функциональности отобразила содержимое загруженного сайта онлайн-казино
В то же время, когда трояну доступно интернет-соединение не через целевых поставщиков (а также в офлайн-режиме), он работает как обещанная программа — при условии, если создатели той или иной модификации предусмотрели какую-либо функциональность на такой случай.
Троян не получил конфигурацию от управляющего сервера и запустился как обычная программа
Dr.Web Security Space для мобильных устройств успешно детектирует и удаляет все известные модификации Android.FakeApp.1669, поэтому для наших пользователей этот троян опасности не представляет.
Подробнее об Android.FakeApp.1669