
GCPGoat: 매우 취약한 GCP 인프라
조직의 클라우드 인프라를 손상시키는 것은 공격자에게 금광 위에 앉아 있는 것과 같습니다. 때로는 간단한 설정 오류나 웹 애플리케이션의 취약점 하나만으로도 공격자는 전체 인프라를 손상시킬 수 있습니다. 클라우드는 비교적 새로운 기술이기 때문에 많은 개발자가 위협 환경을 완전히 인지하지 못하고 취약한 클라우드 인프라를 배포하게 됩니다.
GCPGoat는 GCP에서 의도적으로 취약하게 설계된 인프라로, 최신 OWASP Top 10 웹 애플리케이션 보안 위험(2021)과 IAM, Storage Bucket, Cloud Functions, Compute Engine과 같은 서비스 기반의 다양한 설정 오류를 포함합니다. GCPGoat는 실제 인프라를 모방하지만 취약점이 추가되어 있습니다. 여러 개의 권한 상승 경로를 제공하며 블랙박스 접근 방식에 중점을 둡니다.
GCPGoat는 IaC(Terraform)를 사용하여 사용자의 GCP 계정에 취약한 클라우드 인프라를 배포합니다. 이를 통해 사용자는 코드, 인프라, 환경을 완전히 제어할 수 있습니다. GCPGoat를 사용하여 사용자는 다음을 학습/연습할 수 있습니다:
이 프로젝트는 모듈로 나뉘며 각 모듈은 다양한 기술 스택과 개발 방식으로 구동되는 별도의 웹 애플리케이션입니다. 배포 과정을 간소화하기 위해 Terraform을 통한 IaC를 활용합니다.
이 프로젝트는 OWASP TOP 10 2021 및 주요 클라우드 설정 오류를 포함한 모든 중요한 취약점을 포함하도록 계획되었습니다. 현재 프로젝트에는 다음과 같은 취약점/설정 오류가 포함되어 있습니다.
GCPGoat를 수동으로 설치하려면 다음 단계를 따라야 합니다:
(참고: Linux 머신과 /bin/bash 셸이 필요합니다)
1단계. 리포지토리 클론
git clone https://github.com/ine-labs/GCPGoat
2단계. gcloud CLI를 사용하여 GCP 사용자 계정 자격 증명 구성
gcloud auth application-default login
3단계. main.tf 파일에 결제 계정 이름 입력
data "google_billing_account" "acct" {
display_name = "<Your Billing Account 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, 랩 플랫폼 디렉터, INE [email protected]
Jeswin Mathai, 수석 아키텍트, 랩 플랫폼, INE [email protected]
Sherin Stephen, 소프트웨어 엔지니어 (클라우드), INE [email protected]
Divya Nain, 소프트웨어 엔지니어 (클라우드), INE [email protected]
Rishappreet Singh Moon, 소프트웨어 엔지니어 (클라우드), INE [email protected]
Litesh Ghute, 소프트웨어 엔지니어 (클라우드), INE [email protected]
Sanjeev Mahunta, 소프트웨어 엔지니어 (클라우드), INE [email protected]
공격 매뉴얼은 attack-manuals 디렉터리에서, 방어 매뉴얼은 defence-manuals 디렉터리에서 확인할 수 있습니다.
모듈 1:
modules/module-<Number>/src 에서 찾을 수 있으며, 이를 사용하여 기존 애플리케이션 코드를 수정할 수 있습니다.이 프로그램은 자유 소프트웨어입니다. MIT 라이선스 조건에 따라 재배포 및/또는 수정할 수 있습니다.
이 프로그램과 함께 MIT 라이선스 사본을 받았을 것입니다. 받지 못했다면 https://opensource.org/licenses/MIT 에서 확인하세요.