Как стать root без прав: что пошло не так с защитой Ubuntu

Как стать root без прав: что пошло не так с защитой Ubuntu

В Ubuntu обошли ключевую защиту AppArmor.

image

В Ubuntu Linux обнаружены три способа обхода ограничений на пространства имён пользователей, позволяющих локальным атакующим повышать привилегии в системе. Несмотря на то, что защита была внедрена для предотвращения подобного рода атак, специалистам Qualys удалось обойти её разными методами, используя штатные инструменты системы.

Ограничения на пространства имён были введены в Ubuntu 23.10 и стали включены по умолчанию в версии 24.04. Они базируются на механизме AppArmor и направлены на то, чтобы запретить создание пространств имён с административными правами обычными пользователями. Напомним, что пространство имён (namespace) позволяет запускать процессы с root-привилегиями внутри изолированной среды, не имея таких же прав на хостовой системе.

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

Первый метод использует утилиту aa-exec, предназначенную для запуска программ под определённым профилем AppArmor. Некоторые профили, например trinity, chrome и flatpak, не запрещают создание привилегированных пространств имён. Запуск команды unshare через aa-exec под таким профилем позволяет обойти защиту.

Второй способ связан с оболочкой busybox, которая установлена по умолчанию в серверных и десктопных редакциях Ubuntu. Профиль безопасности для busybox позволяет создавать пользовательские пространства имён без ограничений. Запуск оболочки через busybox открывает путь к обходу защиты.

Третий способ базируется на использовании переменной среды LD_PRELOAD, с помощью которой можно внедрить свою библиотеку в доверенный процесс. К примеру, запуск интерактивной оболочки внутри файлового менеджера Nautilus, имеющего свободный профиль AppArmor, даёт возможность получить доступ к пространству имён с привилегиями.

Qualys уведомила команду безопасности Ubuntu о находке 15 января, согласовав координированный релиз. Однако один из обходов, связанный с busybox, был опубликован независимым исследователем 21 марта. Компания Canonical признала существование проблем и сообщила, что рассматривает их не как уязвимости, а как недоработки в механизме защиты. Поэтому обновления будут выпущены согласно обычному расписанию, без экстренных исправлений.

На официальном форуме Ubuntu были предложены рекомендации для администраторов, желающих усилить защиту. Среди них:

  • активация параметра kernel.apparmor_restrict_unprivileged_unconfined=1;
  • отключение слишком свободных профилей для busybox и Nautilus;
  • применение более жёсткого профиля для bwrap, если он используется.
  • использование утилиты aa-status для выявления и деактивации потенциально опасных профилей AppArmor.

Эксклюзивный стрим с хакерами мирового класса

15 апреля в 19:00 Hussein и Niksthehacker раскроют все карты.

Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887