GWS - Google Platforms Phishing
Metodologia Generica di Phishing
Phishing su Google Groups
Apparentemente, per impostazione predefinita, nei membri di workspace possono creare gruppi e invitare persone ad essi. È quindi possibile 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 fare clic sul link.
È anche possibile impostare l'indirizzo FROM come l'email del gruppo Google per inviare più email agli utenti all'interno del gruppo, come nell'immagine seguente in cui è stato creato il gruppo google--support@googlegroups.com
e un email è stato inviato a tutti i membri del gruppo (che sono stati aggiunti senza alcun consenso)
Phishing su Google Chat
Potresti essere in grado di avviare una chat con una persona avendo solo il loro indirizzo email o inviare un invito a parlare. Inoltre, è possibile creare uno Spazio che può avere qualsiasi nome (ad esempio "Supporto Google") e invitare membri ad esso. Se accettano potrebbero pensare di stanno parlando con il Supporto Google:
Nel mio test, tuttavia, i membri invitati non hanno nemmeno ricevuto un invito.
Puoi vedere come funzionava in passato qui: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s
Phishing su Google Doc
In passato era possibile creare un documento apparentemente legittimo e poi in un commento menzionare qualche email (come @user@gmail.com). Google invierà un'email a quell'indirizzo email notificando che sono stati menzionati nel documento. Oggi questo non funziona più, ma se dai accesso all'email della vittima al documento Google invierà un'email a riguardo. Questo è il messaggio che appare quando si menziona qualcuno:
Le vittime potrebbero avere meccanismi di protezione che non permettono che le email che indicano che un documento esterno è stato condiviso con loro raggiungano la loro email.
Phishing su Google Calendar
Puoi creare un evento nel calendario e aggiungere tanti indirizzi email dell'azienda che stai attaccando quanti ne hai. Programma questo evento nel calendario tra 5 o 15 minuti dall'orario attuale. Fai in modo che l'evento sembri legittimo e aggiungi un commento e un titolo che indichi che devono leggere qualcosa (con il link di phishing).
Questo è l'avviso che apparirà nel browser con un titolo dell'incontro "Licenziamento Personale", quindi potresti impostare un titolo più simile al phishing (e persino cambiare il nome associato alla tua email).
Per renderlo meno sospetto:
Impostalo in modo che i destinatari non possano vedere le altre persone invitate
NON inviare email di notifica sull'evento. Quindi, le persone vedranno solo l'avviso di un incontro tra 5 minuti e che devono leggere quel link.
Apparentemente, utilizzando l'API, puoi impostare su True che le persone hanno accettato l'evento e persino creare commenti per loro.
Phishing di Reindirizzamento degli App Scripts
È possibile creare uno script in https://script.google.com/ ed esporlo come un'applicazione web accessibile da tutti che utilizzerà il dominio legittimo script.google.com
.
Quindi, con un codice simile al seguente, un attaccante potrebbe fare in modo che lo script carichi contenuti arbitrari in questa pagina senza interrompere l'accesso al dominio:
Ad esempio, accedendo a https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec vedrai:
Nota che comparirà un avviso poiché il contenuto viene caricato all'interno di un iframe.
Phishing con OAuth di App Scripts
È possibile creare App Scripts collegati a documenti per cercare di ottenere accesso al token OAuth di una vittima, per ulteriori informazioni controlla:
GWS - App ScriptsPhishing con App OAuth
Qualsiasi delle tecniche precedenti potrebbe essere utilizzata per far sì che l'utente acceda a un applicazione OAuth di Google che richiederà all'utente alcuni accessi. Se l'utente si fida della fonte, potrebbe fidarsi dell'applicazione (anche se richiede autorizzazioni molto elevate).
Nota che Google presenta un prompt brutto che avverte che l'applicazione non è attendibile in diversi casi e gli amministratori di Workspace possono addirittura 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 app OAuth all'interno di GCP e indicare gli ambiti (autorizzazioni) di cui l'app ha bisogno per accedere ai dati degli utenti. Quando un utente vuole utilizzare quell'applicazione, gli verrà chiesto di accettare che l'applicazione abbia accesso ai loro dati specificati negli ambiti.
Questo è un modo molto efficace per phishing utenti non tecnici affinché utilizzino applicazioni che accedono a informazioni sensibili perché potrebbero non comprendere le conseguenze. Tuttavia, negli account delle organizzazioni, ci sono modi per impedire che ciò accada.
Prompt dell'App non Verificata
Come accennato, Google presenterà sempre un prompt all'utente per accettare le autorizzazioni che stanno concedendo all'applicazione per conto loro. Tuttavia, se l'applicazione è considerata pericolosa, Google mostrerà prima un prompt indicando che è pericolosa e rendendo più difficile per l'utente concedere le autorizzazioni all'app.
Questo prompt appare in app che:
Utilizzano 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 il prompt non verificato)
Ambiti Interessanti
Qui puoi trovare un elenco di tutti gli ambiti OAuth di Google.
cloud-platform: Visualizza e gestisci i tuoi dati su diversi servizi Google Cloud Platform. Puoi impersonare l'utente in GCP.
admin.directory.user.readonly: Visualizza e scarica la directory GSuite della tua organizzazione. Ottieni nomi, telefoni, URL del calendario di tutti gli utenti.
Creare un'App OAuth
Inizia creando un ID client OAuth
Vai su https://console.cloud.google.com/apis/credentials/oauthclient e fai clic su configurare lo schermo di consenso.
Quindi, ti verrà chiesto se il tipo di utente è interno (solo per le persone della 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 pescarne un altro.
Dai un nome all'app, un indirizzo email di supporto (nota che puoi impostare un'email di googlegroup per cercare di rimanere più anonimo), un logo, domini autorizzati e un'altra email per aggiornamenti.
Seleziona gli ambiti OAuth.
Questa pagina è divisa in autorizzazioni non sensibili, autorizzazioni sensibili e autorizzazioni limitate. Ogni volta che aggiungi una nuova autorizzazione, viene aggiunta nella sua categoria. A seconda delle autorizzazioni richieste, all'utente verrà mostrato un prompt diverso che indica quanto siano sensibili tali autorizzazioni.
Sia
admin.directory.user.readonly
checloud-platform
sono autorizzazioni 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 stai per pescare.
Ora otteniamo le credenziali per un'applicazione web utilizzando il ID client OAuth creato in precedenza:
Torna su 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 necessari e gli URI di reindirizzamento
Puoi impostare in entrambi qualcosa come
http://localhost:8000/callback
per i test
Ottieni le credenziali dell'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 su http://localhost:8000
, fai clic sul pulsante Accedi con Google, ti verrà richiesto un messaggio simile a questo:
L'applicazione mostrerà l'accesso e il token di aggiornamento che possono essere facilmente utilizzati. Per ulteriori informazioni su come utilizzare questi token controlla:
GCP - Non-svc PersistanceUtilizzando gcloud
gcloud
È possibile fare qualcosa utilizzando gcloud invece della console web, controlla:
GCP - ClientAuthConfig PrivescRiferimenti
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 e Beau Bullock - OK Google, How do I Red Team GSuite?
Last updated