GWS - Google Platforms Phishing

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Γενική Μεθοδολογία Φισιγκ

Google Groups Phishing

Φαίνεται ότι, από προεπιλογή, στα μέλη του workspace μπορούν να δημιουργήσουν ομάδες και να προσκαλέσουν άτομα σε αυτές. Στη συνέχεια μπορείτε να τροποποιήσετε το email που θα σταλεί στον χρήστη προσθέτοντας μερικούς συνδέσμους. Το email θα έρθει από μια διεύθυνση της Google, οπότε θα φαίνεται αξιόπιστο και οι άνθρωποι μπορεί να κάνουν κλικ στον σύνδεσμο.

Είναι επίσης δυνατό να ορίσετε τη διεύθυνση ΑΠΟ ως το email της Google ομάδας για να στείλετε περισσότερα emails στους χρήστες μέσα στην ομάδα, όπως στην παρακάτω εικόνα όπου δημιουργήθηκε η ομάδα google--support@googlegroups.com και στάλθηκε ένα email σε όλα τα μέλη της ομάδας (που προστέθηκαν χωρίς καμία συγκατάθεση)

Google Chat Phishing

Μπορείτε είτε να ξεκινήσετε μια συνομιλία με ένα άτομο απλώς έχοντας τη διεύθυνση email τους είτε να στείλετε μια πρόσκληση για συνομιλία. Επιπλέον, είναι δυνατόν να δημιουργήσετε έναν Χώρο που μπορεί να έχει οποιοδήποτε όνομα (π.χ. "Υποστήριξη Google") και να προσκαλέσετε μέλη σε αυτόν. Αν το αποδεχτούν, μπορεί να νομίζουν ότι συνομιλούν με την Υποστήριξη της Google:

Ωστόσο, στις δοκιμές μου τα προσκεκλημένα μέλη δεν έλαβαν καν πρόσκληση.

Μπορείτε να ελέγξετε πώς λειτούργησε αυτό στο παρελθόν στο: https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s

Google Doc Phishing

Στο παρελθόν ήταν δυνατό να δημιουργήσετε ένα φαινομενικά νόμιμο έγγραφο και σε ένα σχόλιο να αναφέρετε κάποιο email (όπως @user@gmail.com). Η Google έστελνε ένα email σε αυτή τη διεύθυνση email ειδοποιώντας ότι αναφέρθηκαν στο έγγραφο. Σήμερα, αυτό δεν λειτουργεί, αλλά αν δώσετε πρόσβαση στο έγγραφο στο θύμα η Google θα στείλει ένα email που το υποδεικνύει. Αυτό είναι το μήνυμα που εμφανίζεται όταν αναφέρετε κάποιον:

Τα θύματα μπορεί να έχουν μηχανισμούς προστασίας που δεν επιτρέπουν σε αυτά τα emails που υποδεικνύουν ότι ένα εξωτερικό έγγραφο μοιράστηκε μαζί τους να φτάσουν στο email τους.

Google Calendar Phishing

Μπορείτε να δημιουργήσετε ένα γεγονός στο ημερολόγιο και να προσθέσετε τόσες διευθύνσεις email της εταιρείας που επιτίθεστε όσες έχετε. Προγραμματίστε αυτό το γεγονός στα 5 ή 15 λεπτά από την τρέχουσα ώρα. Κάντε το γεγονός να φαίνεται αξιόπιστο και βάλτε ένα σχόλιο και έναν τίτλο που υποδηλώνει ότι πρέπει να διαβάσουν κάτι (με τον φισιγκ σύνδεσμο).

Αυτή είναι η ειδοποίηση που θα εμφανιστεί στο πρόγραμμα περιήγησης με τίτλο συνάντησης "Απόλυση Ατόμων", οπότε θα μπορούσατε να ορίσετε έναν πιο φισιγκ τίτλο (και ακόμα να αλλάξετε το όνομα που συσχετίζεται με το email σας).

Για να φαίνεται λιγότερο ύποπτο:

  • Ορίστε το έτσι ώστε οι παραλήπτες να μην μπορούν να δουν τα άλλα άτομα που προσκλήθηκαν

  • ΜΗΝ στέλνετε emails ειδοποίησης για το γεγονός. Έτσι, οι άνθρωποι θα δουν μόνο την προειδοποίησή τους για μια συνάντηση σε 5 λεπτά και ότι πρέπει να διαβάσουν αυτόν τον σύνδεσμο.

  • Φαίνεται ότι χρησιμοποιώντας το API μπορείτε να ορίσετε σε Αληθές ότι οι άνθρωποι έχουν αποδεχτεί το γεγονός και ακόμα να δημιουργήσετε σχόλια εκ μέρους τους.

Φισιγκ Ανακατευθύνσεων Σεναρίων Εφαρμογών

Είναι δυνατό να δημιουργήσετε ένα σενάριο στο https://script.google.com/ και να το εκθέσετε ως μια ιστοσελίδα προσβάσιμη από όλους που θα χρησιμοποιεί το νόμιμο τομέα script.google.com. Έπειτα, με κάποιον κώδικα όπως ο παρακάτω, ένας επιτιθέμενος θα μπορούσε να κάνει το σενάριο να φορτώνει αυθαίρετο περιεχόμενο σε αυτή τη σελίδα χωρίς να σταματάει να έχει πρόσβαση στον τομέα:

function doGet() {
return HtmlService.createHtmlOutput('<meta http-equiv="refresh" content="0;url=https://cloud.hacktricks.xyz/pentesting-cloud/workspace-security/gws-google-platforms-phishing#app-scripts-redirect-phishing">')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}

Για παράδειγμα, με την πρόσβαση https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE6TbGUNmTKXCK12o59RKC7WLkgBTyltaS3gYuH_ZscKQTJDC/exec θα δείτε:

Σημειώστε ότι θα εμφανιστεί ένα προειδοποιητικό μήνυμα καθώς το περιεχόμενο φορτώνεται μέσα σε ένα iframe.

Αλιευτική μέθοδος OAuth των App Scripts

Είναι δυνατόν να δημιουργηθούν App Scripts που συνδέονται με έγγραφα για να προσπαθήσουν να αποκτήσουν πρόσβαση στο OAuth του θύματος, για περισσότερες πληροφορίες ελέγξτε:

pageGWS - App Scripts

Αλιευτική μέθοδος OAuth Apps

Οποιαδήποτε από τις προηγούμενες τεχνικές μπορεί να χρησιμοποιηθεί για να κάνει ο χρήστης πρόσβαση σε μια εφαρμογή Google OAuth που θα ζητήσει από τον χρήστη κάποια πρόσβαση. Αν ο χρήστης εμπιστεύεται την πηγή, μπορεί να εμπιστευτεί την εφαρμογή (ακόμα κι αν ζητά υψηλά προνομιούχα δικαιώματα).

Σημειώστε ότι η Google παρουσιάζει ένα ασχημοποιημένο προειδοποιητικό μήνυμα που ρωτάει αν η εφαρμογή είναι μη αξιόπιστη σε πολλές περιπτώσεις και οι διαχειριστές του Workspace μπορούν ακόμα να εμποδίσουν τους ανθρώπους να αποδεχτούν εφαρμογές OAuth.

Η Google επιτρέπει τη δημιουργία εφαρμογών που μπορούν να αλληλεπιδρούν εκ μέρους των χρηστών με πολλές υπηρεσίες Google: Gmail, Drive, GCP...

Όταν δημιουργείτε μια εφαρμογή για να ενεργεί εκ μέρους άλλων χρηστών, ο προγραμματιστής πρέπει να δημιουργήσει μια εφαρμογή OAuth μέσα στο GCP και να υποδείξει τις εμβέλειες (δικαιώματα) που χρειάζεται η εφαρμογή για να έχει πρόσβαση στα δεδομένα των χρηστών. Όταν ένας χρήστης θέλει να χρησιμοποιήσει αυτήν την εφαρμογή, θα του ζητηθεί να αποδεχτεί ότι η εφαρμογή θα έχει πρόσβαση στα δεδομένα του που καθορίζονται στις εμβέλειες.

Αυτό είναι ένα πολύ ελκυστικό τρόπος για να αλιεύσετε μη τεχνικούς χρήστες να χρησιμοποιούν εφαρμογές που έχουν πρόσβαση σε ευαίσθητες πληροφορίες επειδή ενδέχεται να μην κατανοούν τις συνέπειες. Ωστόσο, σε οργανισμούς υπάρχουν τρόποι για να αποτραπεί αυτό από το να συμβεί.

Προειδοποιητικό μήνυμα για μη επαληθευμένη εφαρμογή

Όπως αναφέρθηκε, η Google θα παρουσιάσει πάντα ένα προειδοποιητικό μήνυμα στον χρήστη για να αποδεχτεί τις άδειες που δίνει στην εφαρμογή εκ μέρους του. Ωστόσο, αν η εφαρμογή θεωρείται επικίνδυνη, η Google θα εμφανίσει πρώτα ένα προειδοποιητικό μήνυμα που υποδεικνύει ότι είναι επικίνδυνη και κάνοντας την πιο δύσκολη για τον χρήστη να χορηγήσει τις άδειες στην εφαρμογή.

Αυτό το προειδοποιητικό μήνυμα εμφανίζεται σε εφαρμογές που:

  • Χρησιμοποιούν οποιαδήποτε εμβέλεια που μπορεί να έχει πρόσβαση σε ιδιωτικά δεδομένα (Gmail, Drive, GCP, BigQuery...)

  • Εφαρμογές με λιγότερους από 100 χρήστες (για εφαρμογές > 100 απαιτείται επίσης διαδικασία αξιολόγησης για να σταματήσει η εμφάνιση του μη επαληθευμένου προειδοποιητικοϗ μηνύματος)

Ενδιαφέρουσες Εμβέλειες

Εδώ μπορείτε να βρείτε μια λίστα με όλες τις εμβέλειες του Google OAuth.

  • cloud-platform: Προβολή και διαχείριση των δεδομένων σας σε διάφορες υπηρεσίες Google Cloud Platform. Μπορείτε να υποκαταστήσετε τον χρήστη στο GCP.

  • admin.directory.user.readonly: Δείτε και κατεβάστε τον κατάλογο της GSuite του οργανισμού σας. Λάβετε ονόματα, τηλέφωνα, διευθύνσεις URL ημερολογίου όλων των χρηστών.

Δημιουργία μιας Εφαρμογής OAuth

Ξεκινήστε τη δημιουργία ενός OAuth Client ID

  1. Πηγαίνετε στο https://console.cloud.google.com/apis/credentials/oauthclient και κάντε κλικ στη ρύθμιση της οθόνης συγκατάθεσης.

  2. Στη συνέχεια, θα σας ρωτήσουν αν ο τύπος χρήστη είναι εσωτερικός (μόνο για άτομα στον οργανισμό σας) ή εξωτερικός. Επιλέξτε αυτό που ταιριάζει στις ανάγκες σας

  • Το εσωτερικό μπορεί να είναι ενδιαφέρον αν έχετε ήδη υποκείμενο έναν χρήστη του οργανισμού και δημιουργείτε αυτήν την Εφαρμογή για να αλιεύσετε άλλον.

  1. Δώστε ένα όνομα στην εφαρμογή, ένα email υποστήριξης (σημειώστε ότι μπορείτε να ορίσετε ένα email googlegroup για να προσπαθήσετε να ανωνυμοποιηθείτε λίγο περισσότερο), ένα λογότυπο, εξουσιοδοτημένους τομείς και ένα άλλο email για ενημερώσεις.

  2. Επιλέξτε τις εμβέλειες OAuth.

  • Αυτή η σελίδα είναι χωρισμένη σε μη ευαίσθητες άδειες, ευαίσθητες άδειες και περιορισμένες άδειες. Κάθε φορά που προσθέτετε μια νέα άδεια, προστίθεται στην κατηγορία της. Ανάλογα με τις ζητούμενες άδειες, θα εμφανιστεί διαφορετικό προειδοποιητικό μήνυμα στον χρήστη που υποδεικνύει πόσο ευαίσθητες είναι αυτές οι άδειες.

  • Και οι δύο admin.directory.user.readonly και cloud-platform είναι ευαίσθητες άδειες.

  1. Προσθέστε τους δοκιμαστικούς χρήστες. Όσο η κατάσταση της εφαρμογής είναι σε δοκιμή, μόνο αυτοί οι χρήστες θα μπορούν να έχουν πρόσβαση στην εφαρμογή, οπότε βεβαιωθείτε ότι προσθέτετε το email που θα αλιεύσετε.

Τώρα ας αποκτήσουμε διαπιστευτήρια για μια web εφαρμογή χρησιμοποιώντας το προηγουμένως δημιουργημένο OAuth Client ID:

  1. Πηγαίνετε πίσω στο https://console.cloud.google.com/apis/credentials/oauthclient, αυτή τη φορά θ

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>"

Πηγαίνετε στο http://localhost:8000 κάντε κλικ στο κουμπί Σύνδεση με το Google, θα σας ζητηθεί να εμφανίσετε ένα μήνυμα όπως αυτό:

Η εφαρμογή θα εμφανίσει τα token πρόσβασης και ανανέωσης που μπορούν να χρησιμοποιηθούν εύκολα. Για περισσότερες πληροφορίες σχετικά με πώς να χρησιμοποιήσετε αυτά τα tokens ελέγξτε:

pageGCP - Non-svc Persistance

Χρησιμοποιώντας το gcloud

Είναι δυνατόν να γίνει κάτι χρησιμοποιώντας το gcloud αντί για το web console, ελέγξτε:

pageGCP - ClientAuthConfig Privesc

Αναφορές

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated