
다중 클라우드 취약성 설계 배포 도구로, Terraform을 사용하여 보안 교육 및 실습을 위해 의도적으로 안전하지 않은 클라우드 인프라를 프로비저닝합니다.
English | 中文
TerraformGoat는 HXSecurity 연구소의 "Vulnerable by Design" 멀티 클라우드 배포 도구입니다.
현재 지원되는 클라우드 벤더로는 Alibaba Cloud, Tencent Cloud, Huawei Cloud, Amazon Web Services, Google Cloud Platform, Microsoft Azure가 있습니다.
TerraformGoat는 Docker 이미지를 사용하여 배포되므로 Docker Engine 환경 지원이 필요합니다. Docker Engine 설치는 https://docs.docker.com/engine/install/에서 확인할 수 있습니다.
사용 중인 클라우드 서비스 제공업체에 따라 해당 설치 명령을 선택하세요.
Alibaba Cloud
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.7
docker run -itd --name terraformgoat_aliyun_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.7
docker exec -it terraformgoat_aliyun_0.0.7 /bin/bash
Tencent Cloud
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_tencentcloud:0.0.7
docker run -itd --name terraformgoat_tencentcloud_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_tencentcloud:0.0.7
docker exec -it terraformgoat_tencentcloud_0.0.7 /bin/bash
Huawei Cloud
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_huaweicloud:0.0.7
docker run -itd --name terraformgoat_huaweicloud_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_huaweicloud:0.0.7
docker exec -it terraformgoat_huaweicloud_0.0.7 /bin/bash
Amazon Web Services
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aws:0.0.7
docker run -itd --name terraformgoat_aws_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aws:0.0.7
docker exec -it terraformgoat_aws_0.0.7 /bin/bash
Google Cloud Platform
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_gcp:0.0.7
docker run -itd --name terraformgoat_gcp_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_gcp:0.0.7
docker exec -it terraformgoat_gcp_0.0.7 /bin/bash
Microsoft Azure
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_azure:0.0.7
docker run -itd --name terraformgoat_azure_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_azure:0.0.7
docker exec -it terraformgoat_azure_0.0.7 /bin/bash
컨테이너에 들어간 후, 해당 시나리오 디렉토리로 cd 명령을 사용하여 이동하면 시나리오 배포를 시작할 수 있습니다.
다음은 Alibaba Cloud Bucket Object Traversal 시나리오 구축 데모입니다.
docker pull registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.7
docker run -itd --name terraformgoat_aliyun_0.0.7 registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.7
docker exec -it terraformgoat_aliyun_0.0.7 /bin/bash

cd /TerraformGoat/aliyun/oss/bucket_object_traversal/
aliyun configure
terraform init
terraform apply

프로그램이 Enter a value:를 표시하면 yes를 입력하고 엔터를 누른 후, curl을 사용하여 bucket에 접근하면 객체가 열거된 것을 확인할 수 있습니다.

클라우드 서비스에서 계속 요금이 발생하는 것을 방지하기 위해, 사용 후에는 반드시 시나리오를 제거하세요.
terraform destroy
컨테이너 내부에 있는 경우, 먼저 exit 명령을 실행하여 컨테이너를 종료한 후 호스트에서 다음 명령을 실행하세요.
docker stop $(docker ps -a -q -f "name=terraformgoat*")
docker rm $(docker ps -a -q -f "name=terraformgoat*")
docker rmi $(docker images -a -q -f "reference=registry.cn-hongkong.aliyuncs.com/huoxian_pub/terraformgoat*")
기여를 환영하며 크게 감사드립니다. 기여 워크플로에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.
TerraformGoat는 Apache 2.0 라이선스 하에 있습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
| ID | 클라우드 서비스 회사 | 클라우드 서비스 유형 | 취약 환경 |
|---|
| 1 | Alibaba Cloud | 네트워킹 | VPC 보안 그룹 모든 포트 개방 |
| 2 | Alibaba Cloud | 네트워킹 | VPC 보안 그룹 일반 포트 개방 |
| 3 | Alibaba Cloud | 객체 스토리지 | Bucket HTTP 활성화 |
| 4 | Alibaba Cloud | 객체 스토리지 | 객체 ACL 쓰기 가능 |
| 5 | Alibaba Cloud | 객체 스토리지 | 객체 ACL 읽기 가능 |
| 6 | Alibaba Cloud | 객체 스토리지 | 특수 Bucket 정책 |
| 7 | Alibaba Cloud | 객체 스토리지 | Bucket 공개 액세스 |
| 8 | Alibaba Cloud | 객체 스토리지 | 객체 공개 액세스 |
| 9 | Alibaba Cloud | 객체 스토리지 | Bucket 로깅 비활성화 |
| 10 | Alibaba Cloud | 객체 스토리지 | Bucket 정책 읽기 가능 |
| 11 | Alibaba Cloud | 객체 스토리지 | Bucket 객체 열거 |
| 12 | Alibaba Cloud | 객체 스토리지 | 제한 없는 파일 업로드 |
| 13 | Alibaba Cloud | 객체 스토리지 | 서버 측 암호화 KMS 미설정 |
| 14 | Alibaba Cloud | 객체 스토리지 | 서버 측 암호화 BYOK 미사용 |
| 15 | Alibaba Cloud | 탄력적 컴퓨팅 서비스 | ECS SSRF |
| 16 | Alibaba Cloud | 탄력적 컴퓨팅 서비스 | ECS 미연결 디스크 암호화되지 않음 |
| 17 | Alibaba Cloud | 탄력적 컴퓨팅 서비스 | ECS 가상 머신 디스크 암호화되지 않음 |
| 18 | Tencent Cloud | 네트워킹 | VPC 보안 그룹 모든 포트 개방 |
| 19 | Tencent Cloud | 네트워킹 | VPC 보안 그룹 일반 포트 개방 |
| 20 | Tencent Cloud | 객체 스토리지 | Bucket ACL 쓰기 가능 |
| 21 | Tencent Cloud | 객체 스토리지 | Bucket ACL 읽기 가능 |
| 22 | Tencent Cloud | 객체 스토리지 | Bucket 공개 액세스 |
| 23 | Tencent Cloud | 객체 스토리지 | 객체 공개 액세스 |
| 24 | Tencent Cloud | 객체 스토리지 | 제한 없는 파일 업로드 |
| 25 | Tencent Cloud | 객체 스토리지 | Bucket 객체 열거 |
| 26 | Tencent Cloud | 객체 스토리지 | Bucket 로깅 비활성화 |
| 27 | Tencent Cloud | 객체 스토리지 | 서버 측 암호화 비활성화 |
| 28 | Tencent Cloud | 탄력적 컴퓨팅 서비스 | CVM SSRF |
| 29 | Tencent Cloud | 탄력적 컴퓨팅 서비스 | CBS 스토리지 미사용 |
| 30 | Tencent Cloud | 탄력적 컴퓨팅 서비스 | CVM 가상 머신 디스크 암호화되지 않음 |
| 31 | Huawei Cloud | 네트워킹 | ECS 안전하지 않은 보안 그룹 |
| 32 | Huawei Cloud | 객체 스토리지 | 객체 ACL 쓰기 가능 |
| 33 | Huawei Cloud | 객체 스토리지 | 특수 Bucket 정책 |
| 34 | Huawei Cloud | 객체 스토리지 | 제한 없는 파일 업로드 |
| 35 | Huawei Cloud | 객체 스토리지 | Bucket 객체 열거 |
| 36 | Huawei Cloud | 객체 스토리지 | 잘못된 정책으로 인한 임의 파일 업로드 |
| 37 | Huawei Cloud | 탄력적 컴퓨팅 서비스 | ECS SSRF |
| 38 | Huawei Cloud | 관계형 데이터베이스 서비스 | RDS Mysql 기준 검사 환경 |
| 39 | Amazon Web Services | 네트워킹 | VPC 보안 그룹 모든 포트 개방 |
| 40 | Amazon Web Services | 네트워킹 | VPC 보안 그룹 일반 포트 개방 |
| 41 | Amazon Web Services | 객체 스토리지 | 객체 ACL 쓰기 가능 |
| 42 | Amazon Web Services | 객체 스토리지 | Bucket ACL 쓰기 가능 |
| 43 | Amazon Web Services | 객체 스토리지 | Bucket ACL 읽기 가능 |
| 44 | Amazon Web Services | 객체 스토리지 | MFA 삭제 비활성화 |
| 45 | Amazon Web Services | 객체 스토리지 | 특수 Bucket 정책 |
| 46 | Amazon Web Services | 객체 스토리지 | Bucket 객체 열거 |
| 47 | Amazon Web Services | 객체 스토리지 | 제한 없는 파일 업로드 |
| 48 | Amazon Web Services | 객체 스토리지 | Bucket 로깅 비활성화 |
| 49 | Amazon Web Services | 객체 스토리지 | Bucket HTTP 액세스 허용 |
| 50 | Amazon Web Services | 객체 스토리지 | Bucket 기본 암호화 비활성화 |
| 51 | Amazon Web Services | 탄력적 컴퓨팅 서비스 | EC2 SSRF |
| 52 | Amazon Web Services | 탄력적 컴퓨팅 서비스 | 콘솔 탈취 |
| 53 | Amazon Web Services | 탄력적 컴퓨팅 서비스 | EBS 볼륨 미사용 |
| 54 | Amazon Web Services | 탄력적 컴퓨팅 서비스 | EBS 볼륨 암호화 비활성화됨 |
| 55 | Amazon Web Services | 탄력적 컴퓨팅 서비스 | EBS 볼륨 스냅샷 암호화되지 않음 |
| 56 | Amazon Web Services | ID 및 액세스 관리 | IAM 권한 상승 |
| 57 | Google Cloud Platform | 객체 스토리지 | 객체 ACL 쓰기 가능 |
| 58 | Google Cloud Platform | 객체 스토리지 | Bucket ACL 쓰기 가능 |
| 59 | Google Cloud Platform | 객체 스토리지 | Bucket 객체 열거 |
| 60 | Google Cloud Platform | 객체 스토리지 | 제한 없는 파일 업로드 |
| 61 | Google Cloud Platform | 탄력적 컴퓨팅 서비스 | VM 명령 실행 |
| 62 | Microsoft Azure | 객체 스토리지 | Blob 공개 액세스 |
| 63 | Microsoft Azure | 객체 스토리지 | 컨테이너 Blob 열거 |
| 64 | Microsoft Azure | 탄력적 컴퓨팅 서비스 | VM 명령 실행 |