
Создайте собственную намеренно уязвимую площадку для тестирования на проникновение в AWS

Начать взлом: CloudFoxable
Читайте блог для получения дополнительных сведений: Представляем CloudFoxable: геймифицированная песочница для взлома облака
CloudFox помогает пентестерам и специалистам по безопасности находить эксплуатируемые пути атак в облачной инфраструктуре. Но что, если вы хотите находить и эксплуатировать сервисы, которых ещё нет в вашем текущем окружении? Что, если у вас нет доступа к корпоративной среде AWS?
Представляем CloudFoxable — намеренно уязвимую среду AWS, созданную специально для демонстрации возможностей CloudFox и помощи в более эффективном поиске скрытых путей атак. Черпая вдохновение из CloudGoat, flaws.cloud, flaws2.cloud и Metasploitable 1-3, CloudFoxable предоставляет широкий набор флагов и путей атак в формате CTF.
Как и CloudGoat и IAM-Vulnerable, CloudFoxable разворачивает намеренно уязвимые ресурсы AWS в управляемом пользователем аккаунте-песочнице, чтобы пользователи учились выявлять и эксплуатировать облачные уязвимости. Однако, как и в flaws.cloud, ваше взаимодействие в большей степени веб-ориентировано и сопровождается подсказками.
CloudFoxable использует Terraform для развертывания и управления намеренно уязвимой инфраструктурой AWS. В этом разделе приведены минимально необходимые инструкции по установке Terraform, а также по развертыванию, изменению и удалению ресурсов CloudFoxable.
Terraform должен быть установлен локально перед развертыванием CloudFoxable.
Следуйте официальному руководству по установке HashiCorp для вашей операционной системы:
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
Проверьте установку:
terraform version
При успешной установке будет выведена версия Terraform.
Перед запуском Terraform:
aws configure, переменные окружения или предполагаемую роль).Важно: CloudFoxable развертывает намеренно уязвимую инфраструктуру. Не развертывайте это в производственных, общих или корпоративных AWS-аккаунтах.
Все команды Terraform следует запускать из следующего каталога:
cd cloudfoxable/aws
Инициализируйте рабочий каталог и загрузите необходимые провайдеры:
terraform init
Это требуется один раз для каждого рабочего пространства (или при изменении конфигурации провайдера).
Чтобы просмотреть, что Terraform создаст, изменит или уничтожит:
terraform plan
Для развертывания включенных в данный момент заданий:
terraform apply
Введите yes при появлении запроса на подтверждение.
Чтобы удалить все ресурсы, созданные CloudFoxable:
terraform destroy
Подтвердите, введя yes при появлении запроса.
| Команда | Описание |
|---|---|
terraform init | Инициализирует проект Terraform |
terraform plan | Показывает предлагаемые изменения инфраструктуры |
terraform apply | Создает или обновляет ресурсы |
terraform destroy | Удаляет все развернутые ресурсы |
Как и в IAM-Vulnerable, некоторые задания включены по умолчанию (те, которые почти не требуют затрат), а другие отключены по умолчанию (те, которые требуют затрат при развертывании). Таким образом, вы можете включать нужные модули по мере необходимости. Впрочем, механизм включения/отключения заданий немного отличается от IAM-Vulnerable.
На cloudfoxable.bishopfox.com каждое задание сообщит вам, нужно ли вносить какие-либо изменения в Terraform (то есть развертывать что-то) для выполнения задания. Для этого нужно отредактировать terraform.tfvars и при необходимости изменить флаг enabled с false на true.
Вот пример:
############################
# Enabled/Disabled Challenges
############################
# Always on (Low or No cost)
challenge_foo_enabled = true
challenge_bar_enabled = true
challenge_alice_enabled = true
# Enable as needed (These challenges incur cost)
challenge_bob_enabled = false
challenge_mallory_enabled = false
Чтобы включить задание mallory, просто обновите следующую строку:
challenge_mallory_enabled = true
После включения задания необходимо повторно запустить terraform apply:
terraform apply
Теперь вы развернули задание mallory.
Очистка
В любой момент, когда вы захотите удалить все ресурсы, созданные CloudFoxable, вы можете выполнить следующие команды:
cd cloudfoxable/awsterraform destroyЕсли вы используете Windows, при развертывании некоторых заданий могут возникать проблемы из-за ограничений, связанных с конкретной платформой. Чтобы избежать этого, предоставляется Dockerfile, который помогает собрать и запустить приложение в единообразной среде на разных системах.
Начните с клонирования репозитория на локальную машину:
git clone https://github.com/BishopFox/cloudfoxable.git
cd cloudfoxable
После клонирования репозитория соберите Docker-образ следующей командой. Это гарантирует, что вы используете свежую сборку без кэшированных слоев:
docker build --no-cache -t cloudfoxable .
Если вы работаете в Windows, используйте следующую команду PowerShell для запуска Docker-контейнера. Это позволит:
cd aws
docker run -it -v $env:USERPROFILE/.aws/credentials:/root/.aws/credentials -v ${PWD}:/cloudfoxable/aws cloudfoxable
https://github.com/iknowjason/Awesome-CloudSec-Labs
Если вы хотите добавить новое задание, вот шаги внутри CloudFoxable после того, как вы сделаете форк репозитория: