AWS - API Gateway Unauthenticated Enum
Last updated
Last updated
Učite i vežbajte AWS Hacking:HackTricks Obuka AWS Red Team Ekspert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Obuka GCP Red Team Ekspert (GRTE)
Prema predavanju Napadi Vektori za API-je koristeći AWS API Gateway Lambda Autorizatore - Alexandre & Leonardo, Lambda Autorizatori mogu biti konfigurisani koristeći IAM sintaksu da daju dozvole za pozivanje API krajnjih tačaka. Ovo je preuzeto iz dokumentacije:
The problem with this way to give permissions to invoke endpoints is that the "*" implicira "bilo šta" i da nema više regex sintakse podržane.
Some examples:
Pravilo kao što je arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/*
kako bi se svakom korisniku omogućio pristup /dashboard/user/{username}
će im omogućiti pristup i drugim rutama kao što je /admin/dashboard/createAdmin
, na primer.
Napomena da "*" ne prestaje da se širi sa kosim crticama, stoga, ako koristite "*" u api-id, na primer, to može takođe označavati "bilo koju fazu" ili "bilo koju metodu" sve dok je konačni regex još uvek validan.
Dakle, arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/*
Može validirati post zahtev za test fazu na putanji /prod/GET/dashboard/admin
, na primer.
Trebalo bi uvek da imate jasno šta želite da dozvolite da pristupi i zatim proverite da li su drugi scenariji mogući sa dodeljenim dozvolama.
Za više informacija, osim dokumentacije, možete pronaći kod za implementaciju autorizatora u ovom zvaničnom aws github-u.
U istoj prezentaciji je izložena činjenica da ako kod koristi ulaz korisnika za generisanje IAM politika, džokeri (i drugi kao što su "." ili specifične stringove) mogu biti uključeni sa ciljem obilaženja ograničenja.
Baš kao i sa S3 kanticama, Data Exchange i Lambda URL-ovima, moguće je pronaći ID naloga koristeći aws:ResourceAccount
Policy Condition Key iz javnog API Gateway URL-a. To se radi pronalaženjem ID-a naloga jedan po jedan karakter koristeći džokere u aws:ResourceAccount
sekciji politike.
Ova tehnika takođe omogućava dobijanje vrednosti oznaka ako znate ključ oznake (ima nekoliko podrazumevanih zanimljivih).
Možete pronaći više informacija u originalnom istraživanju i alatu conditional-love za automatizaciju ove eksploatacije.
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)