T1552.007: API контейнера
Злоумышленники могут собирать учетные данные через API в контейнерной среде. API в таких средах, например API Docker и Kubernetes, позволяют пользователю удаленно управлять ресурсами контейнеров и компонентами кластеров.
Получив доступ к API Docker, злоумышленники могут собирать журналы, содержащие учетные данные для доступа к облачным, контейнерным и другим ресурсам в этой среде. Получив достаточные разрешения, например через учетную запись службы модуля, злоумышленник может использовать API Kubernetes для извлечения учетных данных с сервера API Kubernetes. Среди них могут быть учетные данные, необходимые для аутентификации в API Docker, или секреты из компонентов кластера Kubernetes.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
Существует возможность собирать учетные данные, используя API контейнеров. Так, например, для Kubernetes это возможно сделать, выполнив следующие команды: kubectl get secrets -n #{namespace} kubectl --context kind-atomic-cluster exec atomic-pod -- cat /run/secrets/kubernetes.io/serviceaccount/token Таким образом, для указанного выше случая аналитику рекомендуется выполнять мониторинг событий запуска процесса kubectl с одним из паттернов в командной строке: "get secrets", "/run/secrets/kubernetes.io/serviceaccount/token"
Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»
Способы обнаружения
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Настройте централизованное ведение журналов, регистрирующих данные об активности компонентов контейнеров и кластеров Kubernetes. Отслеживайте в журналах записи о действиях, направленных на сбор учетных данных для доступа к контейнерной и облачной инфраструктуре, в том числе о совершении вызовов API с целью изучения окружения новыми пользователями или пользователями, которые обычно этого не делают, а также о доступе к журналам Docker через API. |
---|
ID | DS0002 | Источник и компонент данных | Учетная запись пользователя: Аутентификация с помощью учетной записи | Описание | Можно обнаружить использование злоумышленниками учетных данных, например полученных из существующих учетных записей. |
---|
Меры противодействия
ID | M1026 | Название | Управление привилегированными учетными записями | Описание | Используйте принцип наименьших привилегий для привилегированных учетных записей, таких как учетная запись службы в Kubernetes. Например, если модуль не нужен для доступа к API Kubernetes, по возможности вообще отключите учетную запись службы. |
---|
ID | M1035 | Название | Ограничение доступа к ресурсам по сети | Описание | Ограничьте взаимодействие со службой контейнера управляемыми и защищенными каналами, такими как локальные сокеты Unix или удаленный доступ через SSH. Требуйте безопасного доступа к портам для связи с API по TLS, отключив неаутентифицированный доступ к Docker API и Kubernetes API Server. В кластерах Kubernetes, развернутых в облачных средах, используйте встроенные функции облачной платформы для ограничения диапазонов IP-адресов, которым разрешен доступ к серверу API. По возможности включите доступ к API Kubernetes по принципу "точно в срок" (JIT), чтобы установить дополнительные ограничения на доступ. |
---|
ID | M1030 | Название | Сегментация сети | Описание | Используйте сетевые прокси-серверы, шлюзы и межсетевые экраны, чтобы запретить прямой удаленный доступ к внутренним системам. |
---|
ID | M1018 | Название | Управление учетными записями | Описание | Внедрите аутентификацию и управление доступом на основе ролей для API контейнера, чтобы пользователи имели минимально необходимые им привилегии. При использовании Kubernetes избегайте предоставления пользователям разрешений с метасимволами или добавления пользователей в группу |
---|