T1552.007: API контейнера

Злоумышленники могут собирать учетные данные через API в контейнерной среде. API в таких средах, например API Docker и Kubernetes, позволяют пользователю удаленно управлять ресурсами контейнеров и компонентами кластеров.

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

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

pt_cs: PT-CR-2863: PTCS_Kubernetes_SA_Token_Read: Получен доступ к токену Kubernetes. С помощью такого токена злоумышленники могут пройти аутентификацию в API Kubernetes и выполнить команды или развить атаку в кластере

Способы обнаружения

IDDS0002Источник и компонент данныхУчетная запись пользователя: Аутентификация с помощью учетной записиОписание

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

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Настройте централизованное ведение журналов, регистрирующих данные об активности компонентов контейнеров и кластеров Kubernetes. Отслеживайте в журналах записи о действиях, направленных на сбор учетных данных для доступа к контейнерной и облачной инфраструктуре, в том числе о совершении вызовов API с целью изучения окружения новыми пользователями или пользователями, которые обычно этого не делают, а также о доступе к журналам Docker через API.

Меры противодействия

IDM1026НазваниеУправление привилегированными учетными записямиОписание

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

IDM1035НазваниеОграничение доступа к ресурсам по сетиОписание

Ограничьте взаимодействие со службой контейнера управляемыми и защищенными каналами, такими как локальные сокеты Unix или удаленный доступ через SSH. Требуйте безопасного доступа к портам для связи с API по TLS, отключив неаутентифицированный доступ к Docker API и Kubernetes API Server. В кластерах Kubernetes, развернутых в облачных средах, используйте встроенные функции облачной платформы для ограничения диапазонов IP-адресов, которым разрешен доступ к серверу API. По возможности включите доступ к API Kubernetes по принципу "точно в срок" (JIT), чтобы установить дополнительные ограничения на доступ.

IDM1030НазваниеСегментация сетиОписание

Используйте сетевые прокси-серверы, шлюзы и межсетевые экраны, чтобы запретить прямой удаленный доступ к внутренним системам.

IDM1018НазваниеУправление учетными записямиОписание

Внедрите аутентификацию и управление доступом на основе ролей для API контейнера, чтобы пользователи имели минимально необходимые им привилегии. При использовании Kubernetes избегайте предоставления пользователям разрешений с метасимволами или добавления пользователей в группу system:masters, а также используйте RoleBindings вместо ClusterRoleBindings для ограничения привилегий пользователей конкретными пространствами имен.