AWS - ECS Post Exploitation
Last updated
Last updated
Daha fazla bilgi için kontrol edin:
ECS'de bir IAM rolü, konteyner içinde çalışan göreve atanabilir. Eğer görev bir EC2 örneğinde çalıştırılıyorsa, EC2 örneğine bağlı başka bir IAM rolü olacaktır. Bu da demek oluyor ki, bir ECS örneğini ele geçirmeyi başarırsanız, ECR ve EC2 örneğiyle ilişkili IAM rolünü potansiyel olarak elde edebilirsiniz. Bu kimlik bilgilerini nasıl elde edeceğiniz hakkında daha fazla bilgi için kontrol edin:
EC2 örneği IMDSv2'yi zorluyorsa, belgelere göre, PUT isteğinin yanıtının 1 atlamalı bir sınırlama olacaktır, bu da EC2 örneği içindeki bir konteynerden EC2 meta verilerine erişimi imkansız hale getirecektir.
Ancak daha da önemlisi, EC2, ECs görevlerini çalıştırmak için docker kullanır, bu yüzden düğüme kaçabilir veya docker soketine erişebilirseniz, çalışan diğer konteynerleri kontrol edebilir ve hatta içlerine girip bağlı oldukları IAM rollerini çalabilirsiniz.
Ayrıca, EC2 örneği rolü genellikle küme içindeki düğüs olarak kullanılan EC2 örneklerinin konteyner örneği durumunu güncelleme yetkisine sahip olacaktır. Bir saldırgan, bir örneğin durumunu DRAINING olarak değiştirebilir, ardından ECS, tüm görevleri ondan kaldıracak ve REPLICA olarak çalışan görevler, potansiyel olarak saldırganın örneğinde çalışacak şekilde farklı bir örnekte çalıştırılacaktır, böylece konteyner içinden IAM rollerini ve potansiyel hassas bilgileri çalabilir.
Aynı teknik, EC2 örneğini kümeden kaydını silerek yapılabilir. Bu potansiyel olarak daha az gizli olabilir, ancak görevlerin başka örneklerde çalışmasını zorlayacaktır:
ECS'yi görevin veya konteynerin durdurulduğunu belirterek görevlerin yeniden yürütülmesini zorlamak için son bir teknik, ECS'ye bildirimde bulunmaktır. Bunun için 3 potansiyel API bulunmaktadır:
EC2 örneği muhtemelen ecr:GetAuthorizationToken
iznine de sahip olacak, bu da ona görüntüleri indirme yeteneği sağlar (onlarda hassas bilgiler arayabilirsiniz).