AWS - ECS Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

ECS

Temel Bilgiler

Amazon Elastic Container Services veya ECS, bulut ortamında konteynerize uygulamaları barındırmak için bir platform sağlar. ECS'nin iki dağıtım yöntemi vardır, EC2 örneği ve serverless seçeneği olan Fargate. Bu hizmet, konteynerleri bulutta çalıştırmayı çok kolay ve sorunsuz hale getirir.

ECS, aşağıdaki üç yapı bloğunu kullanarak çalışır: Kümeler, Hizmetler ve Görev Tanımları.

  • Kümeler, bulutta çalışan konteyner gruplarıdır. Daha önce belirtildiği gibi, konteynerler için iki başlatma türü vardır: EC2 ve Fargate. AWS, EC2 başlatma türünü, müşterilere "konteynerize uygulamalarını yönettiğiniz bir Amazon EC2 örneği kümesinde çalıştırmanıza izin verir" şeklinde tanımlar. Fargate ise benzer şekilde, "arka uç altyapıyı sağlamak ve yönetmek için ihtiyaç duymadan konteynerize uygulamalarınızı çalıştırmanıza izin verir" şeklinde tanımlanır.

  • Hizmetler, bir kümeye içeride çalışacak görevleri çalıştırmaktan sorumludur. Bir hizmet tanımı içinde, çalıştırılacak görev sayısını, otomatik ölçeklendirmeyi, kapasite sağlayıcıyı (Fargate/EC2/Harici), VPC'ler, alt ağlar ve güvenlik grupları gibi ağ bilgilerini tanımlarsınız.

  • 2 tür uygulama vardır:

  • Hizmet: Durdurulup yeniden başlatılabilen uzun süreli bir hesaplama işini yöneten görevlerin bir grubu. Örneğin, bir web uygulaması.

  • Görev: Çalışan ve sona eren bağımsız bir görev. Örneğin, bir toplu iş.

  • Hizmet uygulamaları arasında 2 tür hizmet planlayıcısı bulunur:

  • REPLICA: Kopya planlama stratejisi, istenen sayıda görevi kümenize yerleştirir ve sürdürür. Herhangi bir nedenle bir görev kapanırsa, aynı veya farklı bir düğümde yeni bir görev başlatılır.

  • DAEMON: İhtiyaç duyulan gereksinimlere sahip her aktif konteyner örneğine tam olarak bir görev dağıtır. Belirli bir görev sayısı, görev yerleştirme stratejisi veya Hizmet Otomatik Ölçeklendirme politikaları belirtmeye gerek yoktur.

  • Görev Tanımları, çalışacak konteynerleri tanımlamaktan ve konteynerlerle ilgili çeşitli parametreleri yapılandırmaktan sorumludur, örneğin ana makineyle port eşlemeleri, env değişkenleri, Docker entrypoint...

  • Hassas bilgiler için env değişkenlerini kontrol edin!

Görev Tanımlarında Hassas Veri

Görev tanımları, ECS'de çalışacak gerçek konteynerleri yapılandırmaktan sorumludur. Görev tanımları, konteynerlerin nasıl çalışacağını tanımladığı için birçok bilgi içerebilir.

Pacu, ECS'yi (list-clusters, list-container-instances, list-services, list-task-definitions) numaralandırabilir ve görev tanımlarını da dökümleyebilir.

Numaralandırma

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

Kimlik Doğrulama Gerektirmeyen Erişim

İst Privileges

Aşağıdaki sayfada, ECS izinlerini kötüye kullanarak ayrıcalıkları yükseltme yöntemlerini kontrol edebilirsiniz:

Saldırı Sonrası

Kalıcılık

AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated