AWS - ECS Privesc
ECS
Περισσότερες πληροφορίες για το ECS στο:
AWS - ECS Enumiam:PassRole
, ecs:RegisterTaskDefinition
, ecs:RunTask
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:RunTask
Ένας επιτιθέμενος που καταχράται την άδεια iam:PassRole
, ecs:RegisterTaskDefinition
και ecs:RunTask
στο ECS μπορεί να δημιουργήσει μια νέα ορισμού εργασίας με ένα κακόβουλο container που κλέβει τα διαπιστευτήρια μεταδεδομένων και να το εκτελέσει.
Πιθανές Επιπτώσεις: Άμεση ανέλιξη προνομίων σε διαφορετικό ρόλο ECS.
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
Όπως και στο προηγούμενο παράδειγμα, ένας επιτιθέμενος που καταχράται τα δικαιώματα iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:StartTask
στο ECS μπορεί να δημιουργήσει μια νέα ορισμού εργασίας με ένα κακόβουλο container που κλέβει τα διαπιστευτήρια μεταδεδομένων και να το εκτελέσει.
Ωστόσο, σε αυτήν την περίπτωση, χρειάζεται να υπάρχει μια περίπτωση container για να εκτελεστεί ο κακόβουλος ορισμός εργασίας.
Πιθανές Επιπτώσεις: Άμεση ανέλιξη προνομίων σε οποιονδήποτε ρόλο ECS.
iam:PassRole
, ecs:RegisterTaskDefinition
, (ecs:UpdateService|ecs:CreateService)
iam:PassRole
, ecs:RegisterTaskDefinition
, (ecs:UpdateService|ecs:CreateService)
Όπως και στο προηγούμενο παράδειγμα, ένας επιτιθέμενος που καταχράται τα δικαιώματα iam:PassRole
, ecs:RegisterTaskDefinition
, ecs:UpdateService
ή ecs:CreateService
στο ECS μπορεί να δημιουργήσει μια νέα ορισμού εργασίας με ένα κακόβουλο container που κλέβει τα διαπιστευτήρια μεταδεδομένων και να το εκτελέσει δημιουργώντας ένα νέο service με τουλάχιστον 1 εκτελούμενη εργασία.
Πιθανές Επιπτώσεις: Άμεση ανέλιξη προνομίων σε οποιονδήποτε ρόλο ECS.
ecs:RegisterTaskDefinition
, (ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
ecs:RegisterTaskDefinition
, (ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
Αυτό το σενάριο είναι παρόμοιο με τα προηγούμενα, αλλά χωρίς την άδεια iam:PassRole
.
Αυτό είναι ακόμα ενδιαφέρον, επειδή αν μπορείτε να εκτελέσετε έναν αυθαίρετο container, ακόμα κι αν δεν έχει ρόλο, μπορείτε να εκτελέσετε ένα προνομιούχο container για να δραπετεύσετε στον κόμβο και να κλέψετε τον ρόλο EC2 IAM και τους άλλους ρόλους των ECS containers που εκτελούνται στον κόμβο.
Μπορείτε ακόμα να αναγκάσετε άλλες εργασίες να εκτελούνται μέσα στην EC2 instance που έχετε παραβιάσει για να κλέψετε τα διαπιστευτήριά τους (όπως συζητήθηκε στην ενότητα Ανέλιξη προνομίων στον κόμβο).
Αυτή η επίθεση είναι δυνατή μόνο εάν ο συστάδα ECS χρησιμοποιεί EC2 instances και όχι Fargate.
ecs:ExecuteCommand
, ecs:DescribeTasks,
(ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
ecs:ExecuteCommand
, ecs:DescribeTasks,
(ecs:RunTask|ecs:StartTask|ecs:UpdateService|ecs:CreateService)
Ένας επιτιθέμενος με τα δικαιώματα ecs:ExecuteCommand
, ecs:DescribeTasks
μπορεί να εκτελέσει εντολές μέσα σε ένα εκτελούμενο container και να αποστείλει τον ρόλο IAM που είναι συνδεδεμένος με αυτό (χρειάζεστε τα δικαιώματα describe επειδή είναι απαραίτητο να εκτελεστεί το aws ecs execute-command
).
Ωστόσο, για να γίνει αυτό, η περίπτωση του container πρέπει να εκτελεί τον ExecuteCommand agent (που από προεπιλογή δεν είναι ενεργοποιημένος).
Συνεπώς, ο επιτιθέμενος μπορεί να προσπαθήσει:
Να εκτελέσει μια εντολή σε κάθε εκτελούμενο container
Εάν έχει το
ecs:RunTask
, εκτελέστε μια εργασία με την εντολήaws ecs run-task --enable-execute-command [...]
Εάν έχει το
ecs:StartTask
, εκτελέστε μια εργασία με την εντολήaws ecs start-task --enable-execute-command [...]
Εάν έχει το
ecs:CreateService
, δημιουργήστε έναν υπηρεσία με την εντολήaws ecs create-service --enable-execute-command [...]
Εάν έχει το
ecs:UpdateService
, ενημερώστε μια υπηρεσία με την εντολήaws ecs update-service --enable-execute-command [...]
Μπορείτε να βρείτε παραδείγματα αυτών των επιλογών στις προηγούμενες ενότητες προνομιούχου ανέλιξης ECS.
Πιθανές Επιπτώσεις: Ανέλιξη προνομιούχου ρόλου που είναι συνδεδεμένος με τους εμπορεύματα.
ssm:StartSession
ssm:StartSession
Ελέγξτε στη σελίδα ανέλιξης ssm πώς μπορείτε να καταχραστείτε αυτήν την άδεια για να αναβαθμίσετε σε ECS:
AWS - SSM Privesciam:PassRole
, ec2:RunInstances
iam:PassRole
, ec2:RunInstances
Ελέγξτε στη σελίδα ανέλιξης ec2 πώς μπορείτε να καταχραστείτε αυτές τις άδειες για να αναβαθμίσετε σε ECS:
AWS - EC2 Privesc?ecs:RegisterContainerInstance
?ecs:RegisterContainerInstance
TODO: Είναι δυνατόν να καταχωρήσετε μια περίπτωση από διαφορετικό λογαριασμό AWS, έτσι ώστε οι εργασίες να εκτελούνται υπό μηχανές που ελέγχονται από τον επιτιθέμενο;;
ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
, ecs:DescribeTaskSets
ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
, ecs:DescribeTaskSets
TODO: Δοκιμάστε αυτό
Ένας επιτιθέμενος με τις άδειες ecs:CreateTaskSet
, ecs:UpdateServicePrimaryTaskSet
και ecs:DescribeTaskSets
μπορεί να δημιουργήσει ένα κακόβουλο σύνολο εργασιών για μια υπάρχουσα υπηρεσία ECS και να ενημερώσει το κύριο σύνολο εργασιών. Αυτό επιτρέπει στον επιτιθέμενο να εκτελέσει αυθαίρετο κώδικα μέσα στην υπηρεσία.
Πιθανές Επιπτώσεις: Εκτέλεση αυθαίρετου κώδικα στην επηρεαζόμενη υπηρεσία, με πιθανή επίδραση στη λειτουργικότητά της ή στη διαρροή ευαίσθητων δεδομένων.
Αναφορές
Last updated