AWS - API Gateway Unauthenticated Enum

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Bypass API poziva

Prema predavanju Attack Vectors for APIs Using AWS API Gateway Lambda Authorizers - Alexandre & Leonardo, Lambda Authorizers mogu biti konfigurisani korišćenjem IAM sintakse kako bi dali dozvole za pozivanje API endpointova. Ovo je preuzeto iz dokumenata:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Permission",
"Action": [
"execute-api:Execution-operation"
],
"Resource": [
"arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path"
]
}
]
}

Problem sa ovim načinom davanja dozvola za pozivanje krajnjih tačaka je taj što "*" implicira "bilo šta" i više nema podrške za regex sintaksu.

Neki primeri:

  • Pravilo poput arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/* kako bi se omogućio pristup svakom korisniku za /dashboard/user/{username} će im omogućiti pristup i drugim rutama poput /admin/dashboard/createAdmin, na primer.

Imajte na umu da "*" ne zaustavlja širenje sa kosim crtama, stoga, ako koristite "*" u api-id na primer, to takođe može ukazivati na "bilo koji stage" ili "bilo koji metod" sve dok je konačni regex i dalje validan. Dakle, arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/* Može validirati post zahtev za test stage na putanji /prod/GET/dashboard/admin, na primer.

Uvek biste trebali jasno znati šta želite da dozvolite pristup i zatim proveriti da li su drugi scenariji mogući sa dodeljenim dozvolama.

Za više informacija, pored dokumenata, možete pronaći kod za implementaciju autorizatora na ovom zvaničnom aws github-u.

IAM Ubacivanje politike

U istom razgovoru je izloženo da ako kod koristi korisnički unos za generisanje IAM politika, džokere (i druge poput "." ili specifične stringove) mogu biti uključeni sa ciljem zaobilaznja ograničenja.

Javni URL šablon

https://{random_id}.execute-api.{region}.amazonaws.com/{user_provided}

Dobijanje ID naloga sa javnog API Gateway URL-a

Baš kao i sa S3 kantama, Data Exchange i Lambda URL-ovima gateway-a, moguće je pronaći ID naloga zloupotrebom aws:ResourceAccount Policy Condition Key sa javnog API Gateway URL-a. Ovo se radi pronalaženjem ID naloga po jedan karakter koristeći džokere u delu aws:ResourceAccount politike. Ova tehnika takođe omogućava dobijanje vrednosti oznaka ako znate ključ oznake (postoje neki podrazumevano zanimljivi).

Više informacija možete pronaći u originalnom istraživanju i alatu conditional-love za automatizaciju ove eksploatacije.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated