# T1580 - Cloud Infrastructure Discovery
## Descrição
Após obter acesso a um ambiente IaaS (Infrastructure-as-a-Service), adversários mapeiam sistematicamente os recursos disponíveis - instâncias de computação, volumes de armazenamento, bancos de dados, snapshots e configurações de rede. Esse reconhecimento interno define as próximas etapas do ataque: quais recursos têm maior valor, quais estão expostos públicamente e quais podem ser explorados para persistência ou exfiltração de dados.
No Brasil, onde a adoção de AWS e Azure cresce rapidamente em setores como financeiro, saúde e varejo, esta técnica representa um risco concreto. Organizações que migram cargas de trabalho para a nuvem frequentemente replicam configurações permissivas do ambiente on-premises, deixando buckets S3 públicos, instâncias de banco de dados sem restrição de rede e snapshots de disco acessíveis a qualquer conta autenticada na mesma região.
O grupo [[g1015-scattered-spider|Scattered Spider]] ficou conhecido globalmente por seu uso avançado de técnicas de engenharia social combinadas com enumeração de infraestrutura em nuvem para identificar dados de alto valor antes de acionar ransomware. O [[g1053-storm-0501|Storm-0501]] complementa essa abordagem ao correlacionar a descoberta de infraestrutura com [[t1087-004-cloud-account|enumeração de contas na nuvem]] para construir um mapa completo do ambiente-alvo.
A técnica se diferencia de [[t1526-cloud-service-discovery|Cloud Service Discovery]] ao focar nos *componentes* dos serviços (instâncias específicas, buckets individuais, endpoints de banco de dados) em vez dos serviços disponíveis em si.
## Attack Flow
```mermaid
graph TB
A([Acesso Inicial à Nuvem]) --> B([Credenciais / Token Válido])
B --> C{T1580<br/>Cloud Infrastructure<br/>Discovery}:::highlight
C --> D([Mapeamento de Instâncias EC2 / VMs])
C --> E([Enumeração de Buckets S3 / Blob Storage])
C --> F([Descoberta de Bancos de Dados RDS / CosmosDB])
C --> G([Identificação de Snapshots Expostos])
D --> H([Escalada / Movimentação Lateral])
E --> I([Exfiltração de Dados])
F --> I
G --> J([Acesso a Dados Históricos])
H --> K([Ransomware / Persistência])
I --> K
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b
```
## Como Funciona
**1. Mapeamento de instâncias e serviços de computação**
Com chaves de acesso ou token de sessão em mãos, o adversário executa chamadas de API para listar recursos computacionais:
- AWS: `aws ec2 describe-instances`, `aws ec2 describe-snapshots --owner-ids self`
- Azure: `az vm list`, `az disk list`
- GCP: `gcloud compute instances list`, `gcloud compute disks list`
Ferramentas como [[s1091-pacu|Pacu]] automatizam essa etapa com o módulo `ec2__enum`, gerando um inventário completo sem exigir interação manual para cada serviço.
**2. Descoberta de armazenamento e bancos de dados**
Após mapear a computação, o adversário foca em dados:
- AWS: `aws s3 ls`, `aws rds describe-db-instances`, `aws s3api get-bucket-acl`
- Azure: `az storage account list`, `az sql server list`
- Técnica complementar [[t1595-003-wordlist-scanning|Wordlist Scanning]] é usada para descobrir buckets públicos por força bruta de nomes
A chamada `DescribeDBInstances` na AWS retorna tamanho, dono, permissões e ACLs de rede das instâncias RDS - informação suficiente para o atacante calcular o valor dos dados e os requisitos de acesso.
**3. Identificação de exposições e configurações exploráveis**
O adversário verifica configurações de acesso público:
- `aws s3api get-public-access-block` - identifica buckets sem bloqueio de acesso público
- `HeadBucket` - confirma existência e permissões do solicitante
- Snapshots compartilhados públicamente ou com outras contas são identificados e copiados para contas controladas pelo atacante - técnica que permite exfiltrar dados de banco de dados inteiros sem acesso direto ao ambiente da vítima
## Detecção
### Event IDs e Logs Relevantes
| Plataforma | Evento / Chamada de API | Indicador de Abuso |
|-----------|------------------------|-------------------|
| AWS CloudTrail | `DescribeInstances`, `ListBuckets`, `DescribeDBInstances`, `DescribeSnapshots` | Múltiplas chamadas de listagem em sequência rápida por uma única identidade |
| AWS CloudTrail | `GetPublicAccessBlock`, `GetBucketAcl` | Consultas de ACL em buckets que o usuário não criou |
| Azure Monitor | `Microsoft.Compute/virtualMachines/read` em massa | Listagem ampla de VMs fora do contexto de provisionamento |
| GCP Audit Logs | `compute.instances.list`, `storage.buckets.list` | Acesso a projetos além do escopo de trabalho do usuário |
| AWS CloudTrail | `SharedSnapshotCopyInitiated` | Cópia de snapshot para conta externa - alto fidelidade |
### Regra Sigma
```yaml
title: AWS Cloud Infrastructure Enumeration - Broad API Discovery
id: b2c4d6e8-1a3f-4b7c-9d0e-23f5a8b1c4d7
status: experimental
description: >
Detecta enumeração de infraestrutura AWS via múltiplas chamadas de listagem
em curto intervalo, padrão associado à técnica T1580.
author: RunkIntel
daté: 2026-03-24
logsource:
product: aws
service: cloudtrail
detection:
selection:
eventName|contains:
- "DescribeInstances"
- "ListBuckets"
- "DescribeDBInstances"
- "DescribeSnapshots"
- "DescribeVolumes"
- "GetPublicAccessBlock"
timeframe: 10m
condition: selection | count() by userIdentity.arn > 20
falsepositives:
- Ferramentas de CSPM (Cloud Security Posture Management) legítimas
- Scripts de inventário e billing internos
- Pipelines de IaC (Terraform plan, CDK diff)
level: medium
tags:
- attack.discovery
- attack.t1580
```
## Mitigação
| Controle | Descrição | Prioridade para Orgs BR |
|---------|-----------|------------------------|
| [[m1018-user-account-management\|M1018 - Gerenciamento de Contas]] | Aplicar princípio do menor privilégio: restringir `Describe*` e `List*` APIs apenas às identidades que realmente precisam delas; usar IAM Conditions no AWS | Alta - permissões `*` em políticas IAM são comuns em ambientes brasileiros migrados às pressas |
| Bloqueio de acesso público a buckets S3 | Habilitar `Block Public Access` na conta AWS inteira, não apenas por bucket; configurar equivalente no Azure Blob (Anonymous access disabled) | Alta - vazamentos de dados via bucket S3 público são recorrentes no Brasil |
| AWS Macie / Microsoft Defender for Storage | Habilitar classificação automática de dados em buckets e blobs para identificar dados sensíveis (LGPD: CPF, dados financeiros) antes que o atacante os descubra | Alta - requisito implícito de conformidade com LGPD |
| GuardDuty / Defender for Cloud | Habilitar detecção gerenciada de `Recon:IAMUser/ResourcePermissions` e alertas de discovery de infraestrutura | Média - custo acessível para PMEs brasileiras via free tier parcial |
| Rotação e escopo de chaves de acesso | Chaves de longa duração com escopo amplo são o vetor primário; implementar rotação automática via AWS Secrets Manager e uso de IAM Roles em vez de access keys para serviços internos | Alta |
## Threat Actors e Software
### [[g1015-scattered-spider|Scattered Spider]]
Grupo de ameaça financeiramente motivado, conhecido por engenharia social contra help desks para obter acesso inicial a ambientes Microsoft 365 e Okta. Uma vez dentro, usa enumeração de infraestrutura em nuvem para identificar sistemas de armazenamento de dados, servidores de backup e instâncias de banco de dados antes de implantar [[blackcat|BlackCat]] ransomware. A sofisticação do grupo em ambientes nativos de nuvem o torna uma ameaça direta a empresas brasileiras de tecnologia e serviços financeiros.
### [[g1053-storm-0501|Storm-0501]]
Afiliado de ransomware que combina [[t1087-004-cloud-account|enumeração de contas na nuvem]] com descoberta de infraestrutura para construir um mapa completo de ambientes híbridos antes de se mover lateralmente do Active Directory on-premises para o Azure. Historicamente visou hospitais, governos municipais e operadoras de logística - todos setores com presença forte no Brasil e baixa maturidade de segurança em nuvem.
### Software Associado
| Ferramenta | Tipo | Uso nesta Técnica |
|-----------|------|------------------|
| [[s1091-pacu\|Pacu]] | Framework AWS ofensivo | Módulos `ec2__enum`, `s3__get_bucket_acl`, `rds__enum` para mapeamento completo de infraestrutura AWS |
| [[scoutsuite\|ScoutSuite]] | Ferramenta de auditoria / ofensiva | Auditoria multi-cloud que mapeia configurações expostas em AWS, Azure e GCP simultaneamente |
---
*Fonte: [MITRE ATT&CK - T1580](https://attack.mitre.org/techniques/T1580)*