Xakep #305. Многошаговые SQL-инъекции
Специалисты «Доктор Веб» сообщают, что обнаружили в магазине Google Play очередную партию приложений, зараженных малварью семейства FakeApp. Отмечается, что суммарно приложения загрузили не менее 2 160 000 раз, а один из образцов малвари использовал DNS для скрытой связи с управляющими серверами.
Исследователи напоминают, что основной целью многих троянов Android.FakeApp (даже просто FakeApp) является переход по ссылкам на различные сайты, и с технической точки зрения эти вредоносы достаточно примитивны. Так, при запуске они получают команду на открытие заданного URL, в результате чего установившие их пользователи вместо ожидаемой программы или игры видят на экранах своих устройств содержимое нежелательного сайта.
Отдельное внимание специалистов привлек образец Android.FakeApp.1669, который отличает использованием модифицированной библиотеки dnsjava, с помощью которой троян получает конфигурацию с вредоносного DNS-сервера, содержащую целевую ссылку. Отмечается, что конфигурация поступает только при подключении к интернету через определенных провайдеров (например, мобильного интернета). В других обстоятельствах троян никак себя не проявляет.
По словам исследователей, эта вариация FakeApp имеет множество модификаций, которые маскируются под различные приложения и распространяются, в том числе, через официальный магазин Google Play. Так, известные варианты трояна были загружены из официального магазина для Android по меньшей мере 2 160 000 раз.
Ниже перечислены лишь некоторые варианты 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+ |
При запуске эта версия FakeApp выполняет DNS-запрос к управляющему серверу для получения TXT-записи, ассоциированной с именем целевого домена. В ответ сервер отдает эту запись трояну, только если зараженное устройство подключено к сети через целевых провайдеров. Для отправки DNS-запросов троян использует модифицированный код опенсорсной библиотеки dnsjava.
Такие TXT-записи обычно содержат сведения о домене и некоторую другую техническую информацию, однако в этом случае там содержится закодированная конфигурация для работы малвари.
Все модификации трояна привязаны к конкретным доменным именам, что позволяет DNS-серверу передавать каждой из них свою конфигурацию. Более того, имена субдоменов целевых доменов уникальны для каждого зараженного устройства. В них закодированы данные об устройстве:
- модель и бренд устройства;
- размеры экрана;
- идентификатор (состоит из двух чисел: первое — время установки троянского приложения, второе — случайное число);
- заряжается ли батарея и каков текущий процент ее заряда;
- включены ли настройки разработчика.
Например, вариант трояна из приложения Goal Achievement Planner, при анализе запросил у сервера TXT-запись для домена 3gEBkayjVYcMiztlrcJXHFSABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]simpalm[.]com, вариант из приложения Split it: Checks and Tips — запись для домена 3gEBkayjVYcMiztlrcJXHFTABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]revolt[.]digital, а вариант из DessertDreams Recipes — для домена 3gEBkayjVYcMiztlrcJXHFWABDgJaFNNLVM3MjFCL0RTU2Ftc3VuZyAg[.]outorigin[.]com.
Для расшифровки содержимого этих TXT-записей необходимо выполнить следующие шаги: перевернуть строку, декодировать Base64, разжать gzip и разбить на строки по символу ÷.
В результате получатся данные следующего вида (пример относится к TXT-записи для приложения Goal Achievement Planner):
url
hxxps[:]//goalachievplan[.]pro
af_id
DF3DgrCPUNxkkx7eiStQ6E
os_id
f109ec36-c6a8-481c-a8ff-3ac6b6131954
То есть получается ссылка, которую троян загружает в WebView внутри своего окна, поверх основного интерфейса. Ссылка ведет на сайт, запускающий длинную цепочку перенаправлений, в конце которой оказывается сайт онлайн-казино.
В результате вредонос фактически превращается в веб-приложение, которое демонстрирует содержимое загруженного сайта, а не ту функциональность, которая изначально заявлена на странице приложения в Google Play.
При этом, когда трояну доступно интернет-соединение не через целевых поставщиков, а также при работе в режиме офлайн, он работает как было заявлено (при условии, что создатели той или иной модификации малвари предусмотрели какую-либо функциональность на такой случай).