AWS - Datapipeline Privesc
datapipeline
Para mais informações sobre datapipeline, confira:
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline: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 do papel atribuído:
Após a criação do pipeline, o atacante atualiza sua definição para ditar ações específicas ou criações de recursos:
Observe 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 só terá acesso à função assumível pela instância EC2 (então você só pode roubar essa).
O arquivo de definição do pipeline, elaborado pelo atacante, inclui diretrizes para executar comandos ou criar recursos via API da AWS, aproveitando as permissões de função do Data Pipeline para potencialmente ganhar privilégios adicionais.
Impacto Potencial: Privesc direto para a função de serviço ec2 especificada.
Referências
Last updated