mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/gcp-security/gcp-to-workspace-pivoting
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## **Kutoka GCP hadi GWS**
|
||||
|
||||
### **Misingi ya Delegation ya Domain Wide**
|
||||
### **Msingi wa Delegation ya Domain Wide**
|
||||
|
||||
Delegation ya Domain-Wide ya Google Workspace inaruhusu kituo cha utambulisho, iwe ni **programu ya nje** kutoka Google Workspace Marketplace au **GCP Service Account** ya ndani, **kupata data katika Workspace kwa niaba ya watumiaji**.
|
||||
|
||||
@@ -23,7 +23,7 @@ Ikiwa mshambuliaji **ameathiri baadhi ya ufikiaji juu ya GCP** na **anajua barua
|
||||
Kwa **orodha ya akaunti zote za huduma** alizo na **ufikiaji** nazo na orodha ya **barua pepe za Workspace**, mshambuliaji anaweza kujaribu **kujifanya mtumiaji kwa kila akaunti ya huduma**.
|
||||
|
||||
> [!CAUTION]
|
||||
> Kumbuka kwamba wakati wa kusanidi delegation ya domain wide, mtumiaji yeyote wa Workspace haitajiki, hivyo jua tu **mtumiaji mmoja halali ni wa kutosha na unahitajika kwa ajili ya kujifanya**.\
|
||||
> Kumbuka kwamba wakati wa kusanidi delegation ya domain wide, mtumiaji yeyote wa Workspace haitajiki, kwa hivyo jua tu **mtumiaji mmoja halali inatosha na inahitajika kwa kujifanya**.\
|
||||
> Hata hivyo, **mamlaka ya mtumiaji anayejifananisha yatatumika**, hivyo ikiwa ni Super Admin utaweza kufikia kila kitu. Ikiwa haina ufikiaji wowote hii itakuwa haina maana.
|
||||
|
||||
#### [GCP Generate Delegation Token](https://github.com/carlospolop/gcp_gen_delegation_token)
|
||||
@@ -38,16 +38,16 @@ python3 gen_delegation_token.py --user-email <user-email> --key-file <path-to-ke
|
||||
```
|
||||
#### [**DeleFriend**](https://github.com/axon-git/DeleFriend)
|
||||
|
||||
Hii ni zana inayoweza kufanya shambulio ikifuatia hatua hizi:
|
||||
Hii ni zana inayoweza kufanya shambulio kwa kufuata hatua hizi:
|
||||
|
||||
1. **Enumerate GCP Projects** kwa kutumia Resource Manager API.
|
||||
2. Pitia kila rasilimali ya mradi, na **enumerate GCP Service account resources** ambazo mtumiaji wa IAM wa awali ana ufikiaji kwa kutumia _GetIAMPolicy_.
|
||||
3. Pitia **kila jukumu la akaunti ya huduma**, na pata majukumu ya ndani, ya msingi, na ya kawaida yenye ruhusa ya _**serviceAccountKeys.create**_ kwenye rasilimali ya akaunti ya huduma inayolengwa. Inapaswa kuzingatiwa kwamba jukumu la Mhariri kwa asili lina ruhusa hii.
|
||||
2. Itera kwenye kila rasilimali ya mradi, na **enumerate GCP Service account resources** ambazo mtumiaji wa IAM wa awali ana ufikiaji kwa kutumia _GetIAMPolicy_.
|
||||
3. Itera kwenye **kila jukumu la akaunti ya huduma**, na pata majukumu ya ndani, ya msingi, na ya kawaida yenye ruhusa ya _**serviceAccountKeys.create**_ kwenye rasilimali ya akaunti ya huduma inayolengwa. Inapaswa kuzingatiwa kwamba jukumu la Mhariri kwa asili lina ruhusa hii.
|
||||
4. Unda **funguo mpya ya `KEY_ALG_RSA_2048`** ya faragha kwa kila rasilimali ya akaunti ya huduma ambayo imepatikana na ruhusa inayofaa katika sera ya IAM.
|
||||
5. Pitia **kila akaunti ya huduma mpya na unda `JWT`** **object** kwa ajili yake ambayo inajumuisha akidi za funguo za faragha za SA na eneo la OAuth. Mchakato wa kuunda _JWT_ mpya ut **pitia mchanganyiko wote wa maeneo ya OAuth** kutoka orodha ya **oauth_scopes.txt**, ili kupata uwezekano wote wa uwakilishi. Orodha ya **oauth_scopes.txt** inasasishwa na maeneo yote ya OAuth tuliyopata kuwa muhimu kwa kutumia vitambulisho vya Workspace.
|
||||
6. Mbinu ya `_make_authorization_grant_assertion` inaonyesha umuhimu wa kutangaza mtumiaji wa **target workspace**, anayeitwa _subject_, kwa ajili ya kuzalisha JWTs chini ya DWD. Ingawa hii inaweza kuonekana inahitaji mtumiaji maalum, ni muhimu kutambua kwamba **DWD inaathiri kila kitambulisho ndani ya eneo**. Kwa hivyo, kuunda JWT kwa **mtumiaji yeyote wa eneo** kunaathiri vitambulisho vyote katika eneo hilo, kulingana na ukaguzi wetu wa mchanganyiko. Kwa maneno rahisi, mtumiaji mmoja halali wa Workspace ni wa kutosha kuendelea.\
|
||||
Mtumiaji huyu anaweza kufafanuliwa katika faili ya _config.yaml_ ya DeleFriend. Ikiwa mtumiaji wa target workspace hajulikani tayari, zana hii inarahisisha utambuzi wa moja kwa moja wa watumiaji halali wa workspace kwa kuskan watumiaji wa eneo wenye majukumu kwenye miradi ya GCP. Ni muhimu kutambua (tena) kwamba JWTs ni maalum kwa eneo na hazizalishwi kwa kila mtumiaji; hivyo, mchakato wa moja kwa moja unalenga kitambulisho kimoja cha kipekee kwa kila eneo.
|
||||
7. **Enumerate and create a new bearer access token** kwa kila JWT na kuthibitisha token dhidi ya tokeninfo API.
|
||||
5. Itera kwenye **kila akaunti ya huduma mpya na unda `JWT`** **object** kwa ajili yake ambayo inajumuisha akidi za funguo za faragha za SA na eneo la OAuth. Mchakato wa kuunda _JWT_ mpya utachambua **mchanganyiko wote wa sasa wa maeneo ya OAuth** kutoka kwenye orodha ya **oauth_scopes.txt**, ili kupata uwezekano wote wa uwakilishi. Orodha ya **oauth_scopes.txt** inasasishwa na maeneo yote ya OAuth tuliyopata kuwa muhimu kwa kutumia vitambulisho vya Workspace.
|
||||
6. Mbinu ya `_make_authorization_grant_assertion` inaonyesha umuhimu wa kutangaza mtumiaji wa **workspace wa lengo**, anayeitwa _subject_, kwa ajili ya kuunda JWTs chini ya DWD. Ingawa hii inaweza kuonekana inahitaji mtumiaji maalum, ni muhimu kutambua kwamba **DWD inaathiri kila kitambulisho ndani ya eneo**. Kwa hivyo, kuunda JWT kwa **mtumiaji yeyote wa eneo** kunaathiri vitambulisho vyote katika eneo hilo, kulingana na ukaguzi wetu wa mchanganyiko. Kwa kifupi, mtumiaji mmoja halali wa Workspace anatosha kuendelea.\
|
||||
Mtumiaji huyu anaweza kufafanuliwa katika faili ya _config.yaml_ ya DeleFriend. Ikiwa mtumiaji wa workspace wa lengo hajulikani tayari, zana inarahisisha utambuzi wa moja kwa moja wa watumiaji halali wa workspace kwa kuskan watumiaji wa eneo wenye majukumu kwenye miradi ya GCP. Ni muhimu kutambua (tena) kwamba JWTs ni maalum kwa eneo na hazizalishwi kwa kila mtumiaji; hivyo, mchakato wa moja kwa moja unalenga kitambulisho kimoja cha kipekee kwa kila eneo.
|
||||
7. **Enumerate na unda token ya ufikiaji wa bearer mpya** kwa kila JWT na kuthibitisha token dhidi ya tokeninfo API.
|
||||
|
||||
#### [Gitlab's Python script](https://gitlab.com/gitlab-com/gl-security/threatmanagement/redteam/redteam-public/gcp_misc/-/blob/master/gcp_delegation.py)
|
||||
|
||||
@@ -73,32 +73,32 @@ pip install --upgrade --user oauth2client
|
||||
--domain target-org.com \
|
||||
--account pwned
|
||||
```
|
||||
### Unda uwakilishi mpya (Uendelevu)
|
||||
### Create a new delegation (Persistence)
|
||||
|
||||
Inawezekana **kuangalia Uwakilishi wa Kikoa Kote katika** [**https://admin.google.com/u/1/ac/owl/domainwidedelegation**](https://admin.google.com/u/1/ac/owl/domainwidedelegation)**.**
|
||||
Ni uwezekano wa **kuangalia Mamlaka ya Kikoa Kote katika** [**https://admin.google.com/u/1/ac/owl/domainwidedelegation**](https://admin.google.com/u/1/ac/owl/domainwidedelegation)**.**
|
||||
|
||||
Mshambuliaji mwenye uwezo wa **kuunda akaunti za huduma katika mradi wa GCP** na **haki za super admin kwa GWS anaweza kuunda uwakilishi mpya unaowaruhusu SAs kuiga baadhi ya watumiaji wa GWS:**
|
||||
Mshambuliaji mwenye uwezo wa **kuunda akaunti za huduma katika mradi wa GCP** na **haki za super admin kwa GWS anaweza kuunda mamlaka mpya inayoruhusu SAs kuiga watumiaji wengine wa GWS:**
|
||||
|
||||
1. **Kuzalisha Akaunti ya Huduma Mpya na Jifunguo Linalolingana:** Kwenye GCP, rasilimali mpya za akaunti za huduma zinaweza kuzalishwa ama kwa njia ya mwingiliano kupitia console au kwa njia ya programu kwa kutumia wito wa moja kwa moja wa API na zana za CLI. Hii inahitaji **jukumu `iam.serviceAccountAdmin`** au jukumu lolote la kawaida lililo na **`iam.serviceAccounts.create`** **idhini**. Mara akaunti ya huduma itakapoundwa, tutaendelea kuzalisha **jifunguo linalolingana** (**`iam.serviceAccountKeys.create`** idhini).
|
||||
2. **Uundaji wa uwakilishi mpya**: Ni muhimu kuelewa kwamba **ni jukumu la Super Admin pekee ndilo lina uwezo wa kuanzisha uwakilishi wa Kikoa Kote katika Google Workspace** na uwakilishi wa Kikoa Kote **hauwezi kuanzishwa kwa njia ya programu,** Inaweza kuundwa na kurekebishwa **kwa mikono** kupitia **console** ya Google Workspace.
|
||||
1. **Kuzalisha Akaunti ya Huduma Mpya na Mifano ya Funguo Inayohusiana:** Kwenye GCP, rasilimali mpya za akaunti za huduma zinaweza kuzalishwa ama kwa njia ya kuingiliana kupitia console au kwa njia ya programu kwa kutumia wito wa moja kwa moja wa API na zana za CLI. Hii inahitaji **jukumu `iam.serviceAccountAdmin`** au jukumu lolote la kawaida lililo na **ruhusa `iam.serviceAccounts.create`**. Mara akaunti ya huduma itakapoundwa, tutaendelea kuzalisha **mifano ya funguo inayohusiana** (**ruhusa `iam.serviceAccountKeys.create`**).
|
||||
2. **Kuunda mamlaka mpya**: Ni muhimu kuelewa kwamba **ni jukumu la Super Admin pekee linaloweza kuanzisha mamlaka ya Kikoa Kote katika Google Workspace** na mamlaka ya Kikoa Kote **haiwezi kuanzishwa kwa njia ya programu,** Inaweza kuundwa na kurekebishwa **kwa mikono** kupitia **console** ya Google Workspace.
|
||||
- Uundaji wa sheria unaweza kupatikana chini ya ukurasa **API controls → Manage Domain-Wide delegation in Google Workspace Admin console**.
|
||||
3. **Kuweka haki za OAuth scopes**: Wakati wa kuunda uwakilishi mpya, Google inahitaji tu vigezo 2, Kitambulisho cha Mteja, ambacho ni **Kitambulisho cha OAuth cha Rasilimali ya Akaunti ya Huduma ya GCP**, na **OAuth scopes** zinazoeleza ni wito gani wa API uwakilishi unahitaji.
|
||||
3. **Kuweka haki za OAuth scopes**: Wakati wa configuring mamlaka mpya, Google inahitaji tu vigezo 2, Kitambulisho cha Mteja, ambacho ni **Kitambulisho cha OAuth cha Rasilimali ya Akaunti ya Huduma ya GCP**, na **OAuth scopes** zinazofafanua ni wito gani wa API mamlaka inahitaji.
|
||||
- **orodha kamili ya OAuth scopes** inaweza kupatikana [**hapa**](https://developers.google.com/identity/protocols/oauth2/scopes), lakini hapa kuna pendekezo: `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. **Kufanya kwa niaba ya kitambulisho kilicholengwa:** Katika hatua hii, tuna kitu kilichowakilishwa kinachofanya kazi katika GWS. Sasa, **tukitumia funguo binafsi za Akaunti ya Huduma ya GCP, tunaweza kufanya wito wa API** (katika upeo ulioelezwa katika vigezo vya OAuth scope) ili kuhamasisha na **kufanya kwa niaba ya kitambulisho chochote kilichopo katika Google Workspace**. Kama tulivyojifunza, akaunti ya huduma itazalisha tokeni za ufikiaji kulingana na mahitaji yake na kulingana na idhini aliyo nayo kwa programu za REST API.
|
||||
- Angalia **sehemu ya awali** kwa baadhi ya **zana** za kutumia uwakilishi huu.
|
||||
4. **Kufanya kwa niaba ya kitambulisho cha lengo:** Katika hatua hii, tuna kitu kilichopewa mamlaka kinachofanya kazi katika GWS. Sasa, **tukitumia funguo ya faragha ya Akaunti ya Huduma ya GCP, tunaweza kufanya wito wa API** (katika wigo ulioainishwa katika vigezo vya OAuth scope) ili kuhamasisha na **kufanya kwa niaba ya kitambulisho chochote kilichopo katika Google Workspace**. Kama tulivyojifunza, akaunti ya huduma itazalisha tokeni za ufikiaji kulingana na mahitaji yake na kulingana na ruhusa aliyonayo kwa programu za REST API.
|
||||
- Angalia **sehemu ya awali** kwa zana **za kutumia mamlaka hii**.
|
||||
|
||||
#### Uwakilishi wa Kijamii
|
||||
#### Cross-Organizational delegation
|
||||
|
||||
Kitambulisho cha OAuth SA ni cha kimataifa na kinaweza kutumika kwa **uwakilishi wa kijamii**. Hakuna vizuizi vilivyowekwa kuzuia uwakilishi wa kimataifa. Kwa maneno rahisi, **akaunti za huduma kutoka mashirika tofauti ya GCP zinaweza kutumika kuunda uwakilishi wa kikoa kote kwenye mashirika mengine ya Workspace**. Hii itasababisha **kuhitaji tu ufikiaji wa Super Admin kwa Workspace**, na sio ufikiaji wa akaunti hiyo hiyo ya GCP, kwani mpinzani anaweza kuunda Akaunti za Huduma na funguo binafsi kwenye akaunti yake ya GCP anayoitawala.
|
||||
Kitambulisho cha OAuth SA ni cha kimataifa na kinaweza kutumika kwa **mamlaka ya kuvuka mashirika**. Hakuna vizuizi vilivyowekwa kuzuia mamlaka ya kuvuka kimataifa. Kwa maneno rahisi, **akaunti za huduma kutoka mashirika tofauti ya GCP zinaweza kutumika kuunda mamlaka ya kikoa kote kwenye mashirika mengine ya Workspace**. Hii itasababisha **kuhitaji tu ufikiaji wa Super Admin kwa Workspace**, na sio ufikiaji wa akaunti hiyo hiyo ya GCP, kwani mpinzani anaweza kuunda Akaunti za Huduma na funguo za faragha kwenye akaunti yake ya GCP anayoitawala binafsi.
|
||||
|
||||
### Kuunda Mradi wa Kuorodhesha Workspace
|
||||
### Creating a Project to enumerate Workspace
|
||||
|
||||
Kwa **kawaida** watumiaji wa Workspace **wana haki ya** **kuunda miradi mipya**, na wakati mradi mpya unaundwa, **mwandishi anapata jukumu la Mmiliki** juu yake.
|
||||
Kwa **default** watumiaji wa Workspace **wana ruhusa ya** **kuunda miradi mipya**, na wakati mradi mpya unaundwa **mwandishi anapata jukumu la Mmiliki** juu yake.
|
||||
|
||||
Hivyo, mtumiaji anaweza **kuunda mradi**, **kuwezesha** **APIs** kuorodhesha Workspace katika mradi wake mpya na kujaribu **kuorodhesha** hiyo.
|
||||
Hivyo, mtumiaji anaweza **kuunda mradi**, **kuwezesha** **APIs** ili kuhesabu Workspace katika mradi wake mpya na kujaribu **kuhesabu**.
|
||||
|
||||
> [!CAUTION]
|
||||
> Ili mtumiaji aweze kuorodhesha Workspace, pia anahitaji haki za kutosha za Workspace (sio kila mtumiaji ataweza kuorodhesha directory).
|
||||
> Ili mtumiaji aweze kuhesabu Workspace anahitaji pia ruhusa za kutosha za Workspace (sio kila mtumiaji ataweza kuhesabu directory).
|
||||
```bash
|
||||
# Create project
|
||||
gcloud projects create <uniq-projec-name> --name=proj-name
|
||||
@@ -116,22 +116,22 @@ gcloud identity groups memberships list --group-email=g<group-email>
|
||||
# FROM HERE THE USER NEEDS TO HAVE ENOUGH WORKSPACE ACCESS
|
||||
gcloud beta identity groups preview --customer <org-cust-id>
|
||||
```
|
||||
Angalia **kuorodhesha zaidi katika**:
|
||||
Check **more enumeration in**:
|
||||
|
||||
{{#ref}}
|
||||
../gcp-services/gcp-iam-and-org-policies-enum.md
|
||||
{{#endref}}
|
||||
|
||||
### Kutumia vibaya akreditivu za Gcloud
|
||||
### Abusing Gcloud credentials
|
||||
|
||||
Unaweza kupata taarifa zaidi kuhusu mtiririko wa `gcloud` kuingia katika:
|
||||
You can find further information about the `gcloud` flow to login in:
|
||||
|
||||
{{#ref}}
|
||||
../gcp-persistence/gcp-non-svc-persistance.md
|
||||
../gcp-persistence/gcp-non-svc-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
Kama ilivyoelezwa hapo, gcloud inaweza kuomba upeo **`https://www.googleapis.com/auth/drive`** ambao utamruhusu mtumiaji kufikia diski ya mtumiaji.\
|
||||
Kama mshambuliaji, ikiwa umepata **kimwili** kompyuta ya mtumiaji na **mtumiaji bado ameingia** na akaunti yake unaweza kuingia kwa kuzalisha tokeni yenye ufikiaji wa diski ukitumia:
|
||||
Kama ilivyoelezwa hapo, gcloud inaweza kuomba wigo **`https://www.googleapis.com/auth/drive`** ambayo itamruhusu mtumiaji kufikia drive ya mtumiaji.\
|
||||
Kama mshambuliaji, ikiwa umepata **kimwili** kompyuta ya mtumiaji na **mtumiaji bado ameingia** na akaunti yake unaweza kuingia kwa kuzalisha token yenye ufikiaji wa drive kwa kutumia:
|
||||
```bash
|
||||
gcloud auth login --enable-gdrive-access
|
||||
```
|
||||
@@ -148,13 +148,13 @@ Ikiwa mshambuliaji anapora kompyuta ya mtumiaji anaweza pia kubadilisha faili `g
|
||||
|
||||
### Ufikiaji wa watumiaji wenye mamlaka ya GCP
|
||||
|
||||
Ikiwa mshambuliaji ana ufikiaji kamili juu ya GWS ataweza kufikia vikundi vyenye ufikiaji wa mamlaka juu ya GCP au hata watumiaji, hivyo kuhamia kutoka GWS hadi GCP kwa kawaida ni "rahisi" zaidi kwa sababu **watumiaji katika GWS wana mamlaka makubwa juu ya GCP**.
|
||||
Ikiwa mshambuliaji ana ufikiaji kamili juu ya GWS ataweza kufikia makundi yenye ufikiaji wa mamlaka juu ya GCP au hata watumiaji, hivyo kuhamia kutoka GWS hadi GCP kwa kawaida ni "rahisi" zaidi kwa sababu **watumiaji katika GWS wana mamlaka makubwa juu ya GCP**.
|
||||
|
||||
### Kuinua Mamlaka ya Vikundi vya Google
|
||||
### Kuinua Mamlaka ya Makundi ya Google
|
||||
|
||||
Kwa kawaida watumiaji wanaweza **kujiunga kwa uhuru na vikundi vya Workspace vya Shirika** na vikundi hivyo **vinaweza kuwa na ruhusa za GCP** zilizotolewa (angalia vikundi vyako katika [https://groups.google.com/](https://groups.google.com/)).
|
||||
Kwa kawaida watumiaji wanaweza **kujiunga kwa uhuru na makundi ya Workspace ya Shirika** na makundi hayo **yanaweza kuwa na ruhusa za GCP** zilizotolewa (angalia makundi yako katika [https://groups.google.com/](https://groups.google.com/)).
|
||||
|
||||
Kwa kutumia **kuinua mamlaka ya vikundi vya google** unaweza kuwa na uwezo wa kuinua hadi kundi lenye aina fulani ya ufikiaji wa mamlaka kwa GCP.
|
||||
Kwa kutumia **kuinua mamlaka ya makundi ya google** unaweza kuwa na uwezo wa kuinua hadi kundi lenye aina fulani ya ufikiaji wa mamlaka kwa GCP.
|
||||
|
||||
### Marejeleo
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-met
|
||||
|
||||
## Google Groups Phishing
|
||||
|
||||
Kwa kawaida, katika workspace wanachama [**wanaweza kuunda vikundi**](https://groups.google.com/all-groups) **na kuwakaribisha watu ndani yao**. Unaweza kisha kubadilisha barua pepe itakayotumwa kwa mtumiaji **ukiongeza baadhi ya viungo.** Barua pepe **itakuja kutoka anwani ya google**, hivyo itakuwa **halali** na watu wanaweza kubofya kwenye kiungo.
|
||||
Kwa kawaida, katika workspace wanachama [**wanaweza kuunda makundi**](https://groups.google.com/all-groups) **na kuwakaribisha watu ndani yao**. Unaweza kisha kubadilisha barua pepe itakayotumwa kwa mtumiaji **ukiongeza baadhi ya viungo.** Barua pepe hiyo **itakuja kutoka anwani ya google**, hivyo itakuwa **halali** na watu wanaweza kubofya kwenye kiungo.
|
||||
|
||||
Pia inawezekana kuweka anwani ya **FROM** kama **barua pepe ya kundi la Google** ili kutuma **barua pepe zaidi kwa watumiaji ndani ya kundi**, kama katika picha ifuatayo ambapo kundi **`google--support@googlegroups.com`** lilianzishwa na **barua pepe ilitumwa kwa wanachama wote** wa kundi (ambao waliongezwa bila ridhaa yoyote)
|
||||
|
||||
@@ -18,43 +18,43 @@ Pia inawezekana kuweka anwani ya **FROM** kama **barua pepe ya kundi la Google**
|
||||
|
||||
## Google Chat Phishing
|
||||
|
||||
Unaweza kuwa na uwezo wa **kuanzisha mazungumzo** na mtu kwa kuwa na anwani yao ya barua pepe au kutuma **mwaliko wa kuzungumza**. Zaidi ya hayo, inawezekana **kuunda Space** ambayo inaweza kuwa na jina lolote (mfano "Google Support") na **kuwalika** wanachama ndani yake. Ikiwa watakubali wanaweza kufikiri wanazungumza na Google Support:
|
||||
Unaweza kuwa na uwezo wa **kuanzisha mazungumzo** na mtu kwa kuwa na anwani yao ya barua pepe au kutuma **kialiko cha kuzungumza**. Zaidi ya hayo, inawezekana **kuunda Space** ambayo inaweza kuwa na jina lolote (mfano "Google Support") na **kuwalika** wanachama ndani yake. Ikiwa watakubali wanaweza kufikiri wanazungumza na Google Support:
|
||||
|
||||
<figure><img src="../../../images/image (6).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> **Katika majaribio yangu hata hivyo, wanachama waliokaribishwa hawakupokea mwaliko.**
|
||||
> **Katika majaribio yangu hata hivyo, wanachama waliokaribishwa hawakupokea hata mwaliko.**
|
||||
|
||||
Unaweza kuangalia jinsi hii ilivyofanya kazi zamani katika: [https://www.youtube.com/watch?v=KTVHLolz6cE\&t=904s](https://www.youtube.com/watch?v=KTVHLolz6cE&t=904s)
|
||||
|
||||
## Google Doc Phishing
|
||||
|
||||
Katika siku za nyuma ilikuwa inawezekana kuunda **nyaraka inayodhaniwa kuwa halali** na katika maoni **kurejelea barua pepe fulani (kama @user@gmail.com)**. Google **ilituma barua pepe kwa anwani hiyo ya barua pepe** ikionyesha kwamba walirejelewa katika nyaraka.\
|
||||
Sasa, hii haifanyi kazi lakini ikiwa **utampa mwathirika ufikiaji wa barua pepe kwenye nyaraka** Google itatuma barua pepe ikionyesha hivyo. Huu ndio ujumbe unaoonekana unapomrejelea mtu:
|
||||
Katika siku za nyuma ilikuwa inawezekana kuunda **nyaraka inayodhaniwa kuwa halali** na katika maoni **kuitaja barua pepe fulani (kama @user@gmail.com)**. Google **ilituma barua pepe kwa anwani hiyo ya barua pepe** ikionyesha kwamba walitajwa katika nyaraka.\
|
||||
Sasa, hii haifanyi kazi lakini ikiwa **utampa mwathirika ufikiaji wa barua pepe kwenye nyaraka** Google itatuma barua pepe ikionyesha hivyo. Huu ndio ujumbe unaotokea unapomtaja mtu:
|
||||
|
||||
<figure><img src="../../../images/image (7).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> Wahanga wanaweza kuwa na mfumo wa ulinzi ambao hauwaruhusu barua pepe zinazotangaza kuwa nyaraka za nje zimeshirikishwa nao kufika kwenye barua zao pepe.
|
||||
> Waathirika wanaweza kuwa na mfumo wa ulinzi ambao hauwaruhusu barua pepe zinazotangaza kuwa nyaraka za nje zimeshirikishwa nao kufika kwenye barua zao.
|
||||
|
||||
## Google Calendar Phishing
|
||||
|
||||
Unaweza **kuunda tukio la kalenda** na kuongeza anwani nyingi za barua pepe za kampuni unayoishambulia kadri unavyoweza. Panga tukio hili la kalenda katika **dakika 5 au 15** kutoka wakati wa sasa. Fanya tukio hilo kuonekana halali na **weka maoni na kichwa kinachoonyesha kwamba wanahitaji kusoma kitu** (pamoja na **kiungo cha phishing**).
|
||||
|
||||
Hii ndiyo arifa itakayoonekana kwenye kivinjari na kichwa cha mkutano "Kuwafuta Watu", hivyo unaweza kuweka kichwa kinachofanana zaidi na phishing (na hata kubadilisha jina linalohusishwa na barua pepe yako).
|
||||
Hii ndiyo arifa itakayojitokeza kwenye kivinjari chenye kichwa cha mkutano "Kuwafuta Watu", hivyo unaweza kuweka kichwa kingine kinachofanana na phishing (na hata kubadilisha jina linalohusishwa na barua pepe yako).
|
||||
|
||||
<figure><img src="../../../images/image (8).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ili kuifanya ionekane kidogo kuwa na shaka:
|
||||
Ili kuifanya ionekane kuwa na shaka kidogo:
|
||||
|
||||
- Iweke ili **wapokeaji wasione watu wengine waliokaribishwa**
|
||||
- Usitumie **barua pepe za kutangazia kuhusu tukio**. Kisha, watu wataona tu onyo lao kuhusu mkutano katika dakika 5 na kwamba wanahitaji kusoma kiungo hicho.
|
||||
- Kwa kawaida, kutumia API unaweza kuweka **Kweli** kwamba **watu** wame **kubali** tukio hilo na hata kuunda **maoni kwa niaba yao**.
|
||||
- Usitumie barua pepe kuarifu kuhusu tukio hilo. Kisha, watu wataona tu onyo lao kuhusu mkutano katika dakika 5 na kwamba wanahitaji kusoma kiungo hicho.
|
||||
- Kwa kawaida, kwa kutumia API unaweza kuweka **Kweli** kwamba **watu** wame **kubali** tukio hilo na hata kuunda **maoni kwa niaba yao**.
|
||||
|
||||
## App Scripts Redirect Phishing
|
||||
|
||||
Inawezekana kuunda script katika [https://script.google.com/](https://script.google.com/) na **kuifichua kama programu ya wavuti inayopatikana kwa kila mtu** ambayo itatumia domain halali **`script.google.com`**.\
|
||||
Kwa baadhi ya msimbo kama ifuatavyo, mshambuliaji anaweza kufanya script hiyo ipakue maudhui yasiyo na mipaka katika ukurasa huu bila kuacha kufikia domain:
|
||||
Kwa baadhi ya msimbo kama ifuatavyo, mshambuliaji anaweza kufanya script hiyo ipakue maudhui yasiyo na mipaka kwenye ukurasa huu bila kuacha kufikia domain:
|
||||
```javascript
|
||||
function doGet() {
|
||||
return HtmlService.createHtmlOutput(
|
||||
@@ -67,7 +67,7 @@ Kwa mfano, ukifika [https://script.google.com/macros/s/AKfycbwuLlzo0PUaT63G33MtE
|
||||
<figure><img src="../../../images/image (4) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
> [!TIP]
|
||||
> Kumbuka kwamba onyo litajitokeza wakati maudhui yanapoload ndani ya iframe.
|
||||
> Kumbuka kwamba onyo litaonekana wakati maudhui yanapoload ndani ya iframe.
|
||||
|
||||
## App Scripts OAuth Phishing
|
||||
|
||||
@@ -79,21 +79,21 @@ gws-app-scripts.md
|
||||
|
||||
## OAuth Apps Phishing
|
||||
|
||||
Mbinu zozote za hapo awali zinaweza kutumika kumfanya mtumiaji aingie kwenye **Google OAuth application** ambayo itakuwa **inahitaji** mtumiaji **ufikiaji**. Ikiwa mtumiaji **anaamini** **chanzo** anaweza **kuamini** **programu** (hata kama inahitaji ruhusa zenye mamlaka makubwa).
|
||||
Mbinu zozote za hapo awali zinaweza kutumika kumfanya mtumiaji aingie kwenye **Google OAuth application** ambayo itakuwa **inaomba** mtumiaji baadhi ya **ufikiaji**. Ikiwa mtumiaji **anaamini** **chanzo** anaweza **kuamini** **programu** (hata kama inaomba ruhusa zenye mamlaka makubwa).
|
||||
|
||||
> [!NOTE]
|
||||
> Kumbuka kwamba Google inaonyesha onyo mbaya ikionyesha kwamba programu haikubaliki katika hali kadhaa na wasimamizi wa Workspace wanaweza hata kuzuia watu kukubali programu za OAuth.
|
||||
> Kumbuka kwamba Google inaonyesha onyo mbaya linaloomba kwamba programu haitegemeiwi katika hali kadhaa na wasimamizi wa Workspace wanaweza hata kuzuia watu kukubali programu za OAuth.
|
||||
|
||||
**Google** inaruhusu kuunda programu ambazo zinaweza **kufanya kazi kwa niaba ya watumiaji** na huduma mbalimbali za **Google**: Gmail, Drive, GCP...
|
||||
**Google** inaruhusu kuunda programu ambazo zinaweza **kuingiliana kwa niaba ya watumiaji** na huduma mbalimbali za **Google**: Gmail, Drive, GCP...
|
||||
|
||||
Wakati wa kuunda programu ili **kufanya kazi kwa niaba ya watumiaji wengine**, mendelevu anahitaji kuunda **OAuth app ndani ya GCP** na kuonyesha maeneo (ruhusa) ambazo programu inahitaji ili kufikia data za watumiaji.\
|
||||
Wakati **mtumiaji** anataka **kutumia** hiyo **programu**, wataombwa **kukubali** kwamba programu itakuwa na ufikiaji wa data zao zilizobainishwa katika maeneo.
|
||||
Wakati wa kuunda programu ili **kufanya kazi kwa niaba ya watumiaji wengine**, mtengenezaji anahitaji kuunda **OAuth app ndani ya GCP** na kuonyesha maeneo (ruhusa) ambazo programu inahitaji ili kufikia data za watumiaji.\
|
||||
Wakati **mtumiaji** anataka **kutumia** hiyo **programu**, wata **ombwa** kukubali kwamba programu itakuwa na ufikiaji wa data zao zilizobainishwa katika maeneo.
|
||||
|
||||
Hii ni njia nzuri sana ya **phish** watumiaji wasio na ujuzi wa kiufundi kutumia **programu zinazofikia taarifa nyeti** kwa sababu wanaweza kutokuelewa matokeo. Hata hivyo, katika akaunti za mashirika, kuna njia za kuzuia hili kutokea.
|
||||
|
||||
### Onyo la Programu Isiyothibitishwa
|
||||
|
||||
Kama ilivyotajwa, google kila wakati itaonyesha **onyo kwa mtumiaji kukubali** ruhusa wanazotoa kwa programu kwa niaba yao. Hata hivyo, ikiwa programu inachukuliwa kuwa **hatari**, google itaonyesha **kwanza** **onyo** ikionyesha kwamba ni **hatari** na **kuifanya iwe ngumu zaidi** kwa mtumiaji kutoa ruhusa kwa programu.
|
||||
Kama ilivyotajwa, google kila wakati itaonyesha **onyo kwa mtumiaji kukubali** ruhusa wanazotoa kwa programu kwa niaba yao. Hata hivyo, ikiwa programu inachukuliwa kuwa **hatari**, google itaonyesha **kwanza** **onyo** linaloonyesha kwamba ni **hatari** na **kuifanya iwe ngumu zaidi** kwa mtumiaji kutoa ruhusa kwa programu.
|
||||
|
||||
Onyo hili linaonekana katika programu ambazo:
|
||||
|
||||
@@ -116,33 +116,33 @@ Onyo hili linaonekana katika programu ambazo:
|
||||
- Ndani inaweza kuwa ya kuvutia ikiwa tayari umepata mtumiaji wa shirika na unaunda programu hii ili kuwapiga wengine.
|
||||
3. Toa **jina** kwa programu, **barua pepe ya msaada** (kumbuka kwamba unaweza kuweka barua pepe ya googlegroup ili kujaribu kujificha kidogo zaidi), **logo**, **domain zilizoidhinishwa** na barua pepe nyingine kwa **sasisho**.
|
||||
4. **Chagua** **maeneo ya OAuth**.
|
||||
- Ukurasa huu umegawanywa katika ruhusa zisizo nyeti, ruhusa nyeti na ruhusa zilizozuiliwa. Kila wakati unapoongeza ruhusa mpya inaongezwa kwenye kundi lake. Kulingana na ruhusa zinazohitajika, onyo tofauti litajitokeza kwa mtumiaji ikionyesha jinsi ruhusa hizi zilivyo nyeti.
|
||||
- Ukurasa huu umegawanywa katika ruhusa zisizo nyeti, ruhusa nyeti na ruhusa zilizozuiliwa. Kila wakati unapoongeza ruhusa mpya inaongezwa kwenye kundi lake. Kulingana na ruhusa zinazohitajika, onyo tofauti litaonekana kwa mtumiaji likionyesha jinsi ruhusa hizi zilivyo nyeti.
|
||||
- Zote **`admin.directory.user.readonly`** na **`cloud-platform`** ni ruhusa nyeti.
|
||||
5. **Ongeza watumiaji wa majaribio.** Kadri hali ya programu inavyokuwa ya majaribio, ni watumiaji hawa pekee watakaoweza kufikia programu hiyo hivyo hakikisha **ongeza barua pepe unayokusudia kuwapiga**.
|
||||
|
||||
Sasa hebu tupate **vyeti kwa programu ya wavuti** kwa kutumia **OAuth Client ID iliyoundwa awali**:
|
||||
|
||||
1. Rudi [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient), chaguo tofauti litajitokeza wakati huu.
|
||||
1. Rudi [https://console.cloud.google.com/apis/credentials/oauthclient](https://console.cloud.google.com/apis/credentials/oauthclient), chaguo tofauti litaonekana wakati huu.
|
||||
2. Chagua kuunda **vyeti kwa programu ya Wavuti**
|
||||
3. Weka **misingi ya Javascript** na **URIs za kurejea** zinazohitajika
|
||||
3. Weka **misingi ya Javascript** na **URIs za kurejelea** zinazohitajika
|
||||
- Unaweza kuweka katika zote mbili kitu kama **`http://localhost:8000/callback`** kwa majaribio
|
||||
4. Pata **vyeti vya programu yako**
|
||||
|
||||
Hatimaye, hebu **endesha programu ya wavuti ambayo itatumia vyeti vya programu ya OAuth**. Unaweza kupata mfano katika [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
|
||||
Hatimaye, hebu **kimbia programu ya wavuti ambayo itatumia vyeti vya programu ya OAuth**. Unaweza kupata mfano katika [https://github.com/carlospolop/gcp_oauth_phishing_example](https://github.com/carlospolop/gcp_oauth_phishing_example).
|
||||
```bash
|
||||
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>"
|
||||
```
|
||||
Nenda kwenye **`http://localhost:8000`**, bonyeza kitufe cha Login with Google, utaonyeshwa **ujumbe** kama huu:
|
||||
Nenda kwenye **`http://localhost:8000`** bonyeza kitufe cha Login with Google, utaonyeshwa **ujumbe** kama huu:
|
||||
|
||||
<figure><img src="../../../images/image (333).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Programu hiyo itaonyesha **access and refresh token** ambazo zinaweza kutumika kwa urahisi. Kwa maelezo zaidi kuhusu **jinsi ya kutumia token hizi angalia**:
|
||||
Programu itakuonyesha **access and refresh token** ambazo zinaweza kutumika kwa urahisi. Kwa maelezo zaidi kuhusu **jinsi ya kutumia token hizi angalia**:
|
||||
|
||||
{{#ref}}
|
||||
../../gcp-security/gcp-persistence/gcp-non-svc-persistance.md
|
||||
../../gcp-security/gcp-persistence/gcp-non-svc-persistence.md
|
||||
{{#endref}}
|
||||
|
||||
#### Kutumia `glcoud`
|
||||
@@ -153,7 +153,7 @@ Inawezekana kufanya kitu kwa kutumia gcloud badala ya console ya wavuti, angalia
|
||||
../../gcp-security/gcp-privilege-escalation/gcp-clientauthconfig-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Marejeo
|
||||
## Marejeleo
|
||||
|
||||
- [https://www.youtube-nocookie.com/embed/6AsVUS79gLw](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](https://www.youtube.com/watch?v=KTVHLolz6cE) - Mike Felch na Beau Bullock - OK Google, How do I Red Team GSuite?
|
||||
|
||||
Reference in New Issue
Block a user