
GCPGoat : Чертовски уязвимая инфраструктура GCP
Компрометация облачной инфраструктуры организации — это настоящая золотая жила для атакующих. И иногда простая ошибка конфигурации или уязвимость в веб-приложениях — всё, что нужно злоумышленнику, чтобы скомпрометировать всю инфраструктуру. Поскольку облачные технологии относительно новы, многие разработчики не до конца осознают ландшафт угроз и в итоге развёртывают уязвимую облачную инфраструктуру.
GCPGoat — это намеренно уязвимая инфраструктура на GCP, включающая последние риски безопасности веб-приложений из OWASP Top 10 (2021) и другие ошибки конфигурации на основе таких сервисов, как IAM, Storage Bucket, Cloud Functions и Compute Engine. GCPGoat имитирует реальную инфраструктуру, но с добавленными уязвимостями. Он содержит несколько путей эскалации и ориентирован на подход «чёрного ящика».
GCPGoat использует IaC (Terraform) для развёртывания уязвимой облачной инфраструктуры в учётной записи GCP пользователя. Это даёт пользователю полный контроль над кодом, инфраструктурой и окружением. С помощью GCPGoat пользователь может изучить/отработать:
Проект будет разделён на модули, и каждый модуль будет представлять собой отдельное веб-приложение, работающее на различных технологических стеках и практиках разработки. Для упрощения развёртывания будет использоваться IaC через Terraform.
Проект планирует охватить все значимые уязвимости, включая OWASP TOP 10 2021, и популярные облачные ошибки конфигурации. В настоящее время проект содержит следующие уязвимости/ошибки конфигурации.
Для ручной установки GCPGoat необходимо выполнить следующие шаги:
(Примечание: требуется машина с Linux и доступной оболочкой /bin/bash)
Шаг 1. Клонировать репозиторий
git clone https://github.com/ine-labs/GCPGoat
Шаг 2. Настроить учётные данные учётной записи пользователя GCP с помощью gcloud CLI
gcloud auth application-default login
Шаг 3. Вставить название платёжного аккаунта в файл main.tf
data "google_billing_account" "acct" {
display_name = "<Название вашего платёжного аккаунта>"
}
Шаг 4. В той же рабочей директории используйте terraform для развёртывания GCPGoat.
terraform init
terraform apply --auto-approve
Первый модуль включает бессерверное блог-приложение, использующее Cloud Functions, Cloud Storage Buckets, Compute Engine и Firestore. Он содержит различные уязвимости веб-приложений и позволяет эксплуатировать неправильно настроенные ресурсы GCP.
Путь эскалации:
Рекомендуемый браузер: Google Chrome
Ресурсы, созданные при развёртывании GCPGoat, не будут тарифицироваться, если учётная запись GCP находится в рамках бесплатного уровня/пробного периода. Однако после исчерпания или потери права на бесплатный уровень/пробный период для региона US-East будут применяться следующие тарифы:
Модуль 1: $0,03/час
Nishant Sharma, Director, Lab Platform, INE [email protected]
Jeswin Mathai, Chief Architect, Lab Platform, INE [email protected]
Sherin Stephen, Software Engineer (Cloud), INE [email protected]
Divya Nain, Software Engineer (Cloud), INE [email protected]
Rishappreet Singh Moon, Software Engineer (Cloud), INE [email protected]
Litesh Ghute, Software Engineer (Cloud), INE [email protected]
Sanjeev Mahunta, Software Engineer (Cloud), INE [email protected]
Наступательные руководства доступны в каталоге attack-manuals, а оборонительные — в каталоге defence-manuals.
Модуль 1:
modules/module-<Номер>/src — его можно использовать для изменения существующего кода приложения.Эта программа является свободным программным обеспечением: вы можете распространять и/или изменять её в соответствии с условиями лицензии MIT.
Вы должны были получить копию лицензии MIT вместе с этой программой. Если нет, см. https://opensource.org/licenses/MIT.