Translated ['src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting

This commit is contained in:
Translator
2025-02-26 00:22:10 +00:00
parent 097a996b5e
commit 47d444efa6
2 changed files with 28 additions and 28 deletions

View File

@@ -6,7 +6,7 @@
### **Βασικά της Εξουσιοδότησης σε Επίπεδο Τομέα**
Η εξουσιοδότηση σε επίπεδο τομέα του Google Workspace επιτρέπει σε ένα αντικείμενο ταυτότητας, είτε μια **εξωτερική εφαρμογή** από το Google Workspace Marketplace είτε έναν εσωτερικό **Λογαριασμό Υπηρεσίας GCP**, να **πρόσβαση σε δεδομένα σε όλο το Workspace εκ μέρους των χρηστών**.
Η Εξουσιοδότηση σε Επίπεδο Τομέα του Google Workspace επιτρέπει σε ένα αντικείμενο ταυτότητας, είτε μια **εξωτερική εφαρμογή** από το Google Workspace Marketplace είτε έναν εσωτερικό **Λογαριασμό Υπηρεσίας GCP**, να **πρόσβαση σε δεδομένα σε όλο το Workspace εκ μέρους των χρηστών**.
> [!NOTE]
> Αυτό σημαίνει βασικά ότι οι **λογαριασμοί υπηρεσίας** μέσα σε έργα GCP μιας οργάνωσης μπορεί να είναι σε θέση να **παριστάνουν τους χρήστες του Workspace** της ίδιας οργάνωσης (ή ακόμη και από μια διαφορετική).
@@ -40,18 +40,18 @@ python3 gen_delegation_token.py --user-email <user-email> --key-file <path-to-ke
Αυτό είναι ένα εργαλείο που μπορεί να εκτελέσει την επίθεση ακολουθώντας αυτά τα βήματα:
1. **Αριθμήστε τα GCP Projects** χρησιμοποιώντας το Resource Manager API.
2. Επαναλάβετε για κάθε πόρο έργου και **αριθμήστε τους πόρους λογαριασμού υπηρεσίας GCP** στους οποίους έχει πρόσβαση ο αρχικός χρήστης IAM χρησιμοποιώντας το _GetIAMPolicy_.
1. **Αναγνωρίστε τα GCP Projects** χρησιμοποιώντας το Resource Manager API.
2. Επαναλάβετε για κάθε πόρο έργου και **αναγνωρίστε τους πόρους λογαριασμού υπηρεσίας GCP** στους οποίους έχει πρόσβαση ο αρχικός χρήστης IAM χρησιμοποιώντας το _GetIAMPolicy_.
3. Επαναλάβετε για **κάθε ρόλο λογαριασμού υπηρεσίας** και βρείτε ενσωματωμένους, βασικούς και προσαρμοσμένους ρόλους με άδεια _**serviceAccountKeys.create**_ στον πόρο λογαριασμού υπηρεσίας στόχου. Πρέπει να σημειωθεί ότι ο ρόλος του Editor κατέχει εγγενώς αυτή την άδεια.
4. Δημιουργήστε ένα **νέο `KEY_ALG_RSA_2048`** ιδιωτικό κλειδί για κάθε πόρο λογαριασμού υπηρεσίας που βρέθηκε με σχετική άδεια στην πολιτική IAM.
5. Επαναλάβετε για **κάθε νέο λογαριασμό υπηρεσίας και δημιουργήστε ένα `JWT`** **αντικείμενο** για αυτό που αποτελείται από τα διαπιστευτήρια του ιδιωτικού κλειδιού SA και μια έκταση OAuth. Η διαδικασία δημιουργίας ενός νέου αντικειμένου _JWT_ θα **επαναλάβει όλους τους υπάρχοντες συνδυασμούς εκτάσεων OAuth** από τη λίστα **oauth_scopes.txt**, προκειμένου να βρει όλες τις δυνατότητες αντιπροσώπευσης. Η λίστα **oauth_scopes.txt** ενημερώνεται με όλες τις εκτάσεις OAuth που έχουμε βρει ότι είναι σχετικές για την κατάχρηση ταυτοτήτων Workspace.
6. Η μέθοδος `_make_authorization_grant_assertion` αποκαλύπτει την ανάγκη να δηλωθεί ένας **στόχος χρήστη workspace**, αναφερόμενος ως _subject_, για τη δημιουργία JWTs υπό DWD. Ενώ αυτό μπορεί να φαίνεται ότι απαιτεί έναν συγκεκριμένο χρήστη, είναι σημαντικό να συνειδητοποιήσουμε ότι **η DWD επηρεάζει κάθε ταυτότητα εντός ενός τομέα**. Συνεπώς, η δημιουργία ενός JWT για **οποιονδήποτε χρήστη τομέα** επηρεάζει όλες τις ταυτότητες σε αυτόν τον τομέα, σύμφωνα με τον έλεγχο αριθμήσεων συνδυασμών μας. Απλά, ένας έγκυρος χρήστης Workspace είναι επαρκής για να προχωρήσουμε.\
Αυτός ο χρήστης μπορεί να οριστεί στο αρχείο _config.yaml_ του DeleFriend. Εάν δεν είναι ήδη γνωστός ένας χρήστης workspace στόχος, το εργαλείο διευκολύνει την αυτόματη αναγνώριση έγκυρων χρηστών workspace σκανάροντας τους χρήστες τομέα με ρόλους σε έργα GCP. Είναι σημαντικό να σημειωθεί (ξανά) ότι τα JWT είναι συγκεκριμένα για τομέα και δεν δημιουργούνται για κάθε χρήστη. Επομένως, η αυτόματη διαδικασία στοχεύει σε μία μοναδική ταυτότητα ανά τομέα.
7. **Αριθμήστε και δημιουργήστε ένα νέο bearer access token** για κάθε JWT και επικυρώστε το token κατά του tokeninfo API.
5. Επαναλάβετε για **κάθε νέο λογαριασμό υπηρεσίας και δημιουργήστε ένα `JWT`** **αντικείμενο** γι' αυτό που αποτελείται από τα διαπιστευτήρια του ιδιωτικού κλειδιού SA και μια έκταση OAuth. Η διαδικασία δημιουργίας ενός νέου _JWT_ αντικειμένου θα **επαναλάβει όλους τους υπάρχοντες συνδυασμούς εκτάσεων OAuth** από τη λίστα **oauth_scopes.txt**, προκειμένου να βρει όλες τις δυνατότητες αντιπροσώπευσης. Η λίστα **oauth_scopes.txt** ενημερώνεται με όλες τις εκτάσεις OAuth που έχουμε βρει ότι είναι σχετικές για την κατάχρηση ταυτοτήτων Workspace.
6. Η μέθοδος `_make_authorization_grant_assertion` αποκαλύπτει την ανάγκη να δηλωθεί ένας **στόχος χρήστη workspace**, αναφερόμενος ως _subject_, για τη δημιουργία JWTs υπό DWD. Ενώ αυτό μπορεί να φαίνεται ότι απαιτεί έναν συγκεκριμένο χρήστη, είναι σημαντικό να συνειδητοποιήσουμε ότι **η DWD επηρεάζει κάθε ταυτότητα εντός ενός τομέα**. Συνεπώς, η δημιουργία ενός JWT για **οποιονδήποτε χρήστη τομέα** επηρεάζει όλες τις ταυτότητες σε αυτόν τον τομέα, σύμφωνα με τον έλεγχο συνδυασμού μας. Απλά, ένας έγκυρος χρήστης Workspace είναι επαρκής για να προχωρήσουμε.\
Αυτός ο χρήστης μπορεί να οριστεί στο αρχείο _config.yaml_ του DeleFriend. Εάν δεν είναι ήδη γνωστός ένας χρήστης στόχος workspace, το εργαλείο διευκολύνει την αυτόματη αναγνώριση έγκυρων χρηστών workspace σκανάροντας τους χρήστες τομέα με ρόλους σε έργα GCP. Είναι σημαντικό να σημειωθεί (ξανά) ότι τα JWT είναι συγκεκριμένα για τομέα και δεν δημιουργούνται για κάθε χρήστη. Επομένως, η αυτόματη διαδικασία στοχεύει σε μία μοναδική ταυτότητα ανά τομέα.
7. **Αναγνωρίστε και δημιουργήστε ένα νέο bearer access token** για κάθε JWT και επικυρώστε το token μέσω του tokeninfo API.
#### [Gitlab's Python script](https://gitlab.com/gitlab-com/gl-security/threatmanagement/redteam/redteam-public/gcp_misc/-/blob/master/gcp_delegation.py)
Η Gitlab έχει δημιουργήσει [αυτό το Python script](https://gitlab.com/gitlab-com/gl-security/gl-redteam/gcp_misc/blob/master/gcp_delegation.py) που μπορεί να κάνει δύο πράγματα - να απαριθμήσει τον κατάλογο χρηστών και να δημιουργήσει έναν νέο διοικητικό λογαριασμό ενώ υποδεικνύει ένα json με διαπιστευτήρια SA και τον χρήστη που θα μιμηθεί. Εδώ είναι πώς θα το χρησιμοποιούσατε:
Η Gitlab έχει δημιουργήσει [αυτό το Python script](https://gitlab.com/gitlab-com/gl-security/gl-redteam/gcp_misc/blob/master/gcp_delegation.py) που μπορεί να κάνει δύο πράγματα - να καταγράψει τον κατάλογο χρηστών και να δημιουργήσει έναν νέο διοικητικό λογαριασμό ενώ υποδεικνύει ένα json με διαπιστευτήρια SA και τον χρήστη που θα μιμηθεί. Να πώς θα το χρησιμοποιούσατε:
```bash
# Install requirements
pip install --upgrade --user oauth2client
@@ -77,25 +77,25 @@ pip install --upgrade --user oauth2client
Είναι δυνατόν να **ελέγξετε τις Domain Wide Delegations στο** [**https://admin.google.com/u/1/ac/owl/domainwidedelegation**](https://admin.google.com/u/1/ac/owl/domainwidedelegation)**.**
Ένας επιτιθέμενος με την ικανότητα να **δημιουργεί λογαριασμούς υπηρεσιών σε ένα έργο GCP** και **υπερδιαχειριστικά δικαιώματα στο GWS θα μπορούσε να δημιουργήσει μια νέα εξουσιοδότηση που επιτρέπει στους SAs να προσποιούνται κάποιους χρήστες του GWS:**
Ένας επιτιθέμενος με την ικανότητα να **δημιουργεί λογαριασμούς υπηρεσίας σε ένα έργο GCP** και **δικαιώματα super admin στο GWS θα μπορούσε να δημιουργήσει μια νέα εξουσιοδότηση που επιτρέπει στους SAs να προσποιούνται ορισμένους χρήστες του GWS:**
1. **Δημιουργία Νέου Λογαριασμού Υπηρεσίας και Σχετικού Ζεύγους Κλειδιών:** Στο GCP, νέοι πόροι λογαριασμού υπηρεσίας μπορούν να παραχθούν είτε διαδραστικά μέσω της κονσόλας είτε προγραμματισμένα χρησιμοποιώντας άμεσες κλήσεις API και εργαλεία CLI. Αυτό απαιτεί το **ρόλο `iam.serviceAccountAdmin`** ή οποιονδήποτε προσαρμοσμένο ρόλο εξοπλισμένο με την **άδεια `iam.serviceAccounts.create`**. Μόλις δημιουργηθεί ο λογαριασμός υπηρεσίας, θα προχωρήσουμε στη δημιουργία ενός **σχετικού ζεύγους κλειδιών** (**άδεια `iam.serviceAccountKeys.create`**).
2. **Δημιουργία νέας εξουσιοδότησης**: Είναι σημαντικό να κατανοήσουμε ότι **μόνο ο ρόλος του Υπερδιαχειριστή έχει τη δυνατότητα να ρυθμίσει παγκόσμια Domain-Wide εξουσιοδότηση στο Google Workspace** και η Domain-Wide εξουσιοδότηση **δεν μπορεί να ρυθμιστεί προγραμματισμένα,** μπορεί να δημιουργηθεί και να ρυθμιστεί **χειροκίνητα** μέσω της κονσόλας Google Workspace.
2. **Δημιουργία νέας εξουσιοδότησης**: Είναι σημαντικό να κατανοήσουμε ότι **μόνο ο ρόλος Super Admin έχει τη δυνατότητα να ρυθμίσει παγκόσμια Domain-Wide εξουσιοδότηση στο Google Workspace** και η Domain-Wide εξουσιοδότηση **δεν μπορεί να ρυθμιστεί προγραμματισμένα,** μπορεί να δημιουργηθεί και να ρυθμιστεί **χειροκίνητα** μέσω της κονσόλας Google Workspace.
- Η δημιουργία του κανόνα μπορεί να βρεθεί στη σελίδα **API controls → Manage Domain-Wide delegation in Google Workspace Admin console**.
3. **Σύνδεση δικαιωμάτων OAuth scopes**: Κατά τη ρύθμιση μιας νέας εξουσιοδότησης, η Google απαιτεί μόνο 2 παραμέτρους, το Client ID, το οποίο είναι το **OAuth ID του πόρου Λογαριασμού Υπηρεσίας GCP**, και **OAuth scopes** που καθορίζουν ποιες κλήσεις API απαιτεί η εξουσιοδότηση.
3. **Επισύναψη δικαιωμάτων OAuth scopes**: Κατά τη ρύθμιση μιας νέας εξουσιοδότησης, η Google απαιτεί μόνο 2 παραμέτρους, το Client ID, το οποίο είναι το **OAuth ID του πόρου GCP Service Account**, και **OAuth scopes** που καθορίζουν ποιες κλήσεις API απαιτεί η εξουσιοδότηση.
- Η **πλήρης λίστα των OAuth scopes** μπορεί να βρεθεί [**εδώ**](https://developers.google.com/identity/protocols/oauth2/scopes), αλλά εδώ είναι μια σύσταση: `https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.domain, https://mail.google.com/, https://www.googleapis.com/auth/drive, openid`
4. **Δράση εκ μέρους της στοχευμένης ταυτότητας:** Σε αυτό το σημείο, έχουμε ένα λειτουργικό εξουσιοδοτημένο αντικείμενο στο GWS. Τώρα, **χρησιμοποιώντας το ιδιωτικό κλειδί του Λογαριασμού Υπηρεσίας GCP, μπορούμε να εκτελέσουμε κλήσεις API** (στο πεδίο που καθορίζεται στην παράμετρο OAuth scope) για να το ενεργοποιήσουμε και **να δράσουμε εκ μέρους οποιασδήποτε ταυτότητας που υπάρχει στο Google Workspace**. Όπως μάθαμε, ο λογαριασμός υπηρεσίας θα δημιουργήσει διαπιστευτήρια πρόσβασης ανάλογα με τις ανάγκες του και σύμφωνα με τα δικαιώματα που έχει σε εφαρμογές REST API.
- Ελέγξτε την **προηγούμενη ενότητα** για κάποια **εργαλεία** για να χρησιμοποιήσετε αυτή την εξουσιοδότηση.
4. **Δράση εκ μέρους της στοχευμένης ταυτότητας:** Σε αυτό το σημείο, έχουμε ένα λειτουργικό εξουσιοδοτημένο αντικείμενο στο GWS. Τώρα, **χρησιμοποιώντας το ιδιωτικό κλειδί του GCP Service Account, μπορούμε να εκτελέσουμε κλήσεις API** (στο πεδίο που καθορίζεται στην παράμετρο OAuth scope) για να το ενεργοποιήσουμε και **να δράσουμε εκ μέρους οποιασδήποτε ταυτότητας που υπάρχει στο Google Workspace**. Όπως μάθαμε, ο λογαριασμός υπηρεσίας θα δημιουργήσει διαπιστευτήρια πρόσβασης ανάλογα με τις ανάγκες του και σύμφωνα με την άδεια που έχει για τις εφαρμογές REST API.
- Ελέγξτε την **προηγούμενη ενότητα** για ορισμένα **εργαλεία** για να χρησιμοποιήσετε αυτήν την εξουσιοδότηση.
#### Διασυνοριακή εξουσιοδότηση
Το OAuth SA ID είναι παγκόσμιο και μπορεί να χρησιμοποιηθεί για **διασυνοριακή εξουσιοδότηση**. Δεν έχει εφαρμοστεί καμία περιοριστική πολιτική για να αποτραπεί η διασυνοριακή εξουσιοδότηση. Με απλά λόγια, **λογαριασμοί υπηρεσιών από διαφορετικές οργανώσεις GCP μπορούν να χρησιμοποιηθούν για να ρυθμίσουν εξουσιοδότηση σε επίπεδο τομέα σε άλλες οργανώσεις Workspace**. Αυτό θα είχε ως αποτέλεσμα **να απαιτείται μόνο πρόσβαση Υπερδιαχειριστή στο Workspace**, και όχι πρόσβαση στον ίδιο λογαριασμό GCP, καθώς ο επιτιθέμενος μπορεί να δημιουργήσει Λογαριασμούς Υπηρεσιών και ιδιωτικά κλειδιά στον προσωπικά ελεγχόμενο λογαριασμό GCP του.
Το OAuth SA ID είναι παγκόσμιο και μπορεί να χρησιμοποιηθεί για **διασυνοριακή εξουσιοδότηση**. Δεν έχει εφαρμοστεί καμία περιοριστική πολιτική για να αποτραπεί η διασυνοριακή εξουσιοδότηση. Με απλά λόγια, **οι λογαριασμοί υπηρεσίας από διαφορετικές οργανώσεις GCP μπορούν να χρησιμοποιηθούν για να ρυθμίσουν την εξουσιοδότηση σε επίπεδο τομέα σε άλλες οργανώσεις Workspace**. Αυτό θα είχε ως αποτέλεσμα **να απαιτείται μόνο πρόσβαση Super Admin στο Workspace**, και όχι πρόσβαση στον ίδιο λογαριασμό GCP, καθώς ο αντίπαλος μπορεί να δημιουργήσει Λογαριασμούς Υπηρεσίας και ιδιωτικά κλειδιά στον προσωπικά ελεγχόμενο λογαριασμό GCP του.
### Δημιουργία Έργου για την καταμέτρηση του Workspace
Κατά **προεπιλογή**, οι χρήστες του Workspace έχουν την άδεια να **δημιουργούν νέα έργα**, και όταν δημιουργείται ένα νέο έργο, ο **δημιουργός αποκτά το ρόλο του Ιδιοκτήτη**.
Επομένως, ένας χρήστης μπορεί να **δημιουργήσει ένα έργο**, **να ενεργοποιήσει** τα **APIs** για να καταμετρήσει το Workspace στο νέο του έργο και να προσπαθήσει να **καταμετρήσει** αυτό.
Επομένως, ένας χρήστης μπορεί να **δημιουργήσει ένα έργο**, **να ενεργοποιήσει** τις **API** για να καταμετρήσει το Workspace στο νέο του έργο και να προσπαθήσει να **καταμετρήσει** αυτό.
> [!CAUTION]
> Για να μπορέσει ένας χρήστης να καταμετρήσει το Workspace, χρειάζεται επίσης αρκετές άδειες Workspace (όχι κάθε χρήστης θα μπορεί να καταμετρήσει τον κατάλογο).
@@ -127,7 +127,7 @@ gcloud beta identity groups preview --customer <org-cust-id>
Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τη ροή `gcloud` για σύνδεση σε:
{{#ref}}
../gcp-persistence/gcp-non-svc-persistance.md
../gcp-persistence/gcp-non-svc-persistence.md
{{#endref}}
Όπως εξηγείται εκεί, το gcloud μπορεί να ζητήσει την έκταση **`https://www.googleapis.com/auth/drive`** που θα επιτρέπει σε έναν χρήστη να έχει πρόσβαση στον δίσκο του χρήστη.\
@@ -148,7 +148,7 @@ gcloud auth login --enable-gdrive-access
### Πρόσβαση σε προνομιούχους χρήστες GCP
Αν ένας επιτιθέμενος έχει πλήρη πρόσβαση στο GWS, θα είναι σε θέση να αποκτήσει πρόσβαση σε ομάδες με προνομιακή πρόσβαση στο GCP ή ακόμα και σε χρήστες, επομένως η μετάβαση από το GWS στο GCP είναι συνήθως πιο "απλή" απλώς και μόνο επειδή **οι χρήστες στο GWS έχουν υψηλά προνόμια στο GCP**.
Αν ένας επιτιθέμενος έχει πλήρη πρόσβαση στο GWS, θα είναι σε θέση να αποκτήσει πρόσβαση σε ομάδες με προνομιακή πρόσβαση στο GCP ή ακόμη και σε χρήστες, επομένως η μετάβαση από το GWS στο GCP είναι συνήθως πιο "απλή" απλώς και μόνο επειδή **οι χρήστες στο GWS έχουν υψηλά προνόμια στο GCP**.
### Κλιμάκωση προνομίων Google Groups

View File

@@ -10,7 +10,7 @@ https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-met
## Google Groups Phishing
Φαίνεται ότι, από προεπιλογή, στα μέλη του workspace [**μπορούν να δημιουργούν ομάδες**](https://groups.google.com/all-groups) **και να προσκαλούν άτομα σε αυτές**. Μπορείτε στη συνέχεια να τροποποιήσετε το email που θα σταλεί στον χρήστη **προσθέτοντας μερικούς συνδέσμους.** Το **email θα προέρχεται από μια διεύθυνση google**, οπότε θα φαίνεται **νόμιμο** και οι άνθρωποι μπορεί να κάνουν κλικ στον σύνδεσμο.
Προφανώς, από προεπιλογή, στα μέλη του workspace [**μπορούν να δημιουργούν ομάδες**](https://groups.google.com/all-groups) **και να προσκαλούν άτομα σε αυτές**. Μπορείτε στη συνέχεια να τροποποιήσετε το email που θα σταλεί στον χρήστη **προσθέτοντας μερικούς συνδέσμους.** Το **email θα προέρχεται από μια διεύθυνση google**, οπότε θα φαίνεται **νόμιμο** και οι άνθρωποι μπορεί να κάνουν κλικ στον σύνδεσμο.
Είναι επίσης δυνατό να ορίσετε τη διεύθυνση **FROM** ως το **email της ομάδας Google** για να στείλετε **περισσότερα emails στους χρήστες μέσα στην ομάδα**, όπως στην παρακάτω εικόνα όπου η ομάδα **`google--support@googlegroups.com`** δημιουργήθηκε και ένα **email στάλθηκε σε όλα τα μέλη** της ομάδας (που προστέθηκαν χωρίς καμία συγκατάθεση)
@@ -18,24 +18,24 @@ https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-met
## Google Chat Phishing
Μπορείτε να **ξεκινήσετε μια συνομιλία** με ένα άτομο απλά γνωρίζοντας τη διεύθυνση email του ή να στείλετε μια **πρόσκληση για συνομιλία**. Επιπλέον, είναι δυνατό να **δημιουργήσετε έναν Χώρο** που μπορεί να έχει οποιοδήποτε όνομα (π.χ. "Google Support") και να **προσκαλέσετε** μέλη σε αυτόν. Αν αποδεχτούν, μπορεί να νομίζουν ότι μιλούν με την Υποστήριξη της Google:
Μπορείτε να ξεκινήσετε μια **συνομιλία** με ένα άτομο απλά γνωρίζοντας τη διεύθυνση email του ή να στείλετε μια **πρόσκληση για συνομιλία**. Επιπλέον, είναι δυνατό να **δημιουργήσετε έναν Χώρο** που μπορεί να έχει οποιοδήποτε όνομα (π.χ. "Google Support") και να **προσκαλέσετε** μέλη σε αυτόν. Αν αποδεχτούν, μπορεί να νομίζουν ότι μιλούν με την Υποστήριξη της Google:
<figure><img src="../../../images/image (6).png" alt=""><figcaption></figcaption></figure>
> [!TIP]
> **Στις δοκιμές μου, ωστόσο, τα προσκαλεσμένα μέλη δεν έλαβαν καν πρόσκληση.**
> **Στις δοκιμές μου, ωστόσο, τα προσκαλούμενα μέλη δεν έλαβαν καν πρόσκληση.**
Μπορείτε να δείτε πώς λειτούργησε αυτό στο παρελθόν στο: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
## Google Doc Phishing
Στο παρελθόν ήταν δυνατό να δημιουργηθεί ένα **φαινομενικά νόμιμο έγγραφο** και σε ένα σχόλιο **να αναφερθεί κάποιο email (όπως @user@gmail.com)**. Η Google **έστειλε ένα email σε αυτή τη διεύθυνση email** ενημερώνοντάς την ότι αναφέρθηκε στο έγγραφο.\
Σήμερα, αυτό δεν λειτουργεί, αλλά αν **δώσετε στον θύμα πρόσβαση στο έγγραφο** η Google θα στείλει ένα email που θα το υποδεικνύει. Αυτό είναι το μήνυμα που εμφανίζεται όταν αναφέρετε κάποιον:
Στο παρελθόν ήταν δυνατό να δημιουργηθεί ένα **φαινομενικά νόμιμο έγγραφο** και σε ένα σχόλιο **να αναφερθεί κάποιο email (όπως @user@gmail.com)**. Η Google **έστειλε ένα email σε αυτή τη διεύθυνση** ενημερώνοντάς την ότι αναφέρθηκε στο έγγραφο.\
Σήμερα, αυτό δεν λειτουργεί αλλά αν **δώσετε στον θύμα πρόσβαση στο έγγραφο** η Google θα στείλει ένα email που θα το υποδεικνύει. Αυτό είναι το μήνυμα που εμφανίζεται όταν αναφέρετε κάποιον:
<figure><img src="../../../images/image (7).png" alt=""><figcaption></figcaption></figure>
> [!TIP]
> Τα θύματα μπορεί να έχουν μηχανισμό προστασίας που δεν επιτρέπει να φτάσουν τα emails που υποδεικνύουν ότι ένα εξωτερικό έγγραφο μοιράστηκε μαζί τους.
> Τα θύματα μπορεί να έχουν μηχανισμούς προστασίας που δεν επιτρέπουν στα emails που υποδεικνύουν ότι ένα εξωτερικό έγγραφο μοιράστηκε μαζί τους να φτάσουν στο email τους.
## Google Calendar Phishing
@@ -47,13 +47,13 @@ https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-met
Για να φαίνεται λιγότερο ύποπτο:
- Ρυθμίστε το έτσι ώστε **οι παραλήπτες να μην μπορούν να δουν τους άλλους προσκεκλημένους**
- Ρυθμίστε το έτσι ώστε οι **παραλήπτες να μην μπορούν να δουν τους άλλους προσκεκλημένους**
- ΜΗ στείλετε emails που να ειδοποιούν για το γεγονός. Έτσι, οι άνθρωποι θα δουν μόνο την προειδοποίησή τους για μια συνάντηση σε 5 λεπτά και ότι πρέπει να διαβάσουν αυτόν τον σύνδεσμο.
- Φαίνεται ότι χρησιμοποιώντας το API μπορείτε να ορίσετε σε **True** ότι **οι άνθρωποι** έχουν **αποδεχτεί** το γεγονός και ακόμη και να δημιουργήσετε **σχόλια εκ μέρους τους**.
- Προφανώς, χρησιμοποιώντας το API μπορείτε να ορίσετε σε **True** ότι οι **άνθρωποι** έχουν **αποδεχτεί** το γεγονός και ακόμη και να δημιουργήσετε **σχόλια εκ μέρους τους**.
## App Scripts Redirect Phishing
Είναι δυνατό να δημιουργήσετε ένα σενάριο στο [https://script.google.com/](https://script.google.com/) και να **το εκθέσετε ως μια διαδικτυακή εφαρμογή προσβάσιμη από όλους** που θα χρησιμοποιεί το νόμιμο domain **`script.google.com`**.\
Είναι δυνατό να δημιουργήσετε ένα σενάριο στο [https://script.google.com/](https://script.google.com/) και **να το εκθέσετε ως μια διαδικτυακή εφαρμογή προσβάσιμη από όλους** που θα χρησιμοποιεί το νόμιμο domain **`script.google.com`**.\
Με κάποιον κώδικα όπως ο παρακάτω, ένας επιτιθέμενος θα μπορούσε να κάνει το σενάριο να φορτώνει αυθαίρετο περιεχόμενο σε αυτή τη σελίδα χωρίς να σταματήσει να έχει πρόσβαση στο domain:
```javascript
function doGet() {
@@ -87,7 +87,7 @@ gws-app-scripts.md
**Google** επιτρέπει τη δημιουργία εφαρμογών που μπορούν να **αλληλεπιδρούν εκ μέρους των χρηστών** με πολλές **υπηρεσίες Google**: Gmail, Drive, GCP...
Όταν δημιουργείτε μια εφαρμογή για να **δράσετε εκ μέρους άλλων χρηστών**, ο προγραμματιστής πρέπει να δημιουργήσει μια **OAuth εφαρμογή μέσα στο GCP** και να υποδείξει τους τομείς (δικαιώματα) που χρειάζεται η εφαρμογή για να αποκτήσει πρόσβαση στα δεδομένα των χρηστών.\
Όταν ένας **χρήστης** θέλει να **χρησιμοποιήσει** αυτή την **εφαρμογή**, θα **προτροπείται** να **αποδεχτεί** ότι η εφαρμογή θα έχει πρόσβαση στα δεδομένα του που καθορίζονται στους τομείς.
Όταν ένας **χρήστης** θέλει να **χρησιμοποιήσει** αυτή την **εφαρμογή**, θα **προτροπεί** να **αποδεχτεί** ότι η εφαρμογή θα έχει πρόσβαση στα δεδομένα του που καθορίζονται στους τομείς.
Αυτή είναι μια πολύ ελκυστική μέθοδος για να **phish** μη τεχνικούς χρήστες ώστε να χρησιμοποιούν **εφαρμογές που αποκτούν ευαίσθητες πληροφορίες** επειδή μπορεί να μην κατανοούν τις συνέπειες. Ωστόσο, σε οργανωτικούς λογαριασμούς, υπάρχουν τρόποι να αποτραπεί αυτό.
@@ -142,7 +142,7 @@ python3 app.py --client-id "<client_id>" --client-secret "<client_secret>"
Η εφαρμογή θα εμφανίσει το **access και refresh token** που μπορεί να χρησιμοποιηθεί εύκολα. Για περισσότερες πληροφορίες σχετικά με **το πώς να χρησιμοποιήσετε αυτά τα tokens ελέγξτε**:
{{#ref}}
../../gcp-security/gcp-persistence/gcp-non-svc-persistance.md
../../gcp-security/gcp-persistence/gcp-non-svc-persistence.md
{{#endref}}
#### Χρησιμοποιώντας το `glcoud`