AWS - ECS Enum

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

ECS

Informazioni di base

Amazon Elastic Container Services o ECS fornisce una piattaforma per ospitare applicazioni containerizzate nel cloud. ECS ha due metodi di deploy, il tipo di istanza EC2 e un'opzione serverless, Fargate. Il servizio rende molto facile ed indolore l'esecuzione di container nel cloud.

ECS opera utilizzando i seguenti tre elementi fondamentali: Cluster, Servizi e Definizioni di Task.

  • Cluster sono gruppi di container che vengono eseguiti nel cloud. Come già accennato, ci sono due tipi di lancio per i container, EC2 e Fargate. AWS definisce il tipo di lancio EC2 come permettendo ai clienti "di eseguire le loro applicazioni containerizzate su un cluster di istanze Amazon EC2 che gestiscono". Fargate è simile e viene definito come "permettendoti di eseguire le tue applicazioni containerizzate senza la necessità di provvedere e gestire l'infrastruttura di backend".

  • Servizi vengono creati all'interno di un cluster e sono responsabili dell'esecuzione dei task. All'interno di una definizione di servizio si definisce il numero di task da eseguire, il ridimensionamento automatico, il provider di capacità (Fargate/EC2/Esterno), informazioni di networking come VPC, subnet e gruppi di sicurezza.

  • Ci sono 2 tipi di applicazioni:

  • Servizio: Un gruppo di task che gestiscono un lavoro di calcolo a lungo termine che può essere interrotto e riavviato. Ad esempio, un'applicazione web.

  • Task: Un task autonomo che viene eseguito e terminato. Ad esempio, un lavoro batch.

  • Tra le applicazioni di servizio, ci sono 2 tipi di scheduler di servizio:

  • REPLICA: La strategia di pianificazione delle repliche posiziona e mantiene il numero desiderato di task nel tuo cluster. Se per qualche motivo un task viene interrotto, ne viene lanciato uno nuovo nello stesso o in un nodo diverso.

  • DAEMON: Distribuisce esattamente un task su ogni istanza di container attiva che ha i requisiti necessari. Non è necessario specificare un numero desiderato di task, una strategia di posizionamento dei task o utilizzare le politiche di ridimensionamento automatico del servizio.

  • Le Definizioni di Task sono responsabili di definire quali container verranno eseguiti e i vari parametri che verranno configurati con i container come mappature delle porte con l'host, variabili di ambiente, entrypoint di Docker...

  • Controlla le variabili di ambiente per informazioni sensibili!

Dati Sensibili nelle Definizioni di Task

Le definizioni di task sono responsabili di configurare i container effettivi che verranno eseguiti in ECS. Poiché le definizioni di task definiscono come verranno eseguiti i container, è possibile trovare una moltitudine di informazioni al loro interno.

Pacu può enumerare ECS (list-clusters, list-container-instances, list-services, list-task-definitions), può anche eseguire il dump delle definizioni di task.

Enumerazione

# 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>

Accesso non autenticato

Privesc

Nella seguente pagina puoi verificare come abusare delle autorizzazioni ECS per ottenere privilegi elevati:

Post Exploitation

Persistenza

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated