# T1021.008 - Direct Cloud VM Connections ## Descrição Adversários com acesso a [[t1078-valid-accounts|Contas Válidas]] em ambientes de nuvem podem acessar diretamente máquinas virtuais hospedadas em infraestrutura IaaS utilizando **métodos nativos de console** dos provedores cloud - sem a necessidade de abrir portas SSH/RDP expostas à internet. Serviços como **Azure Serial Console**, **AWS EC2 Instance Connect**, **AWS Systems Manager Session Manager** e **Google Cloud Serial Console** fornecem acesso interativo às VMs via API cloud, contornando controles tradicionais de rede de perímetro. A autenticação para esses acessos ocorre pelo plano de controle cloud (IAM/RBAC) e pode ser feita com senha, tokens de aplicação ou chaves SSH efêmeras injetadas diretamente pelo provedor. Por padrão, esses serviços frequentemente concedem acesso com privilégios elevados - nível SYSTEM no Windows ou root no Linux - sem exigir configuração adicional na VM alvo. O adversário não precisa de uma rota de rede direta até a instância: basta possuir permissões IAM adequadas. **Contexto Brasil e LATAM:** A migração acelerada de cargas de trabalho críticas para nuvem pública por empresas brasileiras - especialmente para AWS (região `sa-east-1`) e Azure - criou uma nova superfície de ataque pouco monitorada. Muitas organizações implementam controles rigorosos sobre SSH e RDP tradicionais, mas negligenciam o monitoramento de acessos via SSM Session Manager ou Azure Serial Console. Equipes de segurança no Brasil frequentemente não têm visibilidade sobre esses logs nativos cloud, que ficam no CloudTrail (AWS) ou Azure Activity Log - fora do SIEM tradicional. Atacantes que comprometem uma identidade IAM com permissão `ssm:StartSession` ou `Microsoft.Compute/virtualMachines/runCommand/action` obtêm acesso privilegiado às VMs sem alertar ferramentas de detecção de intrusão baseadas em rede. > **Técnica pai:** [[t1021-remote-services|T1021 - Remote Services]] > **Tática:** Lateral Movement ## Attack Flow ```mermaid graph TB A[Comprometimento<br/>de credencial IAM] --> B[Enumera VMs<br/>acessíveis T1580] B --> C{"T1021.008<br/>Direct Cloud VM<br/>Connections"}:::highlight C --> D[Acesso console<br/>com privilégio root/SYSTEM] D --> E[Execução de comandos<br/>na VM T1059] D --> F[Exfiltração de dados<br/>T1530] D --> G[Movimento lateral<br/>para outras VMs] classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b ``` ## Como Funciona **Passo 1 - Comprometimento e reconhecimento IAM** O adversário obtém credenciais de uma conta cloud com acesso IAM - via [[t1078-valid-accounts|phishing de credenciais]], vazamento de chaves de acesso em repositórios públicos, ou comprometimento de estação de trabalho de desenvolvedor. Com as credenciais, enumera as VMs disponíveis e verifica quais permissões IAM possui (`ssm:DescribeInstanceInformation`, `ec2-instance-connect:SendSSHPublicKey`, `Microsoft.Compute/virtualMachines/read`). **Passo 2 - Estabelecimento de conexão direta via console nativo** Utilizando a CLI do provedor cloud ou chamadas diretas à [[t1059-009-cloud-api|Cloud API]], o adversário inicia uma sessão de console interativa. No caso do AWS SSM Session Manager, a conexão é estabelecida por um canal WebSocket cifrado que não requer abertura de portas de rede. O Azure Serial Console permite acesso ao terminal de emergência da VM. Nenhum tráfego passa pelos controles de firewall tradicionais da organização. **Passo 3 - Execução privilegiada e movimentação lateral** Com acesso shell privilegiado à VM, o adversário executa comandos como root/SYSTEM: extrai credenciais da memória, modifica configurações de serviços, instala backdoors persistentes ou acessa volumes de dados montados. A partir deste ponto de pivot, repete o processo para VMs adicionais na mesma conta cloud ou em contas vinculadas via relações de trust IAM. ## Detecção ### Event IDs e Fontes de Log Relevantes | Fonte | Log / Event | Descrição | |-------|-------------|-----------| | AWS CloudTrail | `StartSession` (SSM) | Início de sessão SSM Session Manager em uma EC2 | | AWS CloudTrail | `SendSSHPublicKey` (EC2 Instance Connect) | Injeção de chave SSH pública efêmera via Instance Connect | | AWS CloudTrail | `GetSerialConsoleAccessStatus` | Verificação de acesso ao console serial EC2 | | Azure Activity Log | `Microsoft.Compute/virtualMachines/runCommand/action` | Execução de comando direto em VM Azure | | Azure Activity Log | `Microsoft.HybridCompute/machines/extensions/write` | Instalação de extensão em Arc-connected machine | | GCP Audit Logs | `compute.instances.setMetadata` | Modificação de metadados que pode injetar chaves SSH | | GCP Audit Logs | `compute.instances.getSerialPortOutput` | Acesso ao console serial GCP | ### Regra Sigma - AWS SSM Session Manager Não Autorizado ```yaml title: Acesso AWS SSM Session Manager por Principal Não Autorizado id: 9d4e2c71-5f8a-4b3d-c619-a7b4e1d02f55 status: experimental description: > Detecta o início de sessões SSM Session Manager em instâncias EC2 por principals IAM fora da lista de usuários/roles autorizados. Indica possível movimento lateral via T1021.008. logsource: service: cloudtrail product: aws detection: selection: eventSource: "ssm.amazonaws.com" eventName: "StartSession" responseElements.sessionId|startswith: "Session" filter_authorized: userIdentity.arn|contains: - "assumed-role/SSMOperatorsRole" - "assumed-role/CloudOpsTeamRole" condition: selection and not filter_authorized falsepositives: - Administradores cloud com roles não catalogadas - Automação de CI/CD legítima com acesso SSM level: high tags: - attack.lateral_movement - attack.t1021.008 - attack.t1078 ``` ## Mitigação | ID | Mitigação | Aplicação para Organizações Brasileiras | |----|-----------|----------------------------------------| | [[m1018-user-account-management\|M1018 - User Account Management]] | Gestão de contas e privilégios | Aplicar princípio do menor privilégio nas policies IAM: negar explicitamente `ssm:StartSession`, `ec2-instance-connect:SendSSHPublicKey` e equivalentes Azure/GCP para roles não operacionais; revisar permissões trimestralmente | | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desabilitar funcionalidades não necessárias | Desabilitar AWS Serial Console e Azure Serial Console em contas e regiões onde não há uso legítimo; remover a extensão SSM Agent de instâncias que não precisam de acesso remoto gerenciado | | MFA obrigatório para IAM | Autenticação forte | Exigir MFA para todas as ações IAM sensíveis, incluindo chamadas SSM e Instance Connect; implementar políticas de condição `aws:MultiFactorAuthPresent` nas policies críticas | | Monitoramento CloudTrail/Activity Log | Detecção | Ingerir CloudTrail e Azure Activity Log no SIEM da organização; criar alertas para `StartSession`, `SendSSHPublicKey` e `runCommand`; muitas equipes no Brasil não têm esses logs no SIEM - é o gap mais comum | | VPC Endpoint Policies | Controle de rede | Configurar VPC Endpoints para SSM com policies restritivas que limitam quais instâncias e roles podem usar o serviço; reduz superfície de ataque lateral dentro da conta | ## Threat Actors e Software Esta técnica é característica de atacantes com maturidade em operações cloud, especialmente grupos com foco em ambientes IaaS corporativos: - **Grupos de ransomware com capacidade cloud** - Operadores modernos de ransomware como [[g1015-scattered-spider|Scattered Spider]] (UNC3944) demonstraram uso extensivo de ferramentas nativas cloud para movimentação lateral em ambientes AWS e Azure, utilizando SSM Session Manager após comprometer identidades IAM via engenharia social. Esse grupo é conhecido por atacar empresas com operações na América Latina. - **Atores de espionagem com foco em cloud corporativo** - APTs com objetivos de roubo de propriedade intelectual utilizam [[t1078-valid-accounts|contas cloud comprometidas]] para acessar VMs que hospedam bancos de dados e sistemas de armazenamento, aproveitando que o acesso via console nativo frequentemente não gera alertas nos SIEMs tradicionais. - **Operadores de criptomineração** - No contexto brasileiro, incidentes de comprometimento de contas AWS com posterior uso de EC2 Instance Connect para implantar mineradores em instâncias de alta capacidade computacional são recorrentes, especialmente via chaves de acesso expostas em repositórios GitHub públicos. **Técnicas correlacionadas que frequentemente precedem T1021.008:** - [[t1078-valid-accounts|T1078 - Valid Accounts]] - o adversário precisa de credenciais IAM válidas para executar esta técnica - [[t1580-cloud-infrastructure-discovery|T1580 - Cloud Infrastructure Discovery]] - enumeração de VMs e permissões antes do acesso direto - [[t1059-009-cloud-api|T1059.009 - Cloud API]] - alternativa de execução remota via API sem console interativo - [[t1651-cloud-administration-command|T1651 - Cloud Administration Command]] - técnica similar para execução de scripts (vs. acesso console interativo) --- *Fonte: [MITRE ATT&CK - T1021.008](https://attack.mitre.org/techniques/T1021/008)*