AWS - S3 Unauthenticated Enum
Javni S3 Bucketi
Bucket se smatra "javni" ako bilo koji korisnik može da vidi sadržaj bucketa, i "privatni" ako sadržaj bucketa može videti ili pisati samo određeni korisnici.
Kompanije mogu imati nespravno konfigurisane dozvole za buckete dajući pristup ili svemu ili svakome ko je autentifikovan u AWS-u u bilo kojem nalogu (tako da svako može pristupiti). Imajte na umu da čak i sa takvim nespravnim konfiguracijama neke radnje možda neće moći da se izvrše jer bucketi mogu imati svoje liste kontrola pristupa (ACL).
Saznajte više o AWS-S3 nespravnoj konfiguraciji ovde: http://flaws.cloud i http://flaws2.cloud/
Pronalaženje AWS Bucket-a
Različite metode za pronalaženje kada veb stranica koristi AWS za skladištenje nekih resursa:
Enumeracija & OSINT:
Korišćenjem wappalyzer dodatka za pregledač
Korišćenjem burp-a (spidering weba) ili ručnim navigiranjem kroz stranicu svi resursi učitani će biti sačuvani u Istoriji.
Proverite resurse na domenima kao:
Proverite CNAMES jer
resources.domain.com
može imati CNAMEbucket.s3.amazonaws.com
Proverite https://buckets.grayhatwarfare.com, veb sa već otkrivenim otvorenim bucketima.
Ime bucketa i domen bucketa moraju biti isti.
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
dajes3-website-us-west-2.amazonaws.com
.Da biste proverili da li je u pitanju bucket možete takođe posetiti https://flaws.cloud.s3.amazonaws.com/.
Brute-Force
Možete pronaći buckete brute-forcing-om imena povezanih sa kompanijom koju pentestirate:
https://github.com/jordanpotti/AWSBucketDump (Sadrži listu potencijalnih imena bucketa)
Pljačka S3 kanti
Dajući otvorene S3 kante, BucketLoot može automatski tražiti zanimljive informacije.
Pronađi region
Sve podržane regione od strane AWS možete pronaći na https://docs.aws.amazon.com/general/latest/gr/s3.html
Preko DNS-a
Možete dobiti region kante pomoću dig
i nslookup
izvršavajući DNS zahtev otkrivenoj IP adresi:
Proverite da li rešena domena sadrži reč "website".
Možete pristupiti statičkom veb-sajtu odlaskom na: flaws.cloud.s3-website-us-west-2.amazonaws.com
ili možete pristupiti kanti posetom: flaws.cloud.s3-us-west-2.amazonaws.com
Pokušajem
Ako pokušate da pristupite kanti, ali u imeni domena navedete drugu regiju (na primer, kanta je u bucket.s3.amazonaws.com
ali pokušavate da pristupite bucket.s3-website-us-west-2.amazonaws.com
), bićete upućeni na ispravnu lokaciju:
Enumeracija kante
Da biste testirali otvorenost kante, korisnik jednostavno može uneti URL u svoj veb pregledač. Privatna kanta će odgovoriti sa "Pristup odbijen". Javna kanta će izlistati prvih 1.000 objekata koji su sačuvani.
Otvoreno za sve:
Privatno:
Takođe možete proveriti ovo pomoću komandne linije:
Šablon javnog URL-a
Ako kanta nema ime domena, prilikom pokušaja enumeracije, samo stavite ime kante a ne ceo AWSs3 domen. Primer: s3://<IMEKANTE>
Dobijanje ID naloga iz javnog Bucket-a
Moguće je odrediti AWS nalog iskorišćavanjem nove S3:ResourceAccount
Policy Condition Key. Ova uslov ograničava pristup na osnovu S3 bucket-a u kojem se nalazi nalog (ostale politike zasnovane na nalozima ograničavaju se na osnovu naloga u kojem se nalazi zahtevajući princip).
I pošto politika može sadržati zvezdice, moguće je pronaći broj naloga samo po jedan broj u isto vreme.
Ovaj alat automatizuje proces:
Ova tehnika takođe radi sa URL-ovima API Gateway-a, Lambda URL-ovima, Data Exchange data setovima čak i za dobijanje vrednosti tagova (ako znate ključ taga). Više informacija možete pronaći u originalnom istraživanju i alatu conditional-love za automatizaciju ovog iskorišćavanja.
Reference
Last updated