
Multi-Cloud-Bereitstellungstool mit absichtlichen Sicherheitslücken, das Terraform verwendet, um bewusst unsichere Cloud-Infrastruktur für Sicherheitstrainings und Übungen bereitzustellen.
Englisch | 中文
TerraformGoat ist das „Vulnerable by Design“-Multi-Cloud-Bereitstellungstool des HXSecurity-Forschungslabors.
Derzeit unterstützte Cloud-Anbieter sind Alibaba Cloud, Tencent Cloud, Huawei Cloud, Amazon Web Services, Google Cloud Platform und Microsoft Azure.
TerraformGoat wird über Docker-Images bereitgestellt und benötigt daher eine Docker Engine-Umgebung. Die Installation der Docker Engine finden Sie unter https://docs.docker.com/engine/install/
Abhängig vom verwendeten Cloud-Dienstanbieter wählen Sie den entsprechenden Installationsbefehl.
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
Nachdem Sie den Container betreten haben, wechseln Sie mit cd in das entsprechende Szenario-Verzeichnis und können mit der Bereitstellung des Szenarios beginnen.
Hier ist eine Demonstration des Szenario-Aufbaus 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

Das Programm fordert Enter a value: auf. Geben Sie yes ein und bestätigen Sie. Verwenden Sie dann curl, um auf den Bucket zuzugreifen – Sie werden den durchlaufenen Objektinhalt sehen.

Um zu vermeiden, dass der Cloud-Dienst weiterhin Kosten verursacht, denken Sie daran, das Szenario nach der Nutzung rechtzeitig zu zerstören.
terraform destroy
Wenn Sie sich in einem Container befinden, führen Sie zunächst den Befehl exit aus, um den Container zu verlassen, und führen Sie dann den folgenden Befehl auf dem Host aus.
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*")
Beiträge sind willkommen und sehr geschätzt. Weitere Informationen zum Beitragsablauf finden Sie in CONTRIBUTING.md.
TerraformGoat steht unter der Apache-2.0-Lizenz. Siehe die Datei LICENSE für Details.
| ID | Cloud-Dienstleister | Typen von Cloud-Diensten | Verwundbare Umgebung |
|---|
| 1 | Alibaba Cloud | Netzwerk | VPC-Sicherheitsgruppe öffnet alle Ports |
| 2 | Alibaba Cloud | Netzwerk | VPC-Sicherheitsgruppe öffnet gängige Ports |
| 3 | Alibaba Cloud | Objektspeicher | Bucket HTTP aktivieren |
| 4 | Alibaba Cloud | Objektspeicher | Objekt-ACL beschreibbar |
| 5 | Alibaba Cloud | Objektspeicher | Objekt-ACL lesbar |
| 6 | Alibaba Cloud | Objektspeicher | Spezielle Bucket-Richtlinie |
| 7 | Alibaba Cloud | Objektspeicher | Bucket öffentlich zugänglich |
| 8 | Alibaba Cloud | Objektspeicher | Objekt öffentlich zugänglich |
| 9 | Alibaba Cloud | Objektspeicher | Bucket-Protokollierung deaktiviert |
| 10 | Alibaba Cloud | Objektspeicher | Bucket-Richtlinie lesbar |
| 11 | Alibaba Cloud | Objektspeicher | Bucket-Objekt-Durchlauf |
| 12 | Alibaba Cloud | Objektspeicher | Uneingeschränkter Dateiupload |
| 13 | Alibaba Cloud | Objektspeicher | Serverseitige Verschlüsselung ohne KMS-Set |
| 14 | Alibaba Cloud | Objektspeicher | Serverseitige Verschlüsselung ohne BYOK |
| 15 | Alibaba Cloud | Elastischer Computeservice | EC2 SSRF |
| 16 | Alibaba Cloud | Elastischer Computeservice | Nicht verbundene Datenträger sind unverschlüsselt |
| 17 | Alibaba Cloud | Elastischer Computeservice | Datenträger der virtuellen Maschine sind unverschlüsselt |
| 18 | Tencent Cloud | Netzwerk | VPC-Sicherheitsgruppe öffnet alle Ports |
| 19 | Tencent Cloud | Netzwerk | VPC-Sicherheitsgruppe öffnet gängige Ports |
| 20 | Tencent Cloud | Objektspeicher | Bucket-ACL beschreibbar |
| 21 | Tencent Cloud | Objektspeicher | Bucket-ACL lesbar |
| 22 | Tencent Cloud | Objektspeicher | Bucket öffentlich zugänglich |
| 23 | Tencent Cloud | Objektspeicher | Objekt öffentlich zugänglich |
| 24 | Tencent Cloud | Objektspeicher | Uneingeschränkter Dateiupload |
| 25 | Tencent Cloud | Objektspeicher | Bucket-Objekt-Durchlauf |
| 26 | Tencent Cloud | Objektspeicher | Bucket-Protokollierung deaktiviert |
| 27 | Tencent Cloud | Objektspeicher | Serverseitige Verschlüsselung deaktiviert |
| 28 | Tencent Cloud | Elastischer Computeservice | CVM SSRF |
| 29 | Tencent Cloud | Elastischer Computeservice | CBS-Speicher werden nicht genutzt |
| 30 | Tencent Cloud | Elastischer Computeservice | Datenträger der virtuellen CVM-Maschine sind unverschlüsselt |
| 31 | Huawei Cloud | Netzwerk | ECS unsichere Sicherheitsgruppe |
| 32 | Huawei Cloud | Objektspeicher | Objekt-ACL beschreibbar |
| 33 | Huawei Cloud | Objektspeicher | Spezielle Bucket-Richtlinie |
| 34 | Huawei Cloud | Objektspeicher | Uneingeschränkter Dateiupload |
| 35 | Huawei Cloud | Objektspeicher | Bucket-Objekt-Durchlauf |
| 36 | Huawei Cloud | Objektspeicher | Falsche Richtlinie führt zu willkürlichen Dateiuploads |
| 37 | Huawei Cloud | Elastischer Computeservice | ECS SSRF |
| 38 | Huawei Cloud | Relationaler Datenbankdienst | RDS MySQL Baseline-Check-Umgebung |
| 39 | Amazon Web Services | Netzwerk | VPC-Sicherheitsgruppe öffnet alle Ports |
| 40 | Amazon Web Services | Netzwerk | VPC-Sicherheitsgruppe öffnet gängige Ports |
| 41 | Amazon Web Services | Objektspeicher | Objekt-ACL beschreibbar |
| 42 | Amazon Web Services | Objektspeicher | Bucket-ACL beschreibbar |
| 43 | Amazon Web Services | Objektspeicher | Bucket-ACL lesbar |
| 44 | Amazon Web Services | Objektspeicher | MFA-Löschen ist deaktiviert |
| 45 | Amazon Web Services | Objektspeicher | Spezielle Bucket-Richtlinie |
| 46 | Amazon Web Services | Objektspeicher | Bucket-Objekt-Durchlauf |
| 47 | Amazon Web Services | Objektspeicher | Uneingeschränkter Dateiupload |
| 48 | Amazon Web Services | Objektspeicher | Bucket-Protokollierung deaktiviert |
| 49 | Amazon Web Services | Objektspeicher | Bucket erlaubt HTTP-Zugriff |
| 50 | Amazon Web Services | Objektspeicher | Standard-Bucket-Verschlüsselung deaktiviert |
| 51 | Amazon Web Services | Elastischer Computeservice | EC2 SSRF |
| 52 | Amazon Web Services | Elastischer Computeservice | Konsolenübernahme |
| 53 | Amazon Web Services | Elastischer Computeservice | EBS-Volumes werden nicht genutzt |
| 54 | Amazon Web Services | Elastischer Computeservice | EBS-Volume-Verschlüsselung ist deaktiviert |
| 55 | Amazon Web Services | Elastischer Computeservice | Snapshots von EBS-Volumes sind unverschlüsselt |
| 56 | Amazon Web Services | Identitäts- und Zugriffsmanagement | IAM-Privilegienerweiterung |
| 57 | Google Cloud Platform | Objektspeicher | Objekt-ACL beschreibbar |
| 58 | Google Cloud Platform | Objektspeicher | Bucket-ACL beschreibbar |
| 59 | Google Cloud Platform | Objektspeicher | Bucket-Objekt-Durchlauf |
| 60 | Google Cloud Platform | Objektspeicher | Uneingeschränkter Dateiupload |
| 61 | Google Cloud Platform | Elastischer Computeservice | VM-Befehlsausführung |
| 62 | Microsoft Azure | Objektspeicher | Blob öffentlich zugänglich |
| 63 | Microsoft Azure | Objektspeicher | Container-Blob-Durchlauf |
| 64 | Microsoft Azure | Elastischer Computeservice | VM-Befehlsausführung |