AWS - API Gateway Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Za više informacija pogledajte:
AWS - API Gateway EnumMožete kreirati endpoint na https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint sa servisom com.amazonaws.us-east-1.execute-api
, izložiti endpoint u mreži kojoj imate pristup (potencijalno putem EC2 mašine) i dodeliti sigurnosnu grupu koja omogućava sve veze.
Zatim, sa EC2 mašine moći ćete da pristupite endpoint-u i tako pozovete gateway API koji ranije nije bio izložen.
Ova tehnika je pronađena u ovoj CTF analizi.
Kao što je navedeno u AWS dokumentaciji u sekciji PassthroughBehavior
, podrazumevano, vrednost WHEN_NO_MATCH
, prilikom provere Content-Type header-a zahteva, će proslediti zahtev na backend bez transformacije.
Stoga, u CTF-u je API Gateway imao integracioni šablon koji je sprečavao da se zastavica exfiltrira u odgovoru kada je zahtev poslat sa Content-Type: application/json
:
Međutim, slanje zahteva sa Content-type: text/json
bi sprečilo taj filter.
Na kraju, pošto je API Gateway dozvoljavao samo Get
i Options
, bilo je moguće poslati proizvoljnu dynamoDB upit bez ikakvih ograničenja slanjem POST zahteva sa upitom u telu i korišćenjem zaglavlja X-HTTP-Method-Override: GET
:
U sekciji Enumeration možete videti kako da dobijete plan korišćenja ključeva. Ako imate ključ i on je ograničen na X korišćenja mesečno, možete samo da ga koristite i izazovete DoS.
API Key samo treba da bude uključen unutar HTTP header-a pod nazivom x-api-key
.
apigateway:UpdateGatewayResponse
, apigateway:CreateDeployment
Napadač sa dozvolama apigateway:UpdateGatewayResponse
i apigateway:CreateDeployment
može modifikovati postojeći Gateway Response da uključi prilagođene header-e ili šablone odgovora koji otkrivaju osetljive informacije ili izvršavaju zlonamerne skripte.
Potencijalni uticaj: Curjenje osetljivih informacija, izvršavanje malicioznih skripti ili neovlašćen pristup API resursima.
Potrebno testiranje
apigateway:UpdateStage
, apigateway:CreateDeployment
Napadač sa dozvolama apigateway:UpdateStage
i apigateway:CreateDeployment
može modifikovati postojeću API Gateway fazu da preusmeri saobraćaj na drugu fazu ili promeni postavke keširanja kako bi dobio neovlašćen pristup keširanim podacima.
Potencijalni uticaj: Neovlašćen pristup keširanim podacima, ometanje ili presretanje API saobraćaja.
Potrebno testiranje
apigateway:PutMethodResponse
, apigateway:CreateDeployment
Napadač sa dozvolama apigateway:PutMethodResponse
i apigateway:CreateDeployment
može modifikovati odgovor metode postojećeg API Gateway REST API metoda da uključuje prilagođene zaglavlja ili šablone odgovora koji otkrivaju osetljive informacije ili izvršavaju zlonamerne skripte.
Potencijalni uticaj: Curjenje osetljivih informacija, izvršavanje zlonamernih skripti ili neovlašćen pristup API resursima.
Potrebno testiranje
apigateway:UpdateRestApi
, apigateway:CreateDeployment
Napadač sa dozvolama apigateway:UpdateRestApi
i apigateway:CreateDeployment
može modifikovati podešavanja API Gateway REST API-a da onemogući logovanje ili promeni minimalnu TLS verziju, potencijalno slabeći bezbednost API-a.
Potencijalni uticaj: Slabljenje bezbednosti API-ja, što potencijalno omogućava neovlašćen pristup ili izlaganje osetljivih informacija.
Potrebno testiranje
apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
, apigateway:CreateUsagePlanKey
Napadač sa dozvolama apigateway:CreateApiKey
, apigateway:UpdateApiKey
, apigateway:CreateUsagePlan
i apigateway:CreateUsagePlanKey
može kreirati nove API ključeve, povezati ih sa planovima korišćenja, a zatim koristiti ove ključeve za neovlašćen pristup API-jima.
Potencijalni uticaj: Neovlašćen pristup API resursima, zaobilaženje bezbednosnih kontrola.
Potrebno testiranje
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)