11 миллионов устройств заражены вредоносным ботнетом, размещенным в Google Play

11 миллионов устройств заражены вредоносным ботнетом, размещенным в Google Play


11 миллионов устройств заражены вредоносным ботнетом, размещенным в Google Play

Пять лет назад исследователи сделали мрачное открытие — легитимное приложение Android в магазине Google Play, которое было тайно сделано вредоносным с помощью библиотеки, которую разработчики использовали для получения дохода от рекламы. При этом приложение было заражено кодом, который заставил 100 миллионов зараженных устройств подключиться к контролируемым злоумышленниками серверам и загрузить секретные полезные нагрузки.

Теперь история повторяется. Исследователи из той же московской российской компании по безопасности сообщили в понедельник, что обнаружили два новых приложения, загруженных из Play 11 миллионов раз, которые были заражены одним и тем же семейством вредоносных программ. Исследователи из Kaspersky считают, что за это снова несет ответственность вредоносный набор разработчика ПО для интеграции рекламных возможностей.

Умное ремесло

Комплекты разработчика ПО, более известные как SDK, — это приложения, которые предоставляют разработчикам фреймворки, которые могут значительно ускорить процесс создания приложений за счет оптимизации повторяющихся задач. Непроверенный модуль SDK, встроенный в приложения, якобы поддерживал показ рекламы. За кулисами он предоставлял множество передовых методов для скрытой связи с вредоносными серверами, на которые приложения загружали пользовательские данные и скачивали вредоносный код, который можно было выполнить и обновить в любое время.

Семейство скрытных вредоносных программ в обеих кампаниях известно как Necro. На этот раз некоторые варианты используют такие методы, как стеганография, метод обфускации, редко встречающийся в мобильных вредоносных программах. Некоторые варианты также используют хитрые методы для доставки вредоносного кода, который может работать с повышенными системными правами. После заражения устройств этим вариантом они связываются с контролируемым злоумышленником сервером управления и контроля и отправляют веб-запросы, содержащие зашифрованные данные JSON, которые сообщают информацию о каждом скомпрометированном устройстве и приложении, размещающем модуль.

Сервер, в свою очередь, возвращает ответ JSON, содержащий ссылку на изображение PNG и связанные метаданные, включающие хэш изображения. Если вредоносный модуль, установленный на зараженном устройстве, подтверждает правильность хеша, он загружает изображение.

Модуль SDK «использует очень простой стеганографический алгоритм», — пояснили исследователи «Лаборатории Касперского» в отдельном посте. «Если проверка MD5 прошла успешно, он извлекает содержимое файла PNG — значения пикселей в каналах ARGB — с помощью стандартных инструментов Android. Затем метод getPixel возвращает значение, младший байт которого содержит синий канал изображения, и обработка начинается в коде».

Исследователи продолжили:

Если рассматривать синий канал изображения как массив байтов размерности 1, то первые четыре байта изображения — это размер закодированной полезной нагрузки в формате Little Endian (от младшего байта к старшему). Далее записывается полезная нагрузка указанного размера: это JAR-файл, закодированный с помощью Base64, который загружается после декодирования через DexClassLoader. Coral SDK загружает класс sdk.fkgh.mvp.SdkEntry в JAR-файл с помощью собственной библиотеки libcoral.so. Эта библиотека была обфусцирована с помощью инструмента OLLVM. Начальной точкой или точкой входа для выполнения внутри загруженного класса является метод run.

Некрокод, реализующий стеганографию.
Увеличить / Некрокод, реализующий стеганографию.

Касперский

Последующие полезные нагрузки, которые устанавливаются, загружают вредоносные плагины, которые можно смешивать и подбирать для каждого зараженного устройства, чтобы выполнять различные действия. Один из плагинов позволяет коду запускаться с повышенными системными правами. По умолчанию Android запрещает привилегированным процессам использовать WebView, расширение ОС для отображения веб-страниц в приложениях. Чтобы обойти это ограничение безопасности, Necro использует хакерскую технику, известную как атака отражения, для создания отдельного экземпляра фабрики WebView.

Этот плагин также может загружать и запускать другие исполняемые файлы, которые заменят ссылки, отображаемые через WebView. При запуске с повышенными системными правами эти исполняемые файлы могут изменять URL-адреса для добавления кодов подтверждения для платных подписок, а также загружать и выполнять код, загруженный по ссылкам, контролируемым злоумышленником. Исследователи перечислили пять отдельных полезных нагрузок, с которыми они столкнулись при анализе Necro.

Модульная конструкция Necro открывает множество способов поведения вредоносного ПО. Kaspersky предоставил следующее изображение, которое дает общее представление.

Диаграмма заражения Necro Trojan.
Увеличить / Диаграмма заражения Necro Trojan.

Касперский

Исследователи обнаружили Necro в двух приложениях Google Play. Одним из них было Wuta Camera, приложение с 10 миллионами загрузок на сегодняшний день. Версии Wuta Camera с 6.3.2.148 по 6.3.6.148 содержали вредоносный SDK, который заражает приложения. С тех пор приложение было обновлено для удаления вредоносного компонента. Отдельное приложение с примерно 1 миллионом загрузок, известное как Max Browser, также было заражено. Это приложение больше не доступно в Google Play.

Исследователи также обнаружили, что Necro заражает множество приложений Android, доступных в альтернативных магазинах. Эти приложения обычно позиционировали себя как модифицированные версии легитимных приложений, таких как Spotify, Minecraft, WhatsApp, Stumble Guys, Car Parking Multiplayer и Melon Sandbox.

Людям, которые обеспокоены тем, что они могут быть заражены Necro, следует проверить свои устройства на наличие индикаторов заражения, перечисленных в конце этой статьи.



Новости Blue 789

Leave a Reply

Your email address will not be published. Required fields are marked *