
Ferramenta de implantação multi-nuvem vulnerável por design usando Terraform para provisionar infraestrutura de nuvem intencionalmente insegura para treinamento e prática de segurança.
Inglês | 中文
TerraformGoat é a ferramenta de implantação multinuvem "Vulnerable by Design" do laboratório de pesquisa HXSecurity.
Atualmente, os fornecedores de nuvem suportados incluem Alibaba Cloud, Tencent Cloud, Huawei Cloud, Amazon Web Services, Google Cloud Platform, Microsoft Azure.
| ID | Empresa de Serviço de Nuvem | Tipos de Serviços de Nuvem | Ambiente Vulnerável |
|---|---|---|---|
| 1 | Alibaba Cloud | Rede | Grupo de Segurança VPC com Todas as Portas Abertas |
| 2 | Alibaba Cloud | Rede | Grupo de Segurança VPC com Portas Comuns Abertas |
| 3 | Alibaba Cloud | Armazenamento de Objetos | Ativação de HTTP no Bucket |
| 4 | Alibaba Cloud | Armazenamento de Objetos | ACL de Objeto Gravável |
| 5 | Alibaba Cloud | Armazenamento de Objetos | ACL de Objeto Legível |
| 6 | Alibaba Cloud | Armazenamento de Objetos | Política Especial de Bucket |
| 7 | Alibaba Cloud | Armazenamento de Objetos | Acesso Público ao Bucket |
| 8 | Alibaba Cloud | Armazenamento de Objetos | Acesso Público ao Objeto |
| 9 | Alibaba Cloud | Armazenamento de Objetos |
TerraformGoat é implantado usando imagens Docker e, portanto, requer suporte ao ambiente Docker Engine. A instalação do Docker Engine pode ser encontrada em https://docs.docker.com/engine/install/
Dependendo do provedor de serviços de nuvem que você está usando, escolha o comando de instalação correspondente.
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
Após entrar no contêiner, navegue até o diretório do cenário correspondente e você poderá começar a implantar o cenário.
Aqui está uma demonstração da construção do cenário 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

O programa solicita Digite um valor:, digite yes e pressione Enter. Use curl para acessar o bucket, você verá os objetos percorridos.

Para evitar que o serviço de nuvem continue a gerar cobranças, lembre-se de destruir o cenário a tempo após o uso.
terraform destroy
Se você estiver em um contêiner, primeiro execute o comando exit para sair do contêiner e, em seguida, execute o seguinte comando no host.
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*")
Contribuições são bem-vindas e muito apreciadas. Leia mais — CONTRIBUTING.md para detalhes sobre o fluxo de trabalho de contribuição.
O TerraformGoat está sob a licença Apache 2.0. Consulte o arquivo LICENSE para obter detalhes.
| Registro de Logs do Bucket Desativado |
| 10 | Alibaba Cloud | Armazenamento de Objetos | Política do Bucket Legível |
| 11 | Alibaba Cloud | Armazenamento de Objetos | Percorrimento de Objetos do Bucket |
| 12 | Alibaba Cloud | Armazenamento de Objetos | Upload de Arquivo Irrestrito |
| 13 | Alibaba Cloud | Armazenamento de Objetos | Criptografia do Lado do Servidor sem KMS Definido |
| 14 | Alibaba Cloud | Armazenamento de Objetos | Criptografia do Lado do Servidor sem Uso de BYOK |
| 15 | Alibaba Cloud | Serviço de Computação Elástica | ECS SSRF |
| 16 | Alibaba Cloud | Serviço de Computação Elástica | Discos não Anexados do ECS Não Criptografados |
| 17 | Alibaba Cloud | Serviço de Computação Elástica | Discos de Máquina Virtual ECS Não Criptografados |
| 18 | Tencent Cloud | Rede | Grupo de Segurança VPC com Todas as Portas Abertas |
| 19 | Tencent Cloud | Rede | Grupo de Segurança VPC com Portas Comuns Abertas |
| 20 | Tencent Cloud | Armazenamento de Objetos | ACL do Bucket Gravável |
| 21 | Tencent Cloud | Armazenamento de Objetos | ACL do Bucket Legível |
| 22 | Tencent Cloud | Armazenamento de Objetos | Acesso Público ao Bucket |
| 23 | Tencent Cloud | Armazenamento de Objetos | Acesso Público ao Objeto |
| 24 | Tencent Cloud | Armazenamento de Objetos | Upload de Arquivo Irrestrito |
| 25 | Tencent Cloud | Armazenamento de Objetos | Percorrimento de Objetos do Bucket |
| 26 | Tencent Cloud | Armazenamento de Objetos | Registro de Logs do Bucket Desativado |
| 27 | Tencent Cloud | Armazenamento de Objetos | Criptografia do Lado do Servidor Desativada |
| 28 | Tencent Cloud | Serviço de Computação Elástica | CVM SSRF |
| 29 | Tencent Cloud | Serviço de Computação Elástica | Armazenamento CBS Não Utilizado |
| 30 | Tencent Cloud | Serviço de Computação Elástica | Discos de Máquina Virtual CVM Não Criptografados |
| 31 | Huawei Cloud | Rede | Grupo de Segurança ECS Inseguro |
| 32 | Huawei Cloud | Armazenamento de Objetos | ACL de Objeto Gravável |
| 33 | Huawei Cloud | Armazenamento de Objetos | Política Especial de Bucket |
| 34 | Huawei Cloud | Armazenamento de Objetos | Upload de Arquivo Irrestrito |
| 35 | Huawei Cloud | Armazenamento de Objetos | Percorrimento de Objetos do Bucket |
| 36 | Huawei Cloud | Armazenamento de Objetos | Política Incorreta Causa Uploads de Arquivo Arbitrários |
| 37 | Huawei Cloud | Serviço de Computação Elástica | ECS SSRF |
| 38 | Huawei Cloud | Serviço de Banco de Dados Relacional | Ambiente de Verificação de Linha de Base MySQL RDS |
| 39 | Amazon Web Services | Rede | Grupo de Segurança VPC com Todas as Portas Abertas |
| 40 | Amazon Web Services | Rede | Grupo de Segurança VPC com Portas Comuns Abertas |
| 41 | Amazon Web Services | Armazenamento de Objetos | ACL de Objeto Gravável |
| 42 | Amazon Web Services | Armazenamento de Objetos | ACL do Bucket Gravável |
| 43 | Amazon Web Services | Armazenamento de Objetos | ACL do Bucket Legível |
| 44 | Amazon Web Services | Armazenamento de Objetos | Exclusão com MFA Desativada |
| 45 | Amazon Web Services | Armazenamento de Objetos | Política Especial de Bucket |
| 46 | Amazon Web Services | Armazenamento de Objetos | Percorrimento de Objetos do Bucket |
| 47 | Amazon Web Services | Armazenamento de Objetos | Upload de Arquivo Irrestrito |
| 48 | Amazon Web Services | Armazenamento de Objetos | Registro de Logs do Bucket Desativado |
| 49 | Amazon Web Services | Armazenamento de Objetos | Bucket Permite Acesso HTTP |
| 50 | Amazon Web Services | Armazenamento de Objetos | Criptografia Padrão do Bucket Desativada |
| 51 | Amazon Web Services | Serviço de Computação Elástica | EC2 SSRF |
| 52 | Amazon Web Services | Serviço de Computação Elástica | Assunção do Console |
| 53 | Amazon Web Services | Serviço de Computação Elástica | Volumes EBS Não Utilizados |
| 54 | Amazon Web Services | Serviço de Computação Elástica | Criptografia de Volumes EBS Desativada |
| 55 | Amazon Web Services | Serviço de Computação Elástica | Snapshots de Volumes EBS Não Criptografados |
| 56 | Amazon Web Services | Gerenciamento de Identidade e Acesso | Escalação de Privilégio IAM |
| 57 | Google Cloud Platform | Armazenamento de Objetos | ACL de Objeto Gravável |
| 58 | Google Cloud Platform | Armazenamento de Objetos | ACL do Bucket Gravável |
| 59 | Google Cloud Platform | Armazenamento de Objetos | Percorrimento de Objetos do Bucket |
| 60 | Google Cloud Platform | Armazenamento de Objetos | Upload de Arquivo Irrestrito |
| 61 | Google Cloud Platform | Serviço de Computação Elástica | Execução de Comandos na VM |
| 62 | Microsoft Azure | Armazenamento de Objetos | Acesso Público ao Blob |
| 63 | Microsoft Azure | Armazenamento de Objetos | Percorrimento de Blobs do Contêiner |
| 64 | Microsoft Azure | Serviço de Computação Elástica | Execução de Comandos na VM |