0Pricing
Ethical Hacking Academy · Урок

Ошибки конфигурации IAM

Роли с чрезмерными разрешениями

«Ошибки конфигурации IAM» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.

Почему IAM — настоящий периметр

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

  • Пользователи, роли и служебные учётные записи являются идентичностями
  • Политики определяют разрешения
  • Неправильно настроенные политики — главный риск облака

Большинство случаев повышения привилегий в облаке связано с IAM.

Пользователи, роли и политики

В AWS IAM есть три основных элемента, которые необходимо понимать:

  • Пользователи — идентичности с ключами доступа, действующими длительное время
  • Роли — временные идентичности, которые могут быть приняты пользователями или службами
  • Политики — документы JSON, разрешающие или запрещающие действия над ресурсами

Слишком широко назначенная политика приводит к избыточным разрешениям.

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::reports-bucket/*"
}

Опасность подстановочных знаков

Самый опасный шаблон IAM — политика с подстановочными знаками. Она разрешает любое действие над любым ресурсом.

Если атакующий скомпрометирует идентичность с такой политикой, он получит полный контроль над учётной записью.

{
  "Effect": "Allow",
  "Action": "*",
  "Resource": "*"
}

# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.

Перечисление собственных разрешений

Получив учётные данные, перечислите доступные им действия. В IAM есть API для чтения, раскрывающие назначенные политики.

Некоторым учётным записям даже разрешены iam:Get* и iam:List* для обычных пользователей, что даёт Вам готовую карту.

# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser

# Get the JSON of a managed policy version
aws iam get-policy-version \
  --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
  --version-id v1

Повышение привилегий через iam:PassRole

Классический сценарий повышения привилегий: у пользователя есть iam:PassRole и разрешение на создание службы. Он может запустить ресурс, который примет роль с высокими привилегиями и унаследует её доступ.

  • У пользователя есть ec2:RunInstances + iam:PassRole
  • Он запускает экземпляр EC2 с назначенной ролью администратора
  • Теперь экземпляр содержит учётные данные администратора, которые пользователь извлекает

У пользователя не было прямого доступа администратора, но он повысил свои привилегии до этого уровня.

Опасные сочетания разрешений

Отдельные разрешения могут быть безвредными, но в сочетании превращаются в пути повышения привилегий. К известным рискованным сочетаниям относятся:

  • iam:CreatePolicyVersion — изменить существующую политику, разрешив действия администратора
  • iam:AttachUserPolicy — назначить себе AdministratorAccess
  • iam:CreateAccessKey для другого пользователя — похитить его идентичность
  • sts:AssumeRole для роли с чрезмерным доверием

Инструменты автоматически перечисляют такие сочетания.

Политики доверия и AssumeRole

У ролей есть политика доверия, определяющая, кто может их принять. Слишком широкая политика доверия — это лазейка.

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

{
  "Effect": "Allow",
  "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
  "Action": "sts:AssumeRole"
}

# Trusting the entire account root means ANY identity in it can assume the role.

Автоматизация поиска путей повышения привилегий

Проверять вручную каждое сочетание политик утомительно. Инструменты строят для Вас карту путей повышения привилегий.

  • Pacu — платформа эксплуатации AWS с модулями повышения привилегий
  • PMapper — строит граф связей IAM и находит пути повышения привилегий
  • enumerate-iam — перебором определяет, какие вызовы API может выполнять ключ
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan

# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'

Встроенные и управляемые политики

Разрешения можно предоставлять двумя способами, и атакующие проверяют оба:

  • Управляемые политики — повторно используемые политики, назначаемые множеству идентичностей
  • Встроенные политики — политики, непосредственно встроенные в одного пользователя или одну роль

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

# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inline

Усиление защиты: минимальные привилегии

Решение проблемы неправильных конфигураций IAM — принцип минимальных привилегий: предоставляйте только точные разрешения, которые необходимы.

  • Заменяйте подстановочные знаки явно указанными действиями и ARN ресурсов
  • Используйте роли с краткосрочными учётными данными вместо долгосрочных ключей
  • Проверяйте неиспользуемые разрешения с помощью Access Analyzer
  • Требуйте MFA для идентичностей с привилегиями

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

Соблюдайте пределы авторизации

Проверка повышения привилегий активно изменяет состояние учётной записи. Будьте осторожны:

  • Создание политик, ключей или ролей является интрузивным действием — получите письменное разрешение
  • Документируйте каждое изменение, чтобы его можно было отменить
  • Сначала отдавайте предпочтение перечислению только для чтения, чтобы подтвердить путь перед его эксплуатацией

Часто достаточно продемонстрировать, что путь повышения привилегий существует; полностью эксплуатировать его требуется не всегда.

Быстрая проверка

Какое сочетание разрешений является классическим путём повышения привилегий в AWS?

Итоги: неправильные конфигурации IAM

Вы узнали, почему IAM — настоящий периметр облака и как атакующие используют его слабые места.

  • Политики с подстановочными знаками Action:* Resource:* имеют катастрофические последствия
  • iam:PassRole + создание службы позволяют повысить привилегии
  • Слишком широкие политики доверия позволяют атакующим принимать роли
  • Такие инструменты, как Pacu и PMapper, автоматизируют поиск путей
  • Исправление всегда основывается на принципе минимальных привилегий

Далее мы рассмотрим S3 и раскрытие данных в хранилищах.

Часто задаваемые вопросы

Урок «Ошибки конфигурации IAM» бесплатный?

Да — полный текст урока «Ошибки конфигурации IAM» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.

Чему я научусь в уроке «Ошибки конфигурации IAM»?

Роли с чрезмерными разрешениями Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?

Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Ошибки конфигурации IAM»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?

Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Область атак в облаке
  2. Ошибки конфигурации IAM
  3. Раскрытие S3 и хранилищ
  4. Метаданные и SSRF
← Назад к Ethical Hacking Academy