AWS - API Gateway Post Exploitation
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Daha fazla bilgi için kontrol edin:
AWS - API Gateway Enumhttps://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint adresinde com.amazonaws.us-east-1.execute-api
servisi ile bir uç nokta oluşturabilirsiniz, uç noktanızı erişiminiz olan bir ağda (potansiyel olarak bir EC2 makinesi aracılığıyla) açığa çıkarın ve tüm bağlantılara izin veren bir güvenlik grubu atayın.
Daha sonra, EC2 makinesinden uç noktaya erişebilecek ve daha önce açığa çıkarılmamış olan gateway API'yi çağırabileceksiniz.
Bu teknik bu CTF yazısında bulundu.
AWS belgelerinde PassthroughBehavior
bölümünde belirtildiği gibi, varsayılan olarak, WHEN_NO_MATCH
değeri, isteğin Content-Type başlığını kontrol ederken, isteği herhangi bir dönüşüm olmadan arka uca iletecektir.
Bu nedenle, CTF'de API Gateway, Content-Type: application/json
ile bir istek gönderildiğinde bayrağın dışarı sızmasını engelleyen bir entegrasyon şablonuna sahipti:
Ancak, Content-type: text/json
ile bir istek göndermek bu filtreyi engelleyecektir.
Son olarak, API Gateway yalnızca Get
ve Options
izin verdiğinden, gövdeye sorguyu koyarak ve X-HTTP-Method-Override: GET
başlığını kullanarak sınırsız bir dinamoDB sorgusu göndermek mümkündü:
Enumeration bölümünde anahtarların kullanım planını nasıl edineceğinizi görebilirsiniz. Anahtarınız varsa ve bu anahtar aylık X kullanım ile sınırlıysa, onu kullanabilir ve bir DoS oluşturabilirsiniz.
API Anahtarı sadece x-api-key
adlı bir HTTP başlığı içine eklenmelidir.
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
apigateway:UpdateGatewayResponse
ve apigateway:CreateDeployment
izinlerine sahip bir saldırgan, özel başlıklar veya hassas bilgileri sızdıran ya da kötü niyetli betikleri çalıştıran yanıt şablonları içerecek şekilde mevcut bir Gateway Yanıtını değiştirebilir.
Olası Etki: Hassas bilgilerin sızdırılması, kötü niyetli betiklerin çalıştırılması veya API kaynaklarına yetkisiz erişim.
Test edilmesi gerekiyor
apigateway:UpdateStage
, apigateway:CreateDeployment
apigateway:UpdateStage
ve apigateway:CreateDeployment
izinlerine sahip bir saldırgan, mevcut bir API Gateway aşamasını değiştirebilir, trafiği farklı bir aşamaya yönlendirebilir veya önbellek ayarlarını değiştirerek önbelleğe alınmış verilere yetkisiz erişim elde edebilir.
Olası Etki: Önbelleğe alınmış verilere yetkisiz erişim, API trafiğini kesintiye uğratma veya yakalama.
Test edilmesi gerekiyor
apigateway:PutMethodResponse
, apigateway:CreateDeployment
apigateway:PutMethodResponse
ve apigateway:CreateDeployment
izinlerine sahip bir saldırgan, mevcut bir API Gateway REST API yönteminin yöntem yanıtını, hassas bilgileri sızdıran veya kötü niyetli betikleri çalıştıran özel başlıklar veya yanıt şablonları içerecek şekilde değiştirebilir.
Potansiyel Etki: Hassas bilgilerin sızdırılması, kötü niyetli betiklerin çalıştırılması veya API kaynaklarına yetkisiz erişim.
Test edilmesi gerekiyor
apigateway:UpdateRestApi
, apigateway:CreateDeployment
apigateway:UpdateRestApi
ve apigateway:CreateDeployment
izinlerine sahip bir saldırgan, API Gateway REST API ayarlarını güncelleyerek günlüklemeyi devre dışı bırakabilir veya minimum TLS sürümünü değiştirebilir, bu da API'nin güvenliğini zayıflatabilir.
Potansiyel Etki: API'nin güvenliğini zayıflatma, yetkisiz erişime veya hassas bilgilerin ifşasına neden olma.
Test edilmesi gerekiyor
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
ve apigateway:CreateUsagePlanKey
izinlerine sahip bir saldırgan yeni API anahtarları oluşturabilir, bunları kullanım planlarıyla ilişkilendirebilir ve ardından bu anahtarları API'lere yetkisiz erişim için kullanabilir.
Potansiyel Etki: API kaynaklarına yetkisiz erişim, güvenlik kontrollerinin atlatılması.
Test edilmesi gerekiyor
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)