AWS - Codestar Privesc
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Codestar
Puoi trovare ulteriori informazioni su codestar in:
codestar:CreateProject, codestar:AssociateTeamMember
iam:PassRole
, codestar:CreateProject
Con questi permessi puoi abusare di un ruolo IAM di codestar per eseguire azioni arbitrarie tramite un template cloudformation. Controlla la pagina seguente:
iam:PassRole, codestar:CreateProject
codestar:CreateProject
, codestar:AssociateTeamMember
Questa tecnica utilizza codestar:CreateProject
per creare un progetto codestar e codestar:AssociateTeamMember
per rendere un utente IAM il proprietario di un nuovo progetto CodeStar, il che concederà loro una nuova policy con alcuni permessi extra.
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
Se sei già un membro del progetto, puoi utilizzare il permesso codestar:UpdateTeamMember
per aggiornare il tuo ruolo a proprietario invece di codestar:AssociateTeamMember
.
Impatto Potenziale: Privesc alla policy di codestar generata. Puoi trovare un esempio di quella policy in:
codestar:CreateProject, codestar:AssociateTeamMember
codestar:CreateProjectFromTemplate
- Crea un Nuovo Progetto:
- Utilizza l'azione
codestar:CreateProjectFromTemplate
per avviare la creazione di un nuovo progetto. - Una volta creata con successo, l'accesso è automaticamente concesso per
cloudformation:UpdateStack
. - Questo accesso è specificamente destinato a uno stack associato al ruolo IAM
CodeStarWorker-<generic project name>-CloudFormation
.
- Aggiorna lo Stack Target:
- Con i permessi CloudFormation concessi, procedi ad aggiornare lo stack specificato.
- Il nome dello stack di solito seguirà uno dei due modelli:
awscodestar-<generic project name>-infrastructure
awscodestar-<generic project name>-lambda
- Il nome esatto dipende dal template scelto (riferendosi allo script di exploit di esempio).
- Accesso e Permessi:
- Dopo l'aggiornamento, ottieni le capacità assegnate al ruolo IAM CloudFormation collegato allo stack.
- Nota: Questo non fornisce intrinsecamente privilegi di amministratore completi. Potrebbero essere necessarie ulteriori risorse mal configurate all'interno dell'ambiente per elevare ulteriormente i privilegi.
Per ulteriori informazioni, controlla la ricerca originale: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Puoi trovare l'exploit in https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py
Impatto Potenziale: Privesc al ruolo IAM di cloudformation.
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.