AWS - Codestar Privesc
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Codestar
Możesz znaleźć więcej informacji o codestar w:
codestar:CreateProject, codestar:AssociateTeamMember
iam:PassRole, codestar:CreateProject
Dzięki tym uprawnieniom możesz nadużyć roli IAM codestar do wykonania dowolnych działań za pomocą szablonu cloudformation. Sprawdź następującą stronę:
iam:PassRole, codestar:CreateProject
codestar:CreateProject, codestar:AssociateTeamMember
Ta technika wykorzystuje codestar:CreateProject do stworzenia projektu codestar oraz codestar:AssociateTeamMember do uczynienia użytkownika IAM właścicielem nowego projektu CodeStar, co przyzna im nową politykę z kilkoma dodatkowymi uprawnieniami.
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
Jeśli jesteś już członkiem projektu, możesz użyć uprawnienia codestar:UpdateTeamMember do aktualizacji swojej roli na właściciela zamiast codestar:AssociateTeamMember.
Potencjalny wpływ: Privesc do polityki codestar. Przykład tej polityki można znaleźć w:
codestar:CreateProject, codestar:AssociateTeamMember
codestar:CreateProjectFromTemplate
- Utwórz nowy projekt:
- Wykorzystaj akcję
codestar:CreateProjectFromTemplatedo rozpoczęcia tworzenia nowego projektu. - Po pomyślnym utworzeniu, dostęp jest automatycznie przyznawany dla
cloudformation:UpdateStack. - Ten dostęp dotyczy konkretnego stosu powiązanego z rolą IAM
CodeStarWorker-<nazwa ogólnego projektu>-CloudFormation.
- Zaktualizuj docelowy stos:
- Posiadając przyznane uprawnienia CloudFormation, przystąp do aktualizacji określonego stosu.
- Nazwa stosu zazwyczaj będzie odpowiadać jednemu z dwóch wzorców:
awscodestar-<nazwa ogólnego projektu>-infrastructureawscodestar-<nazwa ogólnego projektu>-lambda- Dokładna nazwa zależy od wybranego szablonu (odnosząc się do przykładowego skryptu exploit).
- Dostęp i uprawnienia:
- Po aktualizacji uzyskujesz możliwości przypisane do roli IAM CloudFormation powiązanej ze stosem.
- Uwaga: To nie zapewnia z natury pełnych uprawnień administratora. Dodatkowe źle skonfigurowane zasoby w środowisku mogą być wymagane do dalszego podniesienia uprawnień.
Aby uzyskać więcej informacji, sprawdź oryginalne badania: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Możesz znaleźć exploit w https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py
Potencjalny wpływ: Privesc do roli IAM cloudformation.
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

