GWS - Google Platforms Phishing
Reading time: 9 minutes
tip
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)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Generic Phishing Methodology
Phishing Methodology - HackTricks
Google Groups Phishing
Naime, po default-u, članovi u workspace-u 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 grupnu email adresu 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)
 (1).png)
Google Chat Phishing
Možda ćete moći 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:
.png)
tip
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
Google Doc Phishing
U prošlosti je bilo moguće kreirati naizgled legitimni dokument i u komentaru spomenuti neku email adresu (kao što je @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 dokumentu Google će poslati email koji to označava. Ovo je poruka koja se pojavljuje kada nekoga spomenete:
.png)
tip
Ž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.
Google Calendar Phishing
Možete kreirati kalendarski događaj i dodati koliko god email adresa kompanije koju napadate imate. Zakazujte ovaj kalendarski događaj u 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 "Otpustanje ljudi", tako da možete postaviti naslov koji više liči na phishing (i čak promeniti ime povezano sa vašom email adresom).
.png)
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.
App Scripts Redirect Phishing
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 napraviti da skripta učita proizvoljan sadržaj na ovoj stranici bez prestanka pristupajući domeni:
function doGet() {
return HtmlService.createHtmlOutput(
'<meta http-equiv="refresh" content="0;url=https://cloud.hacktricks.wiki/en/pentesting-cloud/workspace-security/gws-google-platforms-phishing/index.html#app-scripts-redirect-phishing">'
).setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
}
Na primer, pristupanjem https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec videćete:
 (1).png)
tip
Imajte na umu da će se pojaviti upozorenje dok se sadržaj učitava unutar iframe-a.
App Scripts OAuth Phishing
Moguće je kreirati App Scripts povezane sa dokumentima kako bi se pokušalo dobiti pristup žrtvinom OAuth tokenu, za više informacija pogledajte:
OAuth Apps Phishing
Bilo koja od prethodnih tehnika može se koristiti da se korisnik natera da pristupi Google OAuth aplikaciji koja će tražiti od korisnika neka prava. Ako korisnik veruje izvoru, može verovati aplikaciji (čak i ako traži visoka privilegovana prava).
note
Imajte na umu da Google prikazuje ružnu poruku upozorenja 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) koje aplikacija treba da pristupi podacima korisnika.
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 organizacijama postoje načini da se to spreči.
Unverified App prompt
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 (za aplikacije sa više od 100 korisnika takođe je potreban proces pregleda da bi se prestalo sa prikazivanjem nepouzdane poruke)
Interesting Scopes
Ovde možete pronaći listu svih Google OAuth opsega.
- cloud-platform: Pregledajte i upravljajte svojim podacima širom Google Cloud Platform servisa. Možete se pretvarati da ste korisnik u GCP.
- admin.directory.user.readonly: Vidite i preuzmite direktorijum vaše organizacije GSuite. Dobijate imena, telefone, URL-ove kalendara svih korisnika.
Create an OAuth App
Započnite kreiranje OAuth Client ID
- Idite na https://console.cloud.google.com/apis/credentials/oauthclient i kliknite na konfiguraciju ekrana 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 phishingujete drugog.
- Dajte ime aplikaciji, email za podršku (imajte na umu da 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 koliko su te dozvole osetljive.
- I
admin.directory.user.readonly
icloud-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 aplikacije
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.
git clone ttps://github.com/carlospolop/gcp_oauth_phishing_example
cd gcp_oauth_phishing_example
pip install flask requests google-auth-oauthlib
python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"
Idite na http://localhost:8000
, kliknite na dugme Prijavite se sa Google-om, bićete upitani sa porukom poput ove:
.png)
Aplikacija će prikazati access i refresh token koji se mogu lako koristiti. Za više informacija o kako koristiti ove tokene proverite:
Korišćenje glcoud
Moguće je uraditi nešto koristeći gcloud umesto web konzole, proverite:
GCP - ClientAuthConfig Privesc
Reference
- https://www.youtube-nocookie.com/embed/6AsVUS79gLw - Matthew Bryant - Hacking G Suite: The Power of Dark Apps Script Magic
- https://www.youtube.com/watch?v=KTVHLolz6cE - Mike Felch i Beau Bullock - OK Google, Kako da Red Team GSuite?
tip
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)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.