# T1098.003 - Funções Adicionais em Nuvem ## Técnica Pai Esta é uma sub-técnica de [[t1098-account-manipulation|T1098 - Manipulação de Conta]]. ## Descrição Adversários podem adicionar papéis ou permissões extras a uma conta cloud sob seu controle para manter acesso persistente ao tenant da vítima. A técnica é particularmente eficaz porque o abuso de funções IAM frequentemente passa despercebido por controles tradicionais de endpoint e não gera alertas de antivírus. Em ambientes **AWS**, um atacante com permissões suficientes pode chamar a API `CreatePolicyVersion` para definir uma nova versão de política IAM, ou `AttachUserPolicy` para vincular uma política com privilégios elevados a uma conta já comprometida. Em ambientes **Microsoft 365 / Entra ID**, a adição de um novo Global Administrator garante acesso irreversível mesmo após a remoção do vetor inicial de comprometimento - técnica amplamente documentada em campanhas do [[g1004-lapsus|LAPSUS$]] e do [[g1015-scattered-spider|Scattered Spider]] contra empresas de telecomúnicações e tecnologia. Em plataformas **Google Cloud (GCP)**, adversários usam `gcloud projects add-iam-policy-binding` para elevar contas externas ao papel de `owner`, enquanto em ambientes **SaaS** como Okta ou Salesforce, a criação de perfis de administrador ocultos viabiliza acesso de longo prazo mesmo após a troca de credenciais. ### Relevância para Brasil e LATAM O grupo [[g1004-lapsus|LAPSUS$]] - com membros recrutados no Brasil - utilizou amplamente esta técnica contra empresas como Claro, Localiza e subsidiárias de multinacionais com presença regional. Ataques de engenharia social contra help desks de provedores de identidade (Okta, Azure AD) são o vetor mais comum observado na região para alcançar o ponto de partida necessário para a adição de funções. Organizações do setor [[_sectors|financeiro]] e de [[_sectors|telecomúnicações]] no Brasil são alvos frequentes, dado o alto valor dos acessos a plataformas cloud (Office 365 tenant de bancos, ambientes AWS de fintechs). A técnica frequentemente sucede [[t1136-create-account|T1136 - Criação de Conta]] ou o comprometimento de [[t1078-valid-accounts|T1078 - Contas Válidas]], e pode levar a [[t1078-valid-accounts|escalada de privilégios]] e movimentação lateral entre contas e tenants distintos. ## Attack Flow ```mermaid graph TB A["🎯 Acesso Inicial<br/>Credential Stuffing / Phishing / MFA Fatigue"] --> B["🔑 Conta Comprometida<br/>Usuário padrão ou admin de baixo privilégio"] B --> C{"Plataforma?"} C -->|AWS| D["API: AttachUserPolicy<br/>CreatePolicyVersion<br/>AddUserToGroup"] C -->|Azure / M365| E["Portal: Adicionar Global Admin<br/>ou App Role Assignment via Graph API"] C -->|GCP| F["gcloud add-iam-policy-binding<br/>papel: roles/owner"] C -->|SaaS / Okta| G["Criar Super Admin oculto<br/>ou modificar perfil existente"] D --> H["💾 Persistência Estabelecida<br/>Função privilegiada ativa no tenant"] E --> H F --> H G --> H H --> I["📦 Exfiltração / Impacto<br/>Acesso a dados, reset de outras contas, ransomware cloud"] ``` ## Como Funciona **Passo 1 - Obtenção de acesso inicial com permissões IAM** O adversário compromete uma conta que já possui direitos de gerenciamento de identidades - normalmente via phishing, engenharia social contra o help desk ou reutilização de credenciais vazadas. Em ataques do [[g1015-scattered-spider|Scattered Spider]], o acesso inicial frequentemente vem de SIM swapping ou ligações falsas para suporte técnico de provedores de identidade. **Passo 2 - Escalada via adição de função privilegiada** Com a conta comprometida, o adversário adiciona um papel de alto privilégio a uma conta externa ou ao próprio token de sessão. Em AWS, o padrão observado é a criação de uma nova versão de política IAM com permissão `*:*` aplicada a `*` (wildcard total). Em Entra ID, adicionar `Global Administrator` a uma conta de serviço ou aplicativo registrado é suficiente para garantir persistência mesmo que a senha do admin original sejá trocada. Exemplo de comando CLI documentado em campanhas reais (AWS): ```bash # Adicionar policy de acesso total a usuário comprometido aws iam attach-user-policy \ --user-name target-user \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess # Criar nova versão de policy com wildcard (bypass de políticas restritivas) aws iam creaté-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/CustomPolicy \ --policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"*","Resource":"*"}]}' \ --set-as-default ``` **Passo 3 - Manutenção e pivô entre tenants** O adversário mantém o acesso via função adicionada mesmo após a detecção e rotação das credenciais originais. Em alguns casos, funções são adicionadas a contas de aplicativos (service principals) que não possuem senha e raramente são auditadas. Isso permite que o atacante retorne sem precisar de nova autenticação interativa, usando tokens de aplicativo de longa duração. ## Detecção ```yaml title: Adicao Suspeita de Função Privilegiada em Ambiente Cloud id: d4f8a3c2-7e11-4b9a-bb01-2c3f5a6d8e90 status: production description: > Detecta adição de papéis globais ou políticas com wildcard a contas cloud, padrão consistente com T1098.003 - Additional Cloud Roles. Cobre AWS IAM, Azure RBAC e Google Cloud IAM. references: - https://attack.mitre.org/techniques/T1098/003/ author: RunkIntel daté: 2026-03-25 tags: - attack.persistence - attack.privilege_escalation - attack.t1098.003 logsource: category: cloud product: aws service: cloudtrail detection: selection_aws: eventName: - AttachUserPolicy - AttachRolePolicy - CreatePolicyVersion - AddUserToGroup requestParameters.policyArn|contains: - AdministratorAccess - PowerUserAccess selection_aws_wildcard: eventName: CreatePolicyVersion requestParameters.policyDocument|contains: '"Action":"*"' selection_azure: OperationName: - Add member to role - Add app role assignment to service principal Properties.targetResources[*].modifiedProperties[*].newValue|contains: - Global Administrator - Privileged Role Administrator - Application Administrator condition: selection_aws or selection_aws_wildcard or selection_azure falsepositives: - Operações legítimas de provisionamento de contas realizadas pelo time de IAM - Automação de onboarding via pipelines de IaC (Terraform, CDK) level: high ``` ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1026 | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Aplicar princípio de menor privilégio; auditar regularmente papéis IAM e remover funções não utilizadas. Usar Just-in-Time (JIT) access para papéis globais de admin. | | M1032 | [[m1032-multi-factor-authentication\|M1032 - Multi-factor Authentication]] | Exigir MFA resistente a phishing (FIDO2/passkey) para contas com permissão de gerenciar papéis IAM. MFA baseado em SMS é insuficiente contra SIM swapping. | | M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Implementar revisão periódica (access review) de funções privilegiadas. Alertar automaticamente quando papéis globais são adicionados fora de jánelas de manutenção. | ## Referências *Fonte: [MITRE ATT&CK - T1098.003](https://attack.mitre.org/techniques/T1098/003)*