AWS - API Gateway Post Exploitation
API Gateway
Kwa maelezo zaidi angalia:
AWS - API Gateway EnumKupata APIs ambazo hazijafichuliwa
Unaweza kuunda endpoint katika https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint na huduma com.amazonaws.us-east-1.execute-api
, kufichua endpoint katika mtandao ambapo una ufikiaji (inawezekana kupitia mashine ya EC2) na kupeana kikundi cha usalama kinachoruhusu miunganisho yote.
Kisha, kutoka kwa mashine ya EC2 utaweza kufikia endpoint na hivyo kupiga simu API ya gateway ambayo haikufichuliwa hapo awali.
Kuepuka Request body passthrough
Mbinu hii ilipatikana katika hii CTF writeup.
Kama ilivyoonyeshwa katika hati za AWS katika sehemu ya PassthroughBehavior
, kwa default, thamani WHEN_NO_MATCH
, wakati wa kuangalia kichwa cha Content-Type cha ombi, itapitisha ombi kwa back end bila mabadiliko.
Kwa hivyo, katika CTF API Gateway ilikuwa na template ya ujumuishaji ambayo ilikuwa ikizuia bendera kutoka kwa kuvuja katika jibu wakati ombi lilitumwa na Content-Type: application/json
:
Hata hivyo, kutuma ombi na Content-type: text/json
kungezuia kichujio hicho.
Hatimaye, kwa kuwa API Gateway ilikuwa inaruhusu tu Get
na Options
, ilikuwa inawezekana kutuma swala lolote la dynamoDB bila kikomo kwa kutuma ombi la POST na swala kwenye mwili na kutumia kichwa X-HTTP-Method-Override: GET
:
Usage Plans DoS
Katika sehemu ya Enumeration unaweza kuona jinsi ya kupata mpango wa matumizi ya funguo. Ikiwa una ufunguo na umewekewa kikomo cha matumizi X kwa mwezi, unaweza kuutumia tu na kusababisha DoS.
API Key inahitaji tu kujumuishwa ndani ya HTTP header inayoitwa x-api-key
.
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
Mshambulizi mwenye ruhusa za apigateway:UpdateGatewayResponse
na apigateway:CreateDeployment
anaweza kubadilisha Jibu la Gateway lililopo ili kujumuisha vichwa vya kawaida au templates za majibu ambazo zinavuja taarifa nyeti au kutekeleza scripts mbaya.
Athari Zinazowezekana: Uvujaji wa taarifa nyeti, utekelezaji wa script mbaya, au ufikiaji usioidhinishwa wa rasilimali za API.
Inahitaji kupimwa
apigateway:UpdateStage
, apigateway:CreateDeployment
apigateway:UpdateStage
, apigateway:CreateDeployment
Mshambuliaji mwenye ruhusa za apigateway:UpdateStage
na apigateway:CreateDeployment
anaweza kubadilisha hatua ya API Gateway iliyopo ili kuelekeza trafiki kwenye hatua tofauti au kubadilisha mipangilio ya kuhifadhi akiba ili kupata ufikiaji usioidhinishwa wa data iliyohifadhiwa.
Athari Zinazowezekana: Ufikiaji usioidhinishwa wa data iliyohifadhiwa, kuvuruga au kuingilia trafiki ya API.
Inahitaji kupimwa
apigateway:PutMethodResponse
, apigateway:CreateDeployment
apigateway:PutMethodResponse
, apigateway:CreateDeployment
Mshambuliaji mwenye ruhusa za apigateway:PutMethodResponse
na apigateway:CreateDeployment
anaweza kubadilisha majibu ya njia ya API Gateway REST API iliyopo ili kujumuisha vichwa maalum au templates za majibu zinazovujisha taarifa nyeti au kutekeleza scripts za hatari.
Potential Impact: Uvujaji wa taarifa nyeti, kutekeleza script mbaya, au kupata rasilimali za API bila ruhusa.
Inahitaji kupimwa
apigateway:UpdateRestApi
, apigateway:CreateDeployment
apigateway:UpdateRestApi
, apigateway:CreateDeployment
Mshambuliaji mwenye ruhusa za apigateway:UpdateRestApi
na apigateway:CreateDeployment
anaweza kubadilisha mipangilio ya API Gateway REST API ili kuzima logging au kubadilisha toleo la chini la TLS, jambo ambalo linaweza kudhoofisha usalama wa API.
Athari Zinazowezekana: Kudhoofisha usalama wa API, ikiruhusu upatikanaji usioidhinishwa au kufichua taarifa nyeti.
Inahitaji kupimwa
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
Mshambulizi mwenye ruhusa za apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, na apigateway:CreateUsagePlanKey
anaweza kuunda funguo mpya za API, kuzihusisha na mipango ya matumizi, na kisha kutumia funguo hizi kwa upatikanaji usioidhinishwa wa APIs.
Potential Impact: Ufikiaji usioidhinishwa wa rasilimali za API, kupita udhibiti wa usalama.
Inahitaji kupimwa
Last updated