AWS - Datapipeline Privesc
datapipeline
Para mais informações sobre datapipeline, verifique:
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Usuários com essas permissões podem escalar privilégios criando um Data Pipeline para executar comandos arbitrários usando as permissões da função atribuída:
Após a criação do pipeline, o atacante atualiza sua definição para ditar ações específicas ou criações de recursos:
Note que a função nas linhas 14, 15 e 27 precisa ser uma função assumível por datapipeline.amazonaws.com e a função na linha 28 precisa ser uma função assumível por ec2.amazonaws.com com um perfil de instância EC2.
Além disso, a instância EC2 terá acesso apenas à função assumível pela instância EC2 (portanto, você só pode roubar aquela).
O arquivo de definição do pipeline, criado pelo atacante, inclui diretivas para executar comandos ou criar recursos via API da AWS, aproveitando as permissões de função do Data Pipeline para potencialmente obter privilégios adicionais.
Impacto Potencial: Escalação direta de privilégios para a função de serviço ec2 especificada.
Referências
Last updated