TerraformGoat is selefra analysis lab’s “Weak by Design” multi cloud deployment instrument.
At present supported cloud distributors embody Alibaba Cloud, Tencent Cloud, Huawei Cloud, Amazon Net Companies, Google Cloud Platform, Microsoft Azure.
Situations
Set up
TerraformGoat is deployed utilizing Docker photos and due to this fact requires Docker Engine atmosphere help, Docker Engine set up may be present in https://docs.docker.com/engine/set up/
Relying on the cloud service supplier you might be utilizing, select the corresponding set up command.
Alibaba Cloud
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.4
docker run -itd --name terraformgoat_aliyun_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.4
docker exec -it terraformgoat_aliyun_0.0.4 /bin/bash
Tencent Cloud
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_tencentcloud:0.0.4
docker run -itd --name terraformgoat_tencentcloud_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_tencentcloud:0.0.4
docker exec -it terraformgoat_tencentcloud_0.0.4 /bin/bash
Huawei Cloud
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_huaweicloud:0.0.4
docker run -itd --name terraformgoat_huaweicloud_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_huaweicloud:0.0.4
docker exec -it terraformgoat_huaweicloud_0.0.4 /bin/bash
Amazon Net Companies
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aws:0.0.4
docker run -itd --name terraformgoat_aws_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aws:0.0.4
docker exec -it terraformgoat_aws_0.0.4 /bin/bash
Google Cloud Platform
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_gcp:0.0.4
docker run -itd --name terraformgoat_gcp_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_gcp:0.0.4
docker exec -it terraformgoat_gcp_0.0.4 /bin/bash
Microsoft Azure
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_azure:0.0.4
docker run -itd --name terraformgoat_azure_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_azure:0.0.4
docker exec -it terraformgoat_azure_0.0.4 /bin/bash
Demo
After getting into the container, cd to the corresponding state of affairs listing and you can begin deploying the state of affairs.
Here’s a demonstration of the Alibaba Cloud Bucket Object Traversal state of affairs construct.
docker pull registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.4
docker run -itd --name terraformgoat_aliyun_0.0.4 registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat_aliyun:0.0.4
docker exec -it terraformgoat_aliyun_0.0.4 /bin/bash
Â
cd /TerraformGoat/aliyun/oss/bucket_object_traversal/
aliyun configure
terraform init
terraform apply
This system prompts Enter a price:
, sort sure
and enter, use curl to entry the bucket, you may see the item traversed.
To keep away from the cloud service from persevering with to incur costs, bear in mind to destroy the state of affairs in time after utilizing it.

Uninstall
If you’re in a container, first execute the exit
command to exit the container, after which execute the next command underneath the host.
docker cease $(docker ps -a -q -f "identify=terraformgoat*")
docker rm $(docker ps -a -q -f "identify=terraformgoat*")
docker rmi $(docker photos -a -q -f "reference=registry.cn-beijing.aliyuncs.com/huoxian_pub/terraformgoat*")
Discover
- The README of every weak atmosphere is executed inside the TerraformGoat container atmosphere, so the TerraformGoat container atmosphere must be deployed first.
- As a result of horizontal danger of intranet horizontal on the cloud in some eventualities, it’s strongly beneficial that customers use their very own take a look at accounts to configure the eventualities, keep away from utilizing the cloud account of the manufacturing atmosphere, and set up TerraformGoat utilizing Dockerfile to isolate the consumer’s native cloud vendor token and the take a look at account token.
- TerraformGoat is used for academic functions solely, It’s not allowed to make use of it for unlawful and felony functions, any penalties arising from TerraformGoat are the accountability of the individual utilizing it, and never the selefra group.
Contributing
Contributions are welcomed and significantly appreciated. Additional studying — CONTRIBUTING.md for particulars on contribution workflow.
License
TerraformGoat is underneath the Apache 2.0 license. See the LICENSE file for particulars.