
Используйте Terraform для создания собственного полигона для повышения привилегий AWS IAM, уязвимого по замыслу.
Используйте Terraform для создания собственного уязвимого по замыслу полигона для повышения привилегий AWS IAM.

IAM Vulnerable использует бинарный файл Terraform и ваши учетные данные AWS для развертывания более 250 ресурсов IAM в выбранном вами аккаунте AWS. В течение нескольких минут вы можете начать изучать, как выявлять и эксплуатировать уязвимые конфигурации IAM, которые позволяют повышать привилегии.
Всем привет. IAM Vulnerable по-прежнему чрезвычайно полезен для понимания основных строительных блоков повышения привилегий AWS IAM. Однако через несколько лет после создания IAM Vulnerable я создал CloudFoxable — версию в стиле CTF, которая более целостно обучает основам пентеста облачных сред. — @sethsec
Присоединяйтесь к нам на сервере RedSec в Discord
🦊 В настоящее время поддерживаемые пути повышения привилегий: 31
Статья в блоге: IAM Vulnerable — Полигон для повышения привилегий AWS IAM
Этот краткий старт описывает один из подходов к быстрому запуску IAM Vulnerable в вашем аккаунте AWS. Возможно, многие из этих шагов у вас уже выполнены, или вы захотите настроить что-то под свою текущую конфигурацию. Ознакомьтесь с разделом Другие варианты использования в этом репозитории для получения дополнительных вариантов настройки.
aws sts get-caller-identity.git clone https://github.com/BishopFox/iam-vulnerablecd iam-vulnerable/terraform initexport TF_VAR_aws_local_profile=PROFILE_IN_AWS_CREDENTIALS_FILE_IF_OTHER_THAN_DEFAULTexport TF_VAR_aws_local_creds_file=FILE_LOCATION_IF_NON_DEFAULTterraform planterraform applycp ~/.aws/credentials ~/.aws/credentials.backuptail -n +7 aws_credentials_file_example | sed s/111111111111/$(aws sts get-caller-identity | grep Account | awk -F\" '{print $4}')/g >> ~/.aws/credentialsОчистка
Всякий раз, когда вы захотите удалить все созданные IAM Vulnerable ресурсы, выполните следующие команды:
cd iam-vulnerable/terraform destroyАльтернативная очистка (когда состояние Terraform утеряно)
Если вы развернули iam-vulnerable с помощью Terraform, но больше не имеете доступа к файлу состояния (и terraform destroy не работает), вы можете использовать следующие скрипты очистки:```bash
./cleanup-scripts/cleanup_iam_vulnerable.py --dry-run
./cleanup-scripts/cleanup_iam_vulnerable.sh --dry-run
These scripts will:
- Automatically identify all IAM Vulnerable resources in your AWS account
- Show you exactly what will be deleted before proceeding
- Delete resources in the proper order to avoid dependency conflicts
- Support AWS profiles and provide detailed logging
**Important**: Always run with `--dry-run` first to see what would be deleted. See `cleanup-scripts/CLEANUP_README.md` for detailed usage instructions.
## Какие ресурсы были только что созданы?
Бинарный файл Terraform только что использовал учетные данные вашего профиля AWS по умолчанию для создания:
* **31 пользователей, ролей и политик**, каждая из которых имеет свой уникальный путь эксплуатации к административному доступу в аккаунте песочницы
* Некоторых дополнительных пользователей, групп, ролей и политик, необходимых для полной реализации определенных путей эксплуатации
* Некоторых дополнительных пользователей, ролей и политик, которые проверяют возможности обнаружения других инструментов
По умолчанию каждая роль, созданная этим модулем Terraform, может быть принята пользователем или ролью, которые вы использовали для запуска Terraform.
* Если вы хотите, чтобы Terraform использовал профиль, отличный от профиля по умолчанию, или вы хотите жестко задать ARN `assume_role_policy`, см. [Другие сценарии использования](#other-use-cases).
## Сколько это будет стоить?
Развертывание IAM Vulnerable в **конфигурации по умолчанию ничего не будет стоить**. Прочтите следующий раздел, чтобы узнать, как включить нестандартные модули, которые влекут за собой затраты, и сколько каждый модуль будет стоить в месяц, если вы его развернете.
# Модульный подход