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)
A quanto pare, per impostazione predefinita, nei workspace i membri possono creare gruppi e invitare persone a farne parte. Puoi quindi modificare l'email che verrà inviata all'utente aggiungendo alcuni link. L'email verrà inviata da un indirizzo google, quindi sembrerà legittima e le persone potrebbero cliccare sul link.
È anche possibile impostare l'indirizzo FROM come l'email del gruppo Google per inviare ulteriori email agli utenti all'interno del gruppo, come nell'immagine seguente dove il gruppo google--support@googlegroups.com
è stato creato e un'email è stata inviata a tutti i membri del gruppo (che sono stati aggiunti senza alcun consenso)
Potresti essere in grado di iniziare una chat con una persona avendo solo il suo indirizzo email o inviare un'invito a parlare. Inoltre, è possibile creare uno Spazio che può avere qualsiasi nome (ad es. "Google Support") e invitare membri a farne parte. Se accettano, potrebbero pensare di stare parlando con il supporto Google:
Nei miei test, tuttavia, i membri invitati non hanno nemmeno ricevuto un invito.
Puoi controllare come questo funzionava in passato in: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
In passato era possibile creare un documento apparentemente legittimo e in un commento menzionare un'email (come @user@gmail.com). Google inviava un'email a quell'indirizzo email notificando che era stato menzionato nel documento. Oggigiorno, questo non funziona, ma se dai accesso al documento all'email della vittima, Google invierà un'email che lo indica. Questo è il messaggio che appare quando menzioni qualcuno:
Le vittime potrebbero avere meccanismi di protezione che non consentono che le email che indicano che un documento esterno è stato condiviso con loro raggiungano la loro email.
Puoi creare un evento di calendario e aggiungere quanti più indirizzi email dell'azienda stai attaccando. Pianifica questo evento di calendario in 5 o 15 minuti dall'ora attuale. Fai sembrare l'evento legittimo e metti un commento e un titolo che indicano che devono leggere qualcosa (con il link di phishing).
Questo è l'avviso che apparirà nel browser con un titolo di riunione "Licenziamento di persone", quindi potresti impostare un titolo più simile al phishing (e persino cambiare il nome associato alla tua email).
Per farlo sembrare meno sospetto:
Impostalo in modo che i destinatari non possano vedere le altre persone invitate
NON inviare email che notificano l'evento. Allora, le persone vedranno solo il loro avviso riguardo a una riunione tra 5 minuti e che devono leggere quel link.
A quanto pare, utilizzando l'API puoi impostare su True che le persone hanno accettato l'evento e persino creare commenti a loro nome.
È possibile creare uno script in https://script.google.com/ e esporlo come un'applicazione web accessibile a tutti che utilizzerà il dominio legittimo script.google.com
.
Con un codice come il seguente, un attaccante potrebbe far caricare contenuti arbitrari in questa pagina senza smettere di accedere al dominio:
Ad esempio, accedendo a https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec vedrai:
Nota che apparirà un avviso mentre il contenuto viene caricato all'interno di un iframe.
È possibile creare App Scripts collegati a documenti per cercare di ottenere accesso al token OAuth di una vittima, per ulteriori informazioni controlla:
GWS - App ScriptsQualsiasi delle tecniche precedenti potrebbe essere utilizzata per far accedere l'utente a un Google OAuth application che richiederà all'utente alcuni accessi. Se l'utente si fida della fonte, potrebbe fidarsi dell'applicazione (anche se sta chiedendo permessi con privilegi elevati).
Nota che Google presenta un avviso poco attraente che avvisa che l'applicazione non è attendibile in diversi casi e gli amministratori di Workspace possono persino impedire alle persone di accettare le applicazioni OAuth.
Google consente di creare applicazioni che possono interagire per conto degli utenti con diversi servizi Google: Gmail, Drive, GCP...
Quando si crea un'applicazione per agire per conto di altri utenti, lo sviluppatore deve creare un OAuth app all'interno di GCP e indicare gli ambiti (permessi) di cui l'app ha bisogno per accedere ai dati degli utenti. Quando un utente desidera utilizzare quell'applicazione, verrà richiesto di accettare che l'applicazione avrà accesso ai propri dati specificati negli ambiti.
Questo è un modo molto allettante per phishare utenti non tecnici nell'utilizzo di applicazioni che accedono a informazioni sensibili perché potrebbero non comprendere le conseguenze. Tuttavia, negli account aziendali, ci sono modi per prevenire che ciò accada.
Come è stato menzionato, Google presenterà sempre un avviso all'utente per accettare i permessi che stanno dando all'applicazione per conto loro. Tuttavia, se l'applicazione è considerata pericolosa, Google mostrerà prima un avviso che indica che è pericolosa e rende più difficile per l'utente concedere i permessi all'app.
Questo avviso appare nelle app che:
Usano qualsiasi ambito che può accedere a dati privati (Gmail, Drive, GCP, BigQuery...)
App con meno di 100 utenti (per app > 100 è necessario anche un processo di revisione per smettere di mostrare l'avviso di non verifica)
Qui puoi trovare un elenco di tutti gli ambiti OAuth di Google.
cloud-platform: Visualizza e gestisci i tuoi dati attraverso i servizi di Google Cloud Platform. Puoi impersonare l'utente in GCP.
admin.directory.user.readonly: Vedi e scarica la directory GSuite della tua organizzazione. Ottieni nomi, telefoni, URL del calendario di tutti gli utenti.
Inizia a creare un OAuth Client ID
Vai a https://console.cloud.google.com/apis/credentials/oauthclient e clicca su configura la schermata di consenso.
Poi, ti verrà chiesto se il tipo di utente è interno (solo per le persone nella tua organizzazione) o esterno. Seleziona quello che meglio si adatta alle tue esigenze
Interno potrebbe essere interessante se hai già compromesso un utente dell'organizzazione e stai creando questa App per phishingare un altro.
Dai un nome all'app, un email di supporto (nota che puoi impostare un'email di googlegroup per cercare di anonimizzarti un po' di più), un logo, domini autorizzati e un'altra email per aggiornamenti.
Seleziona gli ambiti OAuth.
Questa pagina è divisa in permessi non sensibili, permessi sensibili e permessi ristretti. Ogni volta che aggiungi un nuovo permesso, viene aggiunto alla sua categoria. A seconda dei permessi richiesti, appariranno diversi avvisi all'utente che indicano quanto siano sensibili questi permessi.
Sia admin.directory.user.readonly
che cloud-platform
sono permessi sensibili.
Aggiungi gli utenti di test. Finché lo stato dell'app è in fase di test, solo questi utenti potranno accedere all'app, quindi assicurati di aggiungere l'email che intendi phishingare.
Ora otteniamo credenziali per un'applicazione web utilizzando il OAuth Client ID precedentemente creato:
Torna a https://console.cloud.google.com/apis/credentials/oauthclient, questa volta apparirà un'opzione diversa.
Seleziona di creare credenziali per un'applicazione web
Imposta gli origini Javascript e gli URI di reindirizzamento necessari
Puoi impostare in entrambi qualcosa come http://localhost:8000/callback
per i test
Ottieni le credenziali della tua applicazione
Infine, eseguiamo un'applicazione web che utilizzerà le credenziali dell'applicazione OAuth. Puoi trovare un esempio in https://github.com/carlospolop/gcp_oauth_phishing_example.
Vai a http://localhost:8000
, clicca sul pulsante Accedi con Google, ti verrà richiesto un messaggio come questo:
L'applicazione mostrerà il token di accesso e di aggiornamento che possono essere facilmente utilizzati. Per ulteriori informazioni su come utilizzare questi token controlla:
GCP - Token Persistanceglcoud
È possibile fare qualcosa utilizzando gcloud invece della console web, controlla:
GCP - ClientAuthConfig Priveschttps://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 e Beau Bullock - OK Google, come faccio a Red Team GSuite?
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)