Pentesting Cloud Methodology
Osnovna metodologija
Svaki oblak ima svoje specifičnosti, ali uopšteno postoje neke uobičajene stvari koje bi pentester trebao proveriti prilikom testiranja oblak okruženja:
Provera benchmarka
Ovo će vam pomoći da razumete veličinu okruženja i korišćene usluge
Takođe će vam omogućiti da pronađete neke brze greške u konfiguraciji jer većinu ovih testova možete izvršiti pomoću automatizovanih alata
Enumeracija usluga
Verovatno nećete pronaći mnogo više grešaka u konfiguraciji ovde ako ste pravilno izvršili test benchmarka, ali možda ćete pronaći neke koje nisu bile predmet benchmark testa.
Ovo će vam omogućiti da znate šta se tačno koristi u oblaku
Ovo će mnogo pomoći u sledećim koracima
Provera izloženih resursa
Ovo se može uraditi tokom prethodne sekcije, trebate pronaći sve što je potencijalno izloženo na neki način na internetu i kako mu se može pristupiti.
Ovde se misli na ručno izloženu infrastrukturu kao što su instance sa veb stranicama ili drugim otvorenim portovima, kao i na druge oblakom upravljane usluge koje se mogu konfigurisati da budu izložene (kao što su baze podataka ili bucketi)
Zatim trebate proveriti da li se taj resurs može izložiti ili ne (poverljive informacije? ranjivosti? greške u konfiguraciji izložene usluge?)
Provera dozvola
Ovde trebate pronaći sve dozvole svake uloge/korisnika unutar oblaka i kako se koriste
Previše visoko privilegovanih (kontrolišu sve) naloga? Generisani ključevi koji se ne koriste?... Većina ovih provera trebala bi biti obavljena u testovima benchmarka
Ako klijent koristi OpenID ili SAML ili neko drugo udruživanje, možda ćete morati da ih pitate za dodatne informacije o načinu dodele svake uloge (nije isto da li je admin uloga dodeljena 1 korisniku ili 100)
Nije dovoljno pronaći koje korisnike imaju admin dozvole "*:*". Postoji mnogo drugih dozvola koje, u zavisnosti od korišćenih usluga, mogu biti vrlo osetljive.
Osim toga, postoje potencijalni načini eskalacije privilegija koje treba uzeti u obzir i treba prijaviti što je više moguće putanja eskalacije privilegija.
Provera integracija
Vrlo je verovatno da se integracije sa drugim oblakom ili SaaS-om koriste unutar oblak okruženja.
Za integracije oblaka koji se testira sa drugom platformom trebali biste obavestiti ko ima pristup (zlo)upotrebi te integracije i trebali biste pitati koliko je osetljiva akcija koja se izvršava. Na primer, ko može pisati u AWS bucket iz kojeg GCP preuzima podatke (pitajte koliko je osetljiva akcija u GCP-u koja obrađuje te podatke).
Za integracije unutar oblaka koji se testira sa spoljnim platformama, trebali biste pitati ko ima spoljni pristup (zlo)upotrebi te integracije i proveriti kako se ti podaci koriste. Na primer, ako usluga koristi Docker sliku smeštenu u GCR-u, trebali biste pitati ko ima pristup za izmenu te slike i koje osetljive informacije i pristup će ta slika dobiti kada se izvrši unutar AWS oblaka.
Alati za više oblaka
Postoji nekoliko alata koji se mogu koristiti za testiranje različitih oblak okruženja. Koraci za instalaciju i linkovi biće navedeni u ovoj sekciji.
Alat za identifikaciju loše konfiguracije i putanje eskalacije privilegija u oblaku i između oblaka/SaaS.
Podržava AWS, GCP & Azure. Proverite kako konfigurisati svakog provajdera na https://docs.prowler.cloud/en/latest/#aws
AWS, Azure, Github, Google, Oracle, Alibaba
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure
Preuzmite i instalirajte Steampipe (https://steampipe.io/downloads). Ili koristite Brew:
AWS, GCP, Azure, DigitalOcean. Zahteva python2.7 i izgleda da nije održavan.
Nessus
Nessus ima skeniranje Audit Cloud Infrastructure koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su dodatne konfiguracije u Azure-u da biste dobili Client Id.
Cloudlist je multi-cloud alat za dobijanje resursa (Imena hostova, IP adrese) iz Cloud provajdera.
Kartografija je Python alat koji konsoliduje infrastrukturne resurse i odnose između njih u intuitivnom prikazu grafa koji pokreće Neo4j baza podataka.
GCP (Google Cloud Platform) je jedna od najpopularnijih cloud platformi koja pruža razne usluge i resurse za razvoj, implementaciju i upravljanje aplikacija. U nastavku su opisane neke od metoda koje možete koristiti prilikom pentestiranja GCP okruženja.
1. Faza prikupljanja informacija
Identifikujte ciljnu organizaciju i njen GCP identifikator projekta.
Prikupite informacije o GCP resursima, kao što su virtualne mašine, baze podataka, mreže i skladišta podataka.
Identifikujte korisnike i njihove privilegije u GCP okruženju.
Prikupite informacije o GCP API-ima i njihovim dozvolama.
2. Faza identifikacije ranjivosti
Skenirajte GCP resurse kako biste identifikovali ranjivosti, kao što su neažurirani softveri, loše konfigurisane mreže ili nebezbedne API dozvole.
Proverite da li postoje nezaštićeni GCP resursi koji mogu biti izloženi napadima, kao što su nezaštićene baze podataka ili skladišta podataka.
3. Faza iskorišćavanja ranjivosti
Iskoristite identifikovane ranjivosti kako biste dobili neovlašćen pristup GCP resursima.
Iskoristite slabosti u konfiguraciji mreže ili API dozvolama kako biste izvršili napade poput DDoS-a ili preusmeravanja saobraćaja.
4. Faza održavanja pristupa
Održavajte pristup GCP resursima kako biste zadržali kontrolu nad okruženjem.
Sakrijte svoje aktivnosti i tragove kako biste izbegli otkrivanje.
5. Faza dokumentacije
Dokumentujte sve korake i rezultate pentestiranja GCP okruženja.
Napravite izveštaj sa preporukama za poboljšanje sigurnosti GCP okruženja.
Napomena: Pre pentestiranja GCP okruženja, uvek se konsultujte sa vlasnikom ili administratorom sistema kako biste dobili odobrenje i izbegli neželjene posledice.
Starbase prikuplja resurse i veze sa usluga i sistema, uključujući cloud infrastrukturu, SaaS aplikacije, sigurnosne kontrole i još mnogo toga, u intuitivnom prikazu grafa podržanom Neo4j bazom podataka.
Otkrijte najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.
Alatka za pronalaženje infrastrukture, datoteka i aplikacija kompanije (cilja) na vodećim cloud provajderima (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode).
CloudFox je alat za pronalaženje iskorišćivih putanja napada u cloud infrastrukturi (trenutno podržava samo AWS i Azure, sa GCP-om koji će biti dostupan uskoro).
Ovo je alat za enumeraciju koji je namenjen kao dodatak ručnom pentestiranju.
Ne kreira ili menja podatke unutar cloud okruženja.
Više lista alata za cloud bezbednost
Google
GCP
Workspace
AWS
Azure
Attack Graph
Stormspotter kreira "attack graph" resursa u Azure pretplati. Omogućava crvenim timovima i pentesterima da vizualizuju površinu napada i mogućnosti za prelazak unutar jednog zakupca, i omogućava vašim odbrambenim timovima da brzo orijentišu i prioritetizuju rad na odgovoru na incidente.
Office365
Potrebno je da imate Global Admin privilegije ili barem Global Admin Reader (ali imajte na umu da su te privilegije malo ograničene). Međutim, ove ograničenja se pojavljuju u nekim PS modulima i mogu se zaobići pristupanjem funkcijama putem web aplikacije.
Last updated