Запрет 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, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Новый Android-троян Sturnus перехватывает сообщения в WhatsApp, Telegram

Исследователи ThreatFabric предупредили о появлении нового банковского Android-трояна под названием Sturnus. Несмотря на то что вредонос ещё находится в разработке, он уже полностью работоспособен и представляет собой заметно более продвинутую угрозу, чем большинство современных Android-троянов.

Главная опасность Sturnus в том, что он умеет перехватывать сообщения из Signal, WhatsApp (принадлежит Meta, признанной экстремистской и запрещённой в России) и Telegram — причём уже после расшифровки.

Троян просто считывает всё, что появляется на экране, используя специальные системные возможности (Accessibility). Таким образом он обходит сквозное шифрование и получает прямой доступ к перепискам.

Помимо шпионажа за мессенджерами, Sturnus использует HTML-оверлеи (наложенные окна) для кражи банковских данных и поддерживает полноценный удалённый контроль устройства через VNC-сессию.

По данным ThreatFabric, троян маскируется под приложения Google Chrome или Preemix Box. Способ распространения пока неизвестен.

После установки Sturnus связывается с командным сервером, проходит криптографическую регистрацию и создаёт два защищённых канала:

  • HTTPS — для передачи команд и украденных данных;
  • AES-защищённый WebSocket — для VNC, живого мониторинга и управления.

Получив права Device Administrator, троян может отслеживать изменения пароля, блокировать устройство и мешать пользователю удалить себя. Без ручного отзыва этих прав удалить Sturnus практически невозможно — даже через ADB.

Когда пользователь открывает WhatsApp, Telegram или Signal, Sturnus получает доступ к:

  • содержимому сообщений;
  • набираемому тексту;
  • именам контактов;
  • всей переписке в реальном времени.

 

Фактически это даёт злоумышленникам доступ к конфиденциальным чатам, даже если они защищены сквозным шифрованием.

VNC-режим позволяет злоумышленнику нажимать кнопки, вводить текст, прокручивать экран и перемещаться по интерфейсу телефона. При необходимости включается чёрная «маска», чтобы пользователь ничего не видел.

Под её прикрытием могут выполняться:

  • денежные переводы в банковских приложениях;
  • подтверждение МФА;
  • изменение настроек;
  • установка дополнительного софта;
  • любые другие действия от лица пользователя.

Исследователи также показали пример поддельного окна «обновления системы Android», которое Sturnus выводит, чтобы скрыть вредоносную активность.

 

ThreatFabric отмечает, что Sturnus пока используется ограниченно, вероятно, в тестовых кампаниях. Но его архитектура рассчитана на масштабирование, а набор функций соответствует «топовым» Android-троянам.

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

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