Cyber Security Academy · Aula

Explorando configurações incorretas de IAM

Escalonamento de privilégios na nuvem.

Aula 3 de 413 etapas

Explorando configurações incorretas de IAM é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.

IAM como mecanismo de escalação

Na nuvem, a escalação de privilégios geralmente significa abusar das permissões do IAM, em vez de explorar falhas de memória. Se uma identidade com poucos privilégios puder modificar políticas, criar chaves ou assumir funções, ela poderá alcançar privilégios administrativos.

  • Permissões que modificam o IAM são inerentemente perigosas.
  • Caminhos de escalação são uma questão de lógica de políticas, não de vulnerabilidades.
  • A correção é aplicar o princípio do menor privilégio, não instalar um patch.

Permissões perigosas

Determinadas ações do IAM permitem uma escalação direta. Procure estas ações em uma entidade principal que você controle:

  • iam:CreateAccessKey em outro usuário.
  • iam:AttachUserPolicy / iam:PutUserPolicy (associar AdministratorAccess).
  • iam:CreatePolicyVersion (reescrever uma política existente).
  • iam:PassRole + um serviço de computação (executar código como uma função privilegiada).
  • sts:AssumeRole com uma política de confiança fraca.

Escalação por associação de políticas

Se sua identidade puder associar políticas a si mesma, a escalação estará a uma chamada de distância. Você associa uma política administrativa gerenciada e herda todos os direitos.

# Attach AdministratorAccess to yourself
aws iam attach-user-policy \
  --user-name me \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

Abuso de PassRole

iam:PassRole permite entregar uma função a um serviço. Combinado com um serviço que execute seu código (EC2, Lambda, Glue), isso permite executar como essa função, mesmo que ela tenha muito mais privilégios do que você.

# Launch a Lambda that assumes a privileged role you can pass
aws lambda create-function --function-name esc \
  --role arn:aws:iam::111:role/AdminRole \
  --runtime python3.12 --handler h.run --zip-file fileb://code.zip

Reversão da versão da política

iam:CreatePolicyVersion ou SetDefaultPolicyVersion permite substituir o documento ativo de uma política ou reverter para uma versão anterior mais permissiva, concedendo amplo acesso sem alterar a associação a grupos.

# Make a new, permissive default version of an existing policy
aws iam create-policy-version \
  --policy-arn arn:aws:iam::111:policy/devs \
  --policy-document file://admin.json --set-as-default

Abuso de políticas de confiança e AssumeRole

As políticas de confiança das funções definem quem pode assumi-las. Condições de confiança fracas permitem a apropriação.

  • Uma função que confia em * ou em uma conta inteira pode ser assumida de forma ampla.
  • Se puder editar a política de confiança de uma função, adicione-se como entidade principal confiável.
  • Entidade confusa: identificadores externos ausentes em funções de integração de terceiros.
# Assume a poorly-scoped role
aws sts assume-role \
  --role-arn arn:aws:iam::111:role/CrossAccountAdmin \
  --role-session-name pt

Equivalentes entre nuvens

Os mesmos padrões aparecem em diferentes provedores.

  • Azure: uma atribuição da função Administrador de Acesso do Usuário ou Proprietário; abuso de Identidade Gerenciada; adição de credenciais a uma entidade de serviço.
  • GCP: iam.serviceAccounts.actAs junto com um serviço de computação; setIamPolicy em um projeto; criação de chaves de contas de serviço.
# GCP: impersonate a privileged service account
gcloud compute instances create esc --service-account priv@proj.iam.gserviceaccount.com --scopes cloud-platform

Ferramentas para descoberta de caminhos

Em vez de adivinhar, use ferramentas para revelar caminhos viáveis de escalação a partir da sua identidade atual.

# Pacu (AWS exploitation framework) escalation module
pacu
run iam__privesc_scan

# PMapper query for escalation
pmapper query 'preset privesc me'

Encadeamento até o plano de controle

A escalação frequentemente encadeia o acesso ao plano de dados com o poder do plano de controle.

  • Comprometa uma VM e roube suas credenciais da função da instância a partir dos metadados.
  • A função da instância tem PassRole + Lambda, permitindo a execução de uma função administrativa.
  • A partir da conta administrativa, crie chaves de acesso persistentes para agir com discrição.

Cada elo é uma descoberta independente que merece ser relatada.

Protegendo o IAM

A prevenção se baseia no menor privilégio e em mecanismos de proteção.

  • Remova curingas; delimite rigorosamente as ações e os recursos.
  • Use limites de permissões e SCPs para limitar o privilégio máximo.
  • Exija identificadores externos em funções de terceiros; restrinja as políticas de confiança.
  • Prefira credenciais de função de curta duração a chaves de longa duração.
  • Use analisadores de acesso para sinalizar permissões arriscadas e não utilizadas.

Execução ética

A escalação do IAM pode conceder controle sobre toda a conta. Pare na prova de conceito: demonstre o caminho sem criar portas dos fundos duradouras ou modificar políticas de produção que você não possa reverter. Sempre reverta qualquer alteração em políticas ou funções e remova as chaves que criar.

Coordene previamente com o cliente as etapas que possam causar interrupções (como reescrever uma política compartilhada).

Verificação rápida

Confirme seus conhecimentos sobre escalação do IAM.

Recapitulação

Você aprendeu como configurações incorretas do IAM realizam escalação de privilégios.

  • Associação de políticas, PassRole, reversão de versões e AssumeRole são caminhos fundamentais.
  • Os mesmos padrões se repetem em AWS, Azure e GCP.
  • Pacu e PMapper descobrem caminhos viáveis automaticamente.
  • Menor privilégio, limites de permissões e identificadores externos são as defesas.

Próximo: persistência e movimentação lateral entre contas da nuvem.

Grátis para começar

Aprenda Cyber Security Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
76
Aulas
303

Perguntas Frequentes

A aula “Explorando configurações incorretas de IAM” é grátis?

Sim — o texto completo de “Explorando configurações incorretas de IAM” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.

O que vou aprender em “Explorando configurações incorretas de IAM”?

Escalonamento de privilégios na nuvem. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cyber Security Academy?

Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Explorando configurações incorretas de IAM”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cyber Security Academy?

Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Superfície de ataque da nuvem
  2. Enumerando recursos de nuvem
  3. Explorando configurações incorretas de IAM
  4. Persistência e movimentação lateral
← Voltar para Cyber Security Academy