AWS - Codestar Privesc
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Codestar
Weitere Informationen zu Codestar finden Sie in:
codestar:CreateProject, codestar:AssociateTeamMember
iam:PassRole
, codestar:CreateProject
Mit diesen Berechtigungen können Sie eine Codestar IAM-Rolle missbrauchen, um willkürliche Aktionen über eine CloudFormation-Vorlage auszuführen. Überprüfen Sie die folgende Seite:
iam:PassRole, codestar:CreateProject
codestar:CreateProject
, codestar:AssociateTeamMember
Diese Technik verwendet codestar:CreateProject
, um ein Codestar-Projekt zu erstellen, und codestar:AssociateTeamMember
, um einen IAM-Benutzer zum Eigentümer eines neuen CodeStar-Projekts zu machen, was ihnen eine neue Richtlinie mit einigen zusätzlichen Berechtigungen gewährt.
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
Wenn Sie bereits ein Mitglied des Projekts sind, können Sie die Berechtigung codestar:UpdateTeamMember
verwenden, um Ihre Rolle auf Eigentümer anstelle von codestar:AssociateTeamMember
zu aktualisieren.
Potenzielle Auswirkungen: Privesc zur codestar-Policy, die generiert wurde. Ein Beispiel für diese Policy finden Sie in:
codestar:CreateProject, codestar:AssociateTeamMember
codestar:CreateProjectFromTemplate
- Neues Projekt erstellen:
- Nutzen Sie die Aktion
codestar:CreateProjectFromTemplate
, um die Erstellung eines neuen Projekts zu initiieren. - Nach erfolgreicher Erstellung wird automatisch Zugriff auf
cloudformation:UpdateStack
gewährt. - Dieser Zugriff zielt speziell auf einen Stack, der mit der
CodeStarWorker-<generischer Projektname>-CloudFormation
IAM-Rolle verbunden ist.
- Ziel-Stack aktualisieren:
- Mit den gewährten CloudFormation-Berechtigungen fahren Sie fort, den angegebenen Stack zu aktualisieren.
- Der Name des Stacks wird typischerweise einem von zwei Mustern entsprechen:
awscodestar-<generischer Projektname>-infrastructure
awscodestar-<generischer Projektname>-lambda
- Der genaue Name hängt von der gewählten Vorlage ab (siehe Beispiel-Exploit-Skript).
- Zugriff und Berechtigungen:
- Nach der Aktualisierung erhalten Sie die Fähigkeiten, die der CloudFormation IAM-Rolle zugeordnet sind, die mit dem Stack verbunden ist.
- Hinweis: Dies gewährt nicht automatisch vollständige Administratorrechte. Weitere falsch konfigurierte Ressourcen innerhalb der Umgebung könnten erforderlich sein, um die Berechtigungen weiter zu erhöhen.
Für weitere Informationen überprüfen Sie die ursprüngliche Forschung: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Sie finden den Exploit unter https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py
Potenzielle Auswirkungen: Privesc zur CloudFormation IAM-Rolle.
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.