# 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)*