GWS - Google Platforms Phishing
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Naime, po defaultu, u workspace članovi mogu kreirati grupe i pozivati ljude u njih. Zatim možete izmeniti email koji će biti poslat korisniku dodajući neke linkove. Email će doći sa google adrese, tako da će izgledati legitimno i ljudi bi mogli kliknuti na link.
Takođe je moguće postaviti FROM adresu kao Google grupu email da se pošalje više emailova korisnicima unutar grupe, kao na sledećoj slici gde je grupa google--support@googlegroups.com
kreirana i email je poslat svim članovima grupe (koji su dodati bez ikakvog pristanka)
Možda ćete moći ili da započnete chat sa osobom samo imajući njihovu email adresu ili da pošaljete pozivnicu za razgovor. Štaviše, moguće je kreirati Space koji može imati bilo koje ime (npr. "Google Support") i pozvati članove u njega. Ako prihvate, mogli bi pomisliti da razgovaraju sa Google podrškom:
Međutim, u mom testiranju pozvani članovi nisu čak ni primili pozivnicu.
Možete proveriti kako je to funkcionisalo u prošlosti na: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
U prošlosti je bilo moguće kreirati naizgled legitimni dokument i u komentaru spomenuti neki email (kao @user@gmail.com). Google je poslao email toj adresi obaveštavajući da su spomenuti u dokumentu. Danas, to ne funkcioniše, ali ako dajte žrtvi pristup emailu dokumentu Google će poslati email koji to ukazuje. Ovo je poruka koja se pojavljuje kada nekoga spomenete:
Žrtve mogu imati mehanizam zaštite koji ne dozvoljava da emailovi koji ukazuju da je eksterni dokument podeljen sa njima stignu do njihove email adrese.
Možete kreirati kalendarski događaj i dodati koliko god email adresa kompanije koju napadate imate. Zakazujte ovaj kalendarski događaj za 5 ili 15 minuta od trenutnog vremena. Neka događaj izgleda legitimno i stavite komentar i naslov koji ukazuje da treba da pročitaju nešto (sa phishing linkom).
Ovo je upozorenje koje će se pojaviti u pretraživaču sa naslovom sastanka "Otpustiti ljude", tako da biste mogli postaviti naslov koji više liči na phishing (i čak promeniti ime povezano sa vašim emailom).
Da bi izgledalo manje sumnjivo:
Postavite tako da primalaci ne mogu videti druge pozvane ljude
NE šaljite emailove koji obaveštavaju o događaju. Tada će ljudi samo videti svoje upozorenje o sastanku za 5 minuta i da treba da pročitaju taj link.
Naime, koristeći API možete postaviti na True da su ljudi prihvatili događaj i čak kreirati komentare u njihovo ime.
Moguće je kreirati skriptu na https://script.google.com/ i izložiti je kao web aplikaciju dostupnu svima koja će koristiti legitimnu domenu script.google.com
.
Sa nekim kodom poput sledećeg, napadač bi mogao učiniti da skripta učita proizvoljan sadržaj na ovoj stranici bez prestanka pristupajući domeni:
Na primer, pristupanjem https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec videćete:
Napomena: upozorenje će se pojaviti dok se sadržaj učitava unutar iframe-a.
Moguće je kreirati App Scripts povezane sa dokumentima kako bi se pokušao dobiti pristup žrtvinom OAuth tokenu, za više informacija pogledajte:
Bilo koja od prethodnih tehnika može se koristiti da se korisnik natera da pristupi Google OAuth aplikaciji koja će tražiti od korisnika neki pristup. Ako korisnik veruje izvoru, može verovati i aplikaciji (čak i ako traži visoke privilegije).
Napomena: Google prikazuje ružnu poruku upozorenja koja obaveštava da je aplikacija nepouzdana u nekoliko slučajeva, a Workspace administratori čak mogu sprečiti ljude da prihvate OAuth aplikacije.
Google omogućava kreiranje aplikacija koje mogu interagovati u ime korisnika sa nekoliko Google servisa: Gmail, Drive, GCP...
Kada se kreira aplikacija da deluje u ime drugih korisnika, programer treba da kreira OAuth aplikaciju unutar GCP i da označi opsege (dozvole) kojima aplikacija treba pristup korisničkim podacima. Kada korisnik želi da koristi tu aplikaciju, biće upitan da prihvati da će aplikacija imati pristup njihovim podacima navedenim u opsezima.
Ovo je veoma primamljiv način da se phish netehnički korisnici u korišćenju aplikacija koje pristupaju osetljivim informacijama jer možda ne razumeju posledice. Međutim, u organizacionim nalozima postoje načini da se to spreči.
Kao što je pomenuto, Google će uvek prikazati poruku korisniku da prihvati dozvole koje daju aplikaciji u njihovo ime. Međutim, ako se aplikacija smatra opasnom, Google će prvo prikazati poruku koja ukazuje da je opasna i otežava korisniku da odobri dozvole aplikaciji.
Ova poruka se pojavljuje u aplikacijama koje:
Koriste bilo koji opseg koji može pristupiti privatnim podacima (Gmail, Drive, GCP, BigQuery...)
Aplikacije sa manje od 100 korisnika (aplikacije > 100 zahtevaju proces pregleda da bi prestale da prikazuju neproverenu poruku)
Ovde možete pronaći listu svih Google OAuth opsega.
cloud-platform: Prikazivanje i upravljanje vašim podacima širom Google Cloud Platform servisa. Možete se pretvarati da ste korisnik u GCP.
admin.directory.user.readonly: Prikazivanje i preuzimanje direktorijuma GSuite vaše organizacije. Dobijanje imena, telefona, URL-ova kalendara svih korisnika.
Započnite kreiranje OAuth Client ID
Idite na https://console.cloud.google.com/apis/credentials/oauthclient i kliknite na konfigurišite ekran za pristanak.
Zatim, bićete upitani da li je tip korisnika interni (samo za ljude u vašoj organizaciji) ili spoljašnji. Izaberite onaj koji odgovara vašim potrebama
Interni može biti zanimljiv ako ste već kompromitovali korisnika organizacije i kreirate ovu aplikaciju da biste phishingovali drugog.
Dajte ime aplikaciji, email za podršku (napomena: možete postaviti email googlegroup-a da biste pokušali da se malo više anonimno), logo, ovlašćene domene i drugi email za ažuriranja.
Izaberite OAuth opsege.
Ova stranica je podeljena na neosetljive dozvole, osetljive dozvole i ograničene dozvole. Svaki put kada dodate novu dozvolu, ona se dodaje u svoju kategoriju. U zavisnosti od traženih dozvola, različite poruke će se pojaviti korisniku ukazujući na to koliko su te dozvole osetljive.
I admin.directory.user.readonly
i cloud-platform
su osetljive dozvole.
Dodajte test korisnike. Dok je status aplikacije testiranje, samo će ovi korisnici moći da pristupe aplikaciji, pa se pobrinite da dodate email koji ćete phishingovati.
Sada da dobijemo akreditiv za web aplikaciju koristeći prethodno kreirani OAuth Client ID:
Vratite se na https://console.cloud.google.com/apis/credentials/oauthclient, ovoga puta će se pojaviti drugačija opcija.
Izaberite da kreirate akreditive za web aplikaciju
Postavite potrebne Javascript izvore i URI za preusmeravanje
Možete postaviti u oba nešto poput http://localhost:8000/callback
za testiranje
Dobijte svoje akreditive za aplikaciju
Na kraju, hajde da pokrenemo web aplikaciju koja će koristiti akreditive OAuth aplikacije. Primer možete pronaći na https://github.com/carlospolop/gcp_oauth_phishing_example.
Idite na http://localhost:8000
, kliknite na dugme Prijavite se sa Google-om, bićete upitani sa porukom poput ove:
Aplikacija će prikazati pristupni i osvežavajući token koji se lako može koristiti. Za više informacija o kako koristiti ove tokene proverite:
glcoud
Moguće je uraditi nešto koristeći gcloud umesto web konzole, proverite:
https://www.youtube-nocookie.com/embed/6AsVUS79gLw - Matthew Bryant - Hacking G Suite: Moć mračnog aplikativnog skripta
https://www.youtube.com/watch?v=KTVHLolz6cE - Mike Felch i Beau Bullock - OK Google, kako da uradim Red Team GSuite?
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)