AWS - API Gateway Unauthenticated Enum
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:
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
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.
Last updated