AWS - Cloudformation Privesc
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para mais informações sobre cloudformation, confira:
AWS - CloudFormation & Codestar Enumiam:PassRole
, cloudformation:CreateStack
Um atacante com essas permissões pode escalar privilégios criando uma pilha CloudFormation com um template personalizado, hospedado em seu servidor, para executar ações sob as permissões de um papel especificado:
Na página seguinte, você tem um exemplo de exploração com a permissão adicional cloudformation:DescribeStacks
:
Impacto Potencial: Privesc para o papel de serviço cloudformation especificado.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)Neste caso, você pode abusar de uma pilha cloudformation existente para atualizá-la e escalar privilégios, como no cenário anterior:
A permissão cloudformation:SetStackPolicy
pode ser usada para dar a si mesmo a permissão UpdateStack
sobre uma pilha e realizar o ataque.
Impacto Potencial: Privesc para o papel de serviço do cloudformation especificado.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Se você tiver essa permissão, mas sem iam:PassRole
, ainda pode atualizar as pilhas usadas e abusar dos Papéis IAM que já estão anexados. Verifique a seção anterior para um exemplo de exploração (apenas não indique nenhum papel na atualização).
A permissão cloudformation:SetStackPolicy
pode ser usada para dar a si mesmo a permissão UpdateStack
sobre uma pilha e realizar o ataque.
Impacto Potencial: Privesc para o papel de serviço do cloudformation já anexado.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Um atacante com permissões para passar um papel e criar & executar um ChangeSet pode criar/atualizar uma nova pilha do cloudformation e abusar dos papéis de serviço do cloudformation assim como com o CreateStack ou UpdateStack.
A seguinte exploração é uma variação da CreateStack one usando as permissões ChangeSet para criar uma pilha.
A permissão cloudformation:SetStackPolicy
pode ser usada para dar a si mesmo permissões de ChangeSet
sobre uma pilha e realizar o ataque.
Impacto Potencial: Privesc para funções de serviço do cloudformation.
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Isso é como o método anterior sem passar funções IAM, então você pode apenas abusar das já anexadas, apenas modifique o parâmetro:
Impacto Potencial: Privesc para o papel de serviço do cloudformation já anexado.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Um atacante poderia abusar dessas permissões para criar/atualizar StackSets para abusar de papéis de cloudformation arbitrários.
Impacto Potencial: Privesc para papéis de serviço do cloudformation.
cloudformation:UpdateStackSet
Um atacante poderia abusar dessa permissão sem a permissão passRole para atualizar StackSets e abusar dos papéis de cloudformation anexados.
Impacto Potencial: Privesc para os papéis de cloudformation anexados.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)