AWS - ECS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Amazon Elastic Container Services ή ECS παρέχει μια πλατφόρμα για φιλοξενία εφαρμογών σε κοντέινερ στο cloud. Το ECS έχει δύο μεθόδους ανάπτυξης, τύπου EC2 και μια χωρίς διακομιστή επιλογή, Fargate. Η υπηρεσία καθιστά πολύ εύκολη και χωρίς πόνο τη λειτουργία κοντέινερ στο cloud.
Το ECS λειτουργεί χρησιμοποιώντας τα παρακάτω τρία δομικά στοιχεία: Clusters, Services, και Task Definitions.
Clusters είναι ομάδες κοντέινερ που εκτελούνται στο cloud. Όπως αναφέρθηκε προηγουμένως, υπάρχουν δύο τύποι εκκίνησης για τα κοντέινερ, EC2 και Fargate. Η AWS ορίζει τον τύπο εκκίνησης EC2 ως επιτρέποντας στους πελάτες “να εκτελούν [τις] κοντενέρισμένες εφαρμογές τους σε ένα cluster από Amazon EC2 instances που [οι ίδιοι] διαχειρίζονται”. Fargate είναι παρόμοιο και ορίζεται ως “[επιτρέποντας] να εκτελείτε τις κοντενέρισμένες εφαρμογές σας χωρίς την ανάγκη να προμηθεύσετε και να διαχειριστείτε την υποδομή backend”.
Services δημιουργούνται μέσα σε ένα cluster και είναι υπεύθυνα για την εκτέλεση των εργασιών. Μέσα σε έναν ορισμό υπηρεσίας ορίζετε τον αριθμό των εργασιών που θα εκτελούνται, την αυτόματη κλιμάκωση, τον πάροχο χωρητικότητας (Fargate/EC2/External), πληροφορίες δικτύωσης όπως VPC, υποδίκτυα και ομάδες ασφαλείας.
Υπάρχουν 2 τύποι εφαρμογών:
Service: Μια ομάδα εργασιών που χειρίζεται μια μακροχρόνια υπολογιστική εργασία που μπορεί να σταματήσει και να επανεκκινήσει. Για παράδειγμα, μια διαδικτυακή εφαρμογή.
Task: Μια αυτόνομη εργασία που εκτελείται και τερματίζεται. Για παράδειγμα, μια εργασία batch.
Μεταξύ των εφαρμογών υπηρεσίας, υπάρχουν 2 τύποι προγραμματιστών υπηρεσιών:
REPLICA: Η στρατηγική προγραμματισμού replica τοποθετεί και διατηρεί τον επιθυμητό αριθμό εργασιών σε όλο το cluster σας. Εάν για κάποιο λόγο μια εργασία κλείσει, μια νέα εκκινείται στον ίδιο ή σε διαφορετικό κόμβο.
DAEMON: Αναπτύσσει ακριβώς μία εργασία σε κάθε ενεργό κοντέινερ instance που έχει τις απαραίτητες απαιτήσεις. Δεν υπάρχει ανάγκη να καθορίσετε έναν επιθυμητό αριθμό εργασιών, μια στρατηγική τοποθέτησης εργασιών ή να χρησιμοποιήσετε πολιτικές αυτόματης κλιμάκωσης υπηρεσίας.
Task Definitions είναι υπεύθυνες για τον καθορισμό των κοντέινερ που θα εκτελούνται και τις διάφορες παραμέτρους που θα ρυθμιστούν με τα κοντέινερ όπως χαρτογραφήσεις θυρών με τον οικοδεσπότη, μεταβλητές περιβάλλοντος, Docker entrypoint...
Ελέγξτε τις μεταβλητές περιβάλλοντος για ευαίσθητες πληροφορίες!
Οι ορισμοί εργασιών είναι υπεύθυνοι για τη ρύθμιση των πραγματικών κοντέινερ που θα εκτελούνται στο ECS. Δεδομένου ότι οι ορισμοί εργασιών καθορίζουν πώς θα εκτελούνται τα κοντέινερ, μπορεί να βρεθεί μια πληθώρα πληροφοριών μέσα σε αυτούς.
Το Pacu μπορεί να απαριθμήσει το ECS (list-clusters, list-container-instances, list-services, list-task-definitions), μπορεί επίσης να εκφορτώσει τους ορισμούς εργασιών.
Στην επόμενη σελίδα μπορείτε να δείτε πώς να καταχραστείτε τα δικαιώματα ECS για να κλιμακώσετε τα προνόμια:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)