Уязвимость ACI позволяла угонять контейнеры в облаке Azure

Уязвимость ACI позволяла угонять контейнеры в облаке Azure

Уязвимость ACI позволяла угонять контейнеры в облаке Azure

Корпорация Microsoft пофиксила облачную службу Azure Container Instances (ACI), закрыв возможность получения неавторизованного доступа к контейнерам других пользователей в пределах кластера Kubernetes. Данных об использовании новой проблемы со злым умыслом нет; затронутым подписчикам настоятельно рекомендуется отозвать ключи к привилегированным аккаунтам, введенные в оборот ранее 31 августа 2021 года.

Служба ACI позволяет запускать контейнеры в среде бессерверной обработки данных — пользователю не нужно в этом случае заботиться об инфраструктуре. При этом в целях безопасности соблюдается строгое разграничение клиентских групп контейнеров (модулей) в кластере.

Уязвимость, которую в Palo Alto Networks нарекли Azurescape, позволяет, по их словам, захватить контроль над многоклиентским кластером Kubernetes и выполнять вредоносные команды на разных узлах, а также воровать секретные данные и ISO-образы из чужих контейнеров. Для этого нужно лишь иметь аккаунт пользователя в том же кластере.

Как оказалось, в качестве инструмента для запуска контейнеров через ACI публичное облако Azure использует runC версии 1.0.0-rc2. Этому коду скоро минет пять лет, он  содержит известную уязвимость (CVE-2019-5736), позволяющую выйти за пределы контейнера.

Разработанная в Palo Alto атака проводится в несколько этапов: 

  • загрузка образа с эксплойтом в облако; 
  • побег из контейнера;
  • захват контроля над хост-системой (обратный шелл с root-доступом);
  • поиск в пространстве имен токена, обеспечивающего привилегированный доступ ко всем модулям Kubernetes;
  • захват контроля над целевыми контейнерами.

 

Исследователи также обнаружили в инфраструктуре ACI еще одну уязвимость — SSRF (возможность подмены запросов на стороне сервера). Ее эксплойт тоже грозит перехватом админ-контроля над многоклиентским кластером.

Атака Azurescape возможна только против Kubernetes. По оценке Palo Alto, такие кластеры Azure содержат около 37% недавно загруженных контейнеров, запускаемых с помощью ACI (в прошлом году Microsoft начала развертывать эту службу также в кластерах Service Fabric).

Разработчик сообщил, что проблема решена, затронутые пользователи получили нотификации, остальным беспокоиться не о чем. Мнительным клиентам Azure рекомендуется периодически сменять пароли к привилегированным аккаунтам.

Это уже вторая проблема Azure, обнародованная за последние две недели. В конце августа баг-хантеры из Wiz опубликовали подробности атаки на сервис Cosmos DB, позволившей им получить доступ к базам данных клиентов Microsoft.

Энтузиаст выпустил скрипт для быстрой установки защищённого MTProxy

Пользователь Хабра под ником aikendo рассказал о развитии собственного проекта MTProxy, опубликованного от имени lingeniare. Несмотря на одинаковые названия, это не официальный прокси-сервер Telegram и не его форк, а сторонний скрипт для автоматической установки и настройки MTProxy.

Автор решил избавить пользователей от ручной компиляции, редактирования конфигураций и других развлечений для тех, кому отчаянно не хватает терминала после работы. На выходе скрипт должен предоставить уже настроенный прокси для Telegram.

После первого релиза проект получил Fake TLS с указанием внешнего домена через параметр --domain. Механизм маскирует прокси-трафик под обычное TLS-соединение и помогает проходить системы глубокого анализа пакетов — DPI.

Архитектуру секретов тоже переработали. Вместо общего файла ключи разных пользователей хранятся раздельно в каталоге /etc/mtproxy/secrets.d. Сам прокси запускается от отдельной системной учётной записи mtproxy, а сервис systemd получил дополнительные ограничения по принципу наименьших привилегий.

Для защиты от перебора и сетевого флуда скрипт добавляет правила iptables с модулем hashlimit. Их можно сохранять после перезагрузки через netfilter-persistent. Интерфейс статистики теперь доступен только локально по адресу localhost:2398, чтобы служебные данные не торчали наружу без необходимости.

За стабильностью следит watchdog на базе таймера systemd: при сбое он перезапускает прокси. Скрипт также настраивает синхронизацию времени по NTP, поскольку рассинхронизация часов может сорвать MTProto-рукопожатие. Опционально доступен сетевой алгоритм BBR.

После установки проект выводит QR-код и прямую ссылку tg://proxy, поэтому подключение не требует ручного переписывания параметров. Исходный код открыт на GitHub.

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