AWS - S3 Unauthenticated Enum
Last updated
Last updated
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)
Kanta se smatra “javnom” ako bilo koji korisnik može da prikaže sadržaj kante, i “privatnom” ako se sadržaj kante može prikazati ili pisati samo od strane određenih korisnika.
Kompanije mogu imati pogrešno konfigurisane dozvole kanti koje daju pristup ili svemu ili svima koji su autentifikovani u AWS-u u bilo kojem nalogu (dakle, bilo kome). Imajte na umu da čak i sa takvim pogrešnim konfiguracijama neke radnje možda neće moći da se izvrše jer kante mogu imati svoje vlastite liste kontrole pristupa (ACL).
Saznajte više o AWS-S3 pogrešnoj konfiguraciji ovde: http://flaws.cloud i http://flaws2.cloud/
Različite metode za pronalaženje kada veb stranica koristi AWS za skladištenje nekih resursa:
Korišćenje wappalyzer dodatka za pretraživač
Korišćenje burp-a (spidering veba) ili ručnim navigiranjem kroz stranicu, svi resursi učitani će biti sačuvani u Istoriji.
Proverite resurse na domenima kao što su:
Proverite za CNAMES jer resources.domain.com
može imati CNAME bucket.s3.amazonaws.com
Proverite https://buckets.grayhatwarfare.com, veb sa već otkrivenim otvorenim kantama.
Ime kante i ime domena kante moraju biti ista.
flaws.cloud je na IP 52.92.181.107 i ako odete tamo, preusmerava vas na https://aws.amazon.com/s3/. Takođe, dig -x 52.92.181.107
daje s3-website-us-west-2.amazonaws.com
.
Da biste proverili da li je to kanta, možete takođe posetiti https://flaws.cloud.s3.amazonaws.com/.
Možete pronaći kante brute-forcing imena povezanih sa kompanijom koju testirate:
https://github.com/jordanpotti/AWSBucketDump (Sadrži listu sa potencijalnim imenima kanti)
S obzirom na otvorene S3 kante, BucketLoot može automatski tražiti zanimljive informacije.
Možete pronaći sve podržane regione od strane AWS-a na https://docs.aws.amazon.com/general/latest/gr/s3.html
Možete dobiti region kante sa dig
i nslookup
tako što ćete uraditi DNS zahtev otkrivenog IP-a:
Proverite da li rešen domen sadrži reč "website".
Možete pristupiti statičkom vebsajtu odlaskom na: flaws.cloud.s3-website-us-west-2.amazonaws.com
ili možete pristupiti bucket-u posetom: flaws.cloud.s3-us-west-2.amazonaws.com
Ako pokušate da pristupite bucket-u, ali u domen imenu navedete drugu regiju (na primer, bucket je u bucket.s3.amazonaws.com
, ali pokušavate da pristupite bucket.s3-website-us-west-2.amazonaws.com
, tada ćete biti upučeni na ispravnu lokaciju:
Da biste testirali otvorenost bucket-a, korisnik može jednostavno uneti URL u svoj veb pregledač. Privatni bucket će odgovoriti sa "Access Denied". Javni bucket će navesti prvih 1,000 objekata koji su sačuvani.
Otvoreno za sve:
Privatno:
Takođe možete proveriti ovo sa cli:
Ako kofa nema ime domena, prilikom pokušaja da je enumerišete, samo stavite ime kofi i ne celu AWSs3 domenu. Primer: s3://<BUCKETNAME>
Moguće je odrediti AWS nalog koristeći novu S3:ResourceAccount
Ključ uslova politike. Ovaj uslov ograničava pristup na osnovu S3 bucket-a u kojem se nalog nalazi (druge politike zasnovane na nalogu ograničavaju na osnovu naloga u kojem se nalazi traženi princip).
I pošto politika može sadržati džoker znakove, moguće je pronaći broj naloga samo jedan broj u isto vreme.
Ovaj alat automatizuje proces:
Ova tehnika takođe funkcioniše sa API Gateway URL-ovima, Lambda URL-ovima, Data Exchange skupovima podataka, pa čak i za dobijanje vrednosti oznaka (ako znate ključ oznake). Možete pronaći više informacija u originalnom istraživanju i alatu conditional-love za automatizaciju ove eksploatacije.
Kao što je objašnjeno u ovom blog postu, ako imate dozvole za listanje kofa moguće je potvrditi accountID kojem kofa pripada slanjem zahteva kao što je:
Ako je greška "Pristup odbijen", to znači da je ID naloga bio pogrešan.
Kao što je objašnjeno u ovom blog postu, moguće je proveriti da li je adresa e-pošte povezana sa nekim AWS nalogom tako što se pokušava dodeliti e-pošti dozvole za S3 bucket putem ACL-ova. Ako ovo ne izazove grešku, to znači da je e-pošta root korisnik nekog AWS naloga:
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)