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