Некро Троян
В 2019 году исследователи кибербезопасности обнаружили тревожную проблему: легитимное приложение Android в магазине Google Play было скомпрометировано сторонней библиотекой, используемой разработчиками для получения дохода от рекламы. Эта модификация привела к тому, что 100 миллионов устройств были подключены к серверам, контролируемым злоумышленниками, которые затем развернули скрытые полезные нагрузки.
Похожая ситуация снова возникла. Эксперты Infosec выявили два новых приложения, загруженных 11 миллионов раз из Google Play, которые заражены одним и тем же семейством вредоносных программ. Похоже, что снова виноват небезопасный комплект разработки ПО, используемый для интеграции рекламных функций.
Оглавление
Что такое SDK?
Комплекты разработки программного обеспечения (SDK) предлагают разработчикам готовые фреймворки, которые упрощают и ускоряют процесс создания приложений, выполняя рутинные задачи. В этом случае в приложения был интегрирован непроверенный модуль SDK, который, по-видимому, был разработан для поддержки показа рекламы. Однако под поверхностью он включал расширенные методы скрытого взаимодействия со скомпрометированными серверами. Это позволяло приложениям загружать пользовательские данные и вредоносный код, который можно было выполнить или обновить в любое время.
Как трояны Necro заражают устройства?
Семейство вредоносных программ, стоящих за обеими кампаниями, называется Necro, и в этом случае некоторые варианты используют передовые методы, такие как стеганография — редкий метод обфускации в мобильных угрозах. Некоторые варианты также используют сложные методы для доставки мошеннического кода, способного работать с повышенными системными привилегиями. После заражения устройства оно связывается с контролируемым злоумышленником сервером Command-and-Control. Он отправляет зашифрованные данные JSON, которые сообщают подробности о скомпрометированном устройстве и приложении, в котором размещен мошеннический модуль.
Затем сервер отвечает сообщением JSON, которое включает ссылку на изображение PNG и метаданные, содержащие хэш изображения. Если модуль на зараженном устройстве проверяет хэш, он переходит к загрузке изображения.
Исследователи объяснили, что модуль SDK использует простой стеганографический алгоритм. После прохождения проверки MD5 он извлекает содержимое файла PNG, в частности значения пикселей из каналов ARGB, используя стандартные инструменты Android. Метод getPixel извлекает значение, в котором младший байт содержит синий канал изображения, и вредоносная программа начинает свою обработку оттуда.
Троян Necro может привести к серьезным последствиям
Последующие полезные нагрузки, установленные вредоносным ПО, загружают мошеннические плагины, которые можно настроить для каждого зараженного устройства для выполнения различных действий. Один из таких плагинов позволяет коду выполняться с повышенными системными привилегиями. Обычно Android ограничивает привилегированные процессы от использования WebView — компонента для отображения веб-страниц в приложениях. Чтобы обойти это ограничение, Necro использует технику, известную как атака отражения, для создания отдельного экземпляра фабрики WebView.
Кроме того, этот плагин может загружать и выполнять другие файлы, которые изменяют ссылки, отображаемые через WebView. С повышенными системными правами эти исполняемые файлы могут изменять URL-адреса для вставки кодов подтверждения для платных подписок и загрузки и запуска кода из контролируемых злоумышленником ссылок. Исследователи выявили пять различных полезных нагрузок во время своего анализа Necro. Кроме того, модульная структура Necro предоставляет множество способов для работы вредоносного ПО.
Троян Necro был обнаружен в двух приложениях
Исследователи обнаружили Necro в двух приложениях в Google Play. Одно из них, Wuta Camera, собрало 10 миллионов загрузок. Версии 6.3.2.148 — 6.3.6.148 Wuta Camera содержали вредоносный SDK, ответственный за заражения, но с тех пор приложение было обновлено для устранения вредоносного компонента. Другое приложение, Max Browser, с приблизительно 1 миллионом загрузок, также было скомпрометировано; однако оно больше не доступно в Google Play.
Кроме того, исследователи обнаружили, что Necro заражает ряд приложений Android, предлагаемых на альтернативных торговых площадках. Эти приложения обычно представляют собой модифицированные версии легитимных приложений, включая Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer и Melon Sandbox.