# T1651 - Comando via Administração de Nuvem ## Descrição Atacantes com acesso administrativo a ambientes de nuvem podem abusar de serviços nativos de gerenciamento remoto para executar comandos dentro de máquinas virtuais - sem precisar de acesso direto por SSH, RDP ou qualquer porta de rede exposta. Serviços como AWS Systems Manager (SSM) Run Command, Azure Run Command e Google Cloud OS Login/Compute Engine SSH permitem que administradores executem scripts remotamente em instâncias via agentes instalados nas VMs, utilizando o plano de controle da nuvem como canal de comunicação. Essa abordagem é particularmente insidiosa porque o tráfego de comandos flui pelo plano de controle da nuvem - não pela rede da VM -, o que significa que firewalls tradicionais, grupos de segurança e monitoramento de tráfego leste-oeste frequentemente não capturam essa atividade. Para um atacante que já comprometeu credenciais de IAM com permissões administrativas, essa técnica oferece execução arbitrária de código em todas as instâncias do ambiente sem precisar de nenhuma exposição de porta adicional. O vetor de comprometimento de provedores ou administradores delegados amplia ainda mais o raio de dano: um atacante que compromete uma conta de MSP (Managed Service Provider) ou um parceiro de nuvem com acesso [[t1199-trusted-relationship|Trusted Relationship]] pode executar comandos em múltiplos ambientes de clientes a partir de uma única posição privilegiada. O [[g0016-apt29|APT29]] documentadamente explorou esse padrão em campanhas contra provedores de serviços cloud. **Contexto Brasil/LATAM:** A migração acelerada para nuvem no Brasil - impulsionada pela agenda de transformação digital tanto no setor privado quanto no governo federal - criou uma grande quantidade de ambientes IaaS com configurações de IAM imaturas. Muitas organizações brasileiras ainda operam com contas de administrador compartilhadas, ausência de MFA em contas cloud e políticas de IAM excessivamente permissivas, tornando esse vetor de execução altamente relevante para o cenário regional. ## Attack Flow ```mermaid graph TB A[Comprometimento de credenciais IAM<br/>ou conta de administrador delegado] --> B[Autenticação no plano de controle<br/>AWS, Azure ou GCP] B --> C[EXECUÇÃO VIA ADMINISTRAÇÃO DE NUVEM<br/>T1651 - SSM Run Command / Azure RunCommand] C --> D[Execução de payload<br/>dentro da VM alvo] D --> E[Coleta de dados, exfiltração<br/>ou instalação de backdoor] E --> F[Movimento lateral para<br/>outras instâncias ou contas] ``` ## Como Funciona 1. **Preparação** - O atacante obtém credenciais de IAM com permissões de execução remota (ex: `ssm:SendCommand` na AWS, `Microsoft.Compute/virtualMachines/runCommand/action` no Azure). Isso pode ocorrer via phishing de credenciais cloud, exploração de instância com perfil de instância permissivo, ou comprometimento de um administrador delegado ou MSP. 2. **Execução** - Utilizando o console web, CLI ou API da nuvem, o atacante invoca o serviço de administração remota apontando para as instâncias alvo. Na AWS, `aws ssm send-command` envia o script ao agente SSM instalado na VM. No Azure, `az vm run-command invoke` utiliza o Azure VM Agent. O comando é executado com as permissões do agente (geralmente SYSTEM/root), sem abrir nenhuma porta de rede adicional. 3. **Pós-execução** - O output do comando é retornado pelo plano de controle da nuvem, confirmando a execução. O atacante pode usar essa posição para exfiltrar dados, instalar agentes de C2, criar novas contas locais para persistência ou pivotar para outros recursos acessíveis a partir da VM comprometida. **Exemplo de artefato de detecção:** ```bash # Detecção via AWS CloudTrail - chamada suspeita de SendCommand fora de jánela de manutenção # Filtrar por: eventName = SendCommand, userAgent inesperado, horário atípico aws cloudtrail lookup-events \ --lookup-attributes AttributeKey=EventName,AttributeValue=SendCommand \ --start-time 2026-03-24T00:00:00Z \ --end-time 2026-03-25T00:00:00Z \ --query 'Events[?contains(CloudTrailEvent, `"userAgent":"aws-cli"`)]' ``` ## Detecção **Fontes de dados:** AWS CloudTrail (eventos `SendCommand`, `StartSession`), Azure Activity Log (eventos `runCommand`), GCP Audit Logs (eventos `compute.instances.setMetadata` / OS Login), logs do agente SSM/Azure VM Agent dentro das instâncias, SIEM com correlação de eventos IAM e execução de comando. ```yaml title: Suspicious Cloud Administration Command Execution id: c4e8a2f3-1d77-4b9c-b42e-6f9a3c7d5e81 status: experimental description: Detecta uso de serviços de administração de nuvem (AWS SSM, Azure RunCommand) para execução remota de comandos em VMs, padrão associado ao T1651 logsource: product: aws service: cloudtrail detection: selection: eventName: - 'SendCommand' - 'StartSession' eventSource: 'ssm.amazonaws.com' filter_maintenance: userIdentity.arn|contains: - 'automation-role' - 'patch-manager' - 'ssm-maintenance' filter_time: # Ajustar conforme jánelas de manutenção aprovadas da organização eventTime|re: '.*T(0[89]|1[0-7]):.*' condition: selection and not filter_maintenance and not filter_time falsepositives: - Atividades legítimas de patch management fora de jánela de manutenção - Automação de DevOps com agendamento atípico - Resposta a incidentes por equipe de segurança level: high tags: - attack.execution - attack.t1651 - attack.cloud ``` ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Aplicar princípio de menor privilégio em políticas de IAM: restringir `ssm:SendCommand`, `ssm:StartSession` e equivalentes Azure/GCP apenas a roles específicas com justificativa de negócio. Habilitar MFA obrigatório para todas as contas com permissões de administração de nuvem. Segregar contas de administração de nuvem de contas de uso cotidiano. Auditar regularmente permissões IAM com ferramentas como AWS IAM Access Analyzer ou Azure Privileged Identity Management (PIM). Implementar just-in-time access para permissões administrativas elevadas, limitando a jánela de exposição de credenciais comprometidas. | ## Threat Actors que Usam - [[g0016-apt29|APT29]] ## Ferramentas Associadas - [[s0677-aadinternals|AADInternals]] - [[s1091-pacu|Pacu]] ## Referências *Fonte: [MITRE ATT&CK - T1651](https://attack.mitre.org/techniques/T1651/)*