Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Запрет SELinux на загрузку модулей ядра можно обойти через init_module

Американец Шон Пеше (Sean Pesce) представил свой способ обхода SELinux, позволяющий выполнить любой код на уровне ядра. Опубликован PoC-код, с помощью которого можно отключить все ограничения на доступ, реализуемые через этого охранника.

В Linux для загрузки модулей ядра используются два системных вызова: finit_module и init_module. Как оказалось, дополняющая DAC и ACL система SELinux реагирует только на finit, а использование init не отслеживает.

Это открытие Пеше сделал, когда на досуге экспериментировал с неназванным Linux-устройством архитектуры ARM. Получив шелл-доступ с привилегиями root, исследователь попытался выполнить ряд действий из пространства пользователя (смонтировать файловую систему, получить доступа к определенным файлам и т. п.) и обнаружил, что они невозможны из-за включенной защиты SELinux.

Затем он попытался выполнить кастомный код уровня ядра с помощью утилиты insmod (использует системный вызов finit_module). Правила SELinux заблокировали загрузку, и Пеше решил попытать счастья с загрузкой не с диска, а из буфера в памяти, то есть использовать init_module.

Походящий готовый лоадер нашелся, и после его доработки трюк сработал. Испытатель даже смог с его помощью полностью отключить защиту SELinux. Для демонстрации метода создан PoC-эксплойт, который при наличии ограниченного root-доступа позволяет выполнить код на уровне ядра.

В Android подобный контроль доступа к ресурсам и файлам используется, начиная с версии 4.3. Возможность обхода SELinux недавно была выявлена в шпионском дуэте Predator – Alien.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

38 млн скачиваний: 224 приложения на Android превратились в фабрику кликов

Исследователи раскрыли масштабную мошенническую кампанию с рекламой на Android, получившую название SlopAds. Всего в магазине Google Play удалось выявить 224 вредоносных приложения, которые генерировали более 2,3 млрд рекламных запросов в день. Эти программы скачали свыше 38 млн раз пользователи из 228 стран.

Название SlopAds появилось так: приложения выглядели как «потоковый контент», массово наштампованный, а часть из них имитировала сервисы и инструменты с ИИ-тематикой.

Если пользователь устанавливал приложение напрямую из Google Play, оно выглядело безобидным и выполняло заявленную функциональность. Но если установка происходила через рекламную кампанию злоумышленников, приложение подключалось к удалённому серверу через Firebase, загружало зашифрованные настройки и получало ссылки на вредоносные модули.

 

Ключевой элемент схемы — скрытая загрузка злонамеренного APK, зашифрованного в картинках PNG с использованием стеганографии. На устройстве изображения собирались в единый модуль FatModule, который запускал скрытые WebView, выдавая бесконечный поток фейковых показов и кликов по рекламе.

До 30% всего мошеннического трафика приходилось на США, 10% — на Индию и 7% — на Бразилию. В общей сложности атакующие ежедневно «накручивали» более 2 млрд рекламных показов. Для этого они использовали сотни доменов и сеть серверов управления, что говорит о планах дальнейшего расширения операции.

Все обнаруженные приложения уже удалены из Google Play. Кроме того, в Google Play Protect обновили систему защиты, чтобы предупредить пользователей о необходимости удалить SlopAds-программы со своих устройств.

Однако исследователи предупреждают: учитывая высокий уровень маскировки и изощрённость схемы, злоумышленники наверняка попытаются вернуться с новыми атаками.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru