# T1098.001 - Additional Cloud Credentials ## Técnica Pai Esta é uma sub-técnica de [[t1098-account-manipulation|T1098 - T1098 - Account Manipulation]]. ## Descrição Adversários adicionam credenciais sob seu controle a contas de nuvem já comprometidas para manter acesso persistente sem depender das credenciais originais da vítima. A técnica é subconjunto de [[t1098-account-manipulation|T1098 - Manipulação de Conta]] e se diferencia por explorar específicamente os mecanismos de identidade de provedores de nuvem. Em ambientes **Azure / Entra ID**, o adversário pode adicionar chaves x509 ou senhas a Service Principals e Applications existentes. Qualquer usuário com o papel de Application Administrator consegue registrar novas credenciais em um service principal - e, se esse principal tiver papéis elevados (por exemplo, Global Administrator ou acesso a Key Vaults), o atacante escala privilégios sem tocar na conta humana original. O recurso de **app passwords** é particularmente perigoso: criado para dispositivos legados que não suportam MFA, um app password contorna [[m1032-multi-factor-authentication|M1032 - Multi-factor Authentication]] e permanece válido mesmo após a troca da senha principal do usuário. Em ambientes **AWS**, os vetores mais usados são: - `CreateAccessKey` - gera par de chaves de acesso (Access Key ID + Secret) vinculado a uma conta IAM; essas chaves ficam ativas até serem explicitamente revogadas. - `CreateLoginProfile` - adiciona senha de console a uma conta IAM que anteriormente só usava chaves programáticas, abrindo acesso via [[t1538-cloud-service-dashboard|Cloud Service Dashboard]]. - `sts:GetFederationToken` - emite credenciais temporárias federadas com o escopo de permissões do usuário original; permanecem válidas pelo período configurado mesmo que as chaves originais sejam desativadas. Em ambientes **GCP**, os comandos equivalentes são `gcloud compute os-login ssh-keys add` (adiciona chaves SSH a instâncias de Compute Engine) e `gcloud iam service-accounts keys creaté` (cria chaves JSON de service account). Chaves JSON de service account não têm expiração automática por padrão, o que as torna persistência de longa duração. A técnica é frequentemente encadeada com [[t1078-004-cloud-accounts|T1078.004 - Cloud Accounts]] (acesso inicial via credenciais comprometidas) e pode levar a [[t1606-forge-web-credentials|T1606 - Forge Web Credentials]] quando o adversário usa as credenciais adicionadas para gerar tokens federados. ## Contexto Brasil/LATAM No Brasil e na América Latina, a adoção acelerada de infraestrutura em nuvem - especialmente [[aws|AWS]] e [[azure|Microsoft Azure]] - por setores como [[financial|financeiro]], [[government|governo]] e telecomúnicações amplia a superfície de ataque para esta técnica. Grupos de ransomware como o [[g1004-lapsus|LAPSUS$]], que recrutou membros na região, demonstraram domínio operacional desta técnica ao comprometer ambientes Entra ID de grandes empresas brasileiras de tecnologia e telecomúnicações em 2022, adicionando credenciais a registros OAuth para exfiltrar dados de repositórios internos e serviços de suporte. Operadores de ransomware que afetaram o setor público brasileiro - incluindo ataques a prefeituras, hospitais do [[sus|SUS]] e autarquias estaduais - frequentemente alavancam credenciais de nuvem comprometidas de fornecedores terceirizados como vetor inicial, depois adicionam chaves IAM ou credenciais de service principal para garantir reentrada persistente antes de acionar o payload de cifragem. A descentralização da gestão de identidade em nuvem em órgãos públicos, aliada à ausência de MFA em contas de alto privilégio, cria condições ideais para a exploração desta técnica. Organizações com operação em múltiplos países da LATAM - México, Argentina, Chile e Brasil - que utilizam tenants unificados de Azure ou AWS enfrentam risco adicional: a comprometimento de uma filial regional pode resultar em credenciais adicionadas que concedem acesso transversal a todos os países cobertos pelo mesmo tenant de identidade. ## Attack Flow ```mermaid graph TB A([Acesso Inicial]) --> B[T1078.004 - Cloud Accounts] B --> C{Ambiente alvo} C -->|Azure / Entra ID| D[Adiciona credencial ao Service Principal] C -->|AWS| E[CreateAccessKey / CreateLoginProfile] C -->|GCP| F[gcloud iam service-accounts keys creaté] D --> G[Contorna MFA via App Password] E --> H[Credenciais IAM persistentes] F --> I[Chave JSON de service account] G --> J([Persistência estabelecida]) H --> J I --> J J --> K[T1538 - Cloud Service Dashboard] J --> L[T1606 - Forge Web Credentials] style A fill:#b91c1c,color:#fff style J fill:#15803d,color:#fff style K fill:#1d4ed8,color:#fff style L fill:#1d4ed8,color:#fff ``` ## Detecção | Fonte de Dados | Evento a Monitorar | |---|---| | Azure AD / Entra ID Audit Logs | `Add service principal credentials`, `Updaté application - Certificates and secrets management` | | AWS CloudTrail | `CreateAccessKey`, `CreateLoginProfile`, `GetFederationToken` - especialmente em horário incomum ou por IPs externos | | GCP Cloud Audit Logs | `google.iam.admin.v1.CreateServiceAccountKey` | | Identity Provider | Novos app passwords criados por usuários sem histórico de dispositivos legados | Alertas de alta fidelidade devem combinar **criação de credencial** + **IP de origem não reconhecido** + **ausência de ticket de suporte/mudança aprovada** no mesmo período de tempo. ## Mitigação | ID | Mitigação | Aplicação | |---|---|---| | [[m1032-multi-factor-authentication\|M1032 - MFA]] | Exigir MFA para todas as contas privilegiadas; desabilitar app passwords quando possível | Azure, AWS, GCP | | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Restringir quem pode criar credenciais em service principals e service accounts | Azure, GCP | | [[m1018-user-account-management\|M1018 - User Account Management]] | Revisar periodicamente todas as credenciais ativas; remover chaves sem uso há mais de 90 dias | AWS, GCP | | [[m1030-network-segmentation\|M1030 - Network Segmentation]] | Restringir chamadas de API de gerenciamento de identidade a ranges de IP corporativos | Todos | | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desabilitar `app passwords` no Entra ID se não houver necessidade de dispositivos legados | Azure | ## Threat Actors que Usam - [[g1053-storm-0501|Storm-0501]] - grupo de ransomware que abusa de credenciais adicionadas a Azure Entra ID para mover-se lateralmente antes de implantar o payload - [[g0016-apt29|APT29]] - usa chaves de service account em GCP e credenciais de app registration em Azure para espionagem de longo prazo - [[g1004-lapsus|LAPSUS$]] - adiciona credenciais a aplicações OAuth em Entra ID para exfiltrar dados de repositórios e serviços SaaS corporativos ## Software Associado - [[s1091-pacu|Pacu]] - framework de exploração de AWS, inclui módulo `iam__backdoor_users_keys` para adição furtiva de chaves IAM - [[microburst|MicroBurst]] - toolkit PowerShell para reconhecimento e persistência em Azure, inclui funções de criação de credenciais em service principals --- *Fonte: MITRE ATT&CK - T1098.001 (v16.2)*