AWS - ECS Enum

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

ECS

Basic Information

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’s, υποδίκτυα και ομάδες ασφαλείας.
  • Υπάρχουν 2 τύποι εφαρμογών:
  • Service: Μια ομάδα εργασιών που χειρίζεται μια μακροχρόνια υπολογιστική εργασία που μπορεί να σταματήσει και να επανεκκινηθεί. Για παράδειγμα, μια διαδικτυακή εφαρμογή.
  • Task: Μια αυτόνομη εργασία που εκτελείται και τερματίζεται. Για παράδειγμα, μια εργασία batch.
  • Μεταξύ των εφαρμογών υπηρεσίας, υπάρχουν 2 τύποι προγραμματιστών υπηρεσιών:
  • REPLICA: Η στρατηγική προγραμματισμού replica τοποθετεί και διατηρεί τον επιθυμητό αριθμό εργασιών σε όλο το cluster σας. Εάν για κάποιο λόγο μια εργασία κλείσει, μια νέα εκκινείται στην ίδια ή σε διαφορετική κόμβο.
  • DAEMON: Αναπτύσσει ακριβώς μία εργασία σε κάθε ενεργό κοντέινερ instance που έχει τις απαραίτητες απαιτήσεις. Δεν υπάρχει ανάγκη να καθορίσετε έναν επιθυμητό αριθμό εργασιών, μια στρατηγική τοποθέτησης εργασιών ή να χρησιμοποιήσετε πολιτικές αυτόματης κλιμάκωσης υπηρεσίας.
  • Task Definitions είναι υπεύθυνες για τον καθορισμό των κοντέινερ που θα εκτελούνται και τις διάφορες παραμέτρους που θα ρυθμιστούν με τα κοντέινερ όπως χαρτογραφήσεις θυρών με τον οικοδεσπότη, μεταβλητές περιβάλλοντος, Docker entrypoint
  • Ελέγξτε τις μεταβλητές περιβάλλοντος για ευαίσθητες πληροφορίες!

Sensitive Data In Task Definitions

Οι ορισμοί εργασιών είναι υπεύθυνοι για τη ρύθμιση των πραγματικών κοντέινερ που θα εκτελούνται στο ECS. Δεδομένου ότι οι ορισμοί εργασιών καθορίζουν πώς θα εκτελούνται τα κοντέινερ, μπορεί να βρεθεί μια πληθώρα πληροφοριών μέσα.

Το Pacu μπορεί να απαριθμήσει το ECS (list-clusters, list-container-instances, list-services, list-task-definitions), μπορεί επίσης να εκφορτώσει τους ορισμούς εργασιών.

Enumeration

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

Μη Αυθεντικοποιημένη Πρόσβαση

AWS - ECS Unauthenticated Enum

Ανάβαση Δικαιωμάτων

Στην παρακάτω σελίδα μπορείτε να δείτε πώς να καταχραστείτε τα δικαιώματα ECS για να αναβαθμίσετε τα δικαιώματα:

AWS - ECS Privesc

Μετά την Εκμετάλλευση

AWS - ECS Post Exploitation

Επιμονή

AWS - ECS Persistence

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