AWS - ECS Post Exploitation
ECS
Για περισσότερες πληροφορίες ελέγξτε:
AWS - ECS EnumΡόλοι IAM του Κεντρικού Συστήματος Ελέγχου (ECS)
Στο ECS, ένας ρόλος IAM μπορεί να ανατεθεί στην εργασία που εκτελείται μέσα στον εμπορευματοκιβώτιο. Εάν η εργασία εκτελείται μέσα σε μια EC2 περίπτωση, η περίπτωση EC2 θα έχει έναν άλλο ρόλο IAM που της είναι επισυναπτόμενος. Αυτό σημαίνει ότι εάν καταφέρετε να παραβιάσετε μια περίπτωση ECS, μπορείτε πιθανώς να αποκτήσετε τον ρόλο IAM που συσχετίζεται με το ECR και την περίπτωση EC2. Για περισσότερες πληροφορίες σχετικά με το πώς να αποκτήσετε αυτές τις πιστοποιήσεις, ελέγξτε:
Σημειώστε ότι εάν η περίπτωση EC2 επιβάλλει το IMDSv2, σύμφωνα με τα έγγραφα, η απόκριση του αιτήματος PUT θα έχει ένα όριο αναπήδησης 1, καθιστώντας αδύνατη την πρόσβαση στα μεταδεδομένα της περίπτωσης EC2 από ένα εμπορευματοκιβώτιο μέσα στην περίπτωση EC2.
Ανέβασμα δικαιωμάτων σε κόμβο για κλοπή διαπιστευτηρίων και μυστικών άλλων εμπορευματοκιβωτίων
Ωστόσο, η EC2 χρησιμοποιεί το Docker για να εκτελέσει τις εργασίες του ECS, οπότε εάν μπορείτε να δραπετεύσετε στον κόμβο ή να αποκτήσετε πρόσβαση στο socket του Docker, μπορείτε να ελέγξετε ποια άλλα εμπορευματοκιβώτια εκτελούνται και ακόμα και να μπείτε μέσα σε αυτά και να κλέψετε τους ρόλους IAM που είναι συνδεδεμένοι με αυτά.
Εκτέλεση εμπορευματοκιβωτίων στον τρέχοντα κόμβο
Επιπλέον, ο ρόλος της περίπτωσης EC2 θα έχει συνήθως αρκετές άδειες για να ενημερώσει την κατάσταση της περίπτωσης του εμπορευματοκιβωτίου των περιπτώσεων EC2 που χρησιμοποιούνται ως κόμβοι μέσα στο σύμπλεγμα. Ένας επιτιθέμενος μπορεί να τροποποιήσει την κατάσταση μιας περίπτωσης σε DRAINING, τότε το ECS θα αφαιρέσει όλες τις εργασίες από αυτήν και αυτές που εκτελούνται ως REPLICA θα εκτελεστούν σε μια διαφορετική περίπτωση, πιθανώς μέσα στην περίπτωση του επιτιθέμενου, έτσι ώστε να μπορεί να κλέψει τους ρόλους IAM τους και πιθανά ευαίσθητες πληροφορίες από μέσα στο εμπορευματοκιβώτιο.
Η ίδια τεχνική μπορεί να γίνει απεγγράφοντας την EC2 περίπτωση από το cluster. Αυτό είναι πιθανώς λιγότερο αόρατο, αλλά θα αναγκάσει τις εργασίες να εκτελεστούν σε άλλες περιπτώσεις:
Μια τελική τεχνική για να αναγκάσουμε την επανεκτέλεση των εργασιών είναι να ενημερώσουμε το ECS ότι η εργασία ή το container έχει διακοπεί. Υπάρχουν 3 πιθανές διεπαφές API για να το κάνουμε αυτό:
Κλέψτε ευαίσθητες πληροφορίες από τα containers του ECR
Το EC2 instance πιθανότατα θα έχει επίσης την άδεια ecr:GetAuthorizationToken
που του επιτρέπει να κατεβάζει εικόνες (μπορείτε να αναζητήσετε ευαίσθητες πληροφορίες μέσα σε αυτές).
Last updated