From 5ecd58bb8a90600cdadd059cc4c6e9e039cd7199 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 4 Mar 2025 22:09:33 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/README.md'] to sw --- src/SUMMARY.md | 5 +- src/pentesting-cloud/azure-security/README.md | 84 ++++++++++++------- 2 files changed, 56 insertions(+), 33 deletions(-) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 54f1ce76a..5939f1183 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -417,15 +417,18 @@ - [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md) - [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md) - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md) - - [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md) + - [Az - Defender](pentesting-cloud/azure-security/az-services/az-defender.md) - [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md) - [Az - Function Apps](pentesting-cloud/azure-security/az-services/az-function-apps.md) + - [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md) - [Az - Key Vault](pentesting-cloud/azure-security/az-services/az-keyvault.md) - [Az - Logic Apps](pentesting-cloud/azure-security/az-services/az-logic-apps.md) - [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md) + - [Az - Monitoring](pentesting-cloud/azure-security/az-services/az-monitoring.md) - [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md) - [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md) - [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md) + - [Az - Sentinel](pentesting-cloud/azure-security/az-services/az-sentinel.md) - [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md) - [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md) - [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md) diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md index 7f86b2b32..00922d336 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.md @@ -12,13 +12,13 @@ az-basic-information/ ## Azure Pentester/Red Team Methodology -Ili kukagua mazingira ya AZURE ni muhimu sana kujua: ni **huduma zipi zinatumika**, nini kinacho **onyeshwa**, nani ana **ufikiaji** wa nini, na jinsi huduma za ndani za Azure na **huduma za nje** zinavyounganishwa. +Ili kukagua mazingira ya AZURE ni muhimu sana kujua: ni **huduma zipi zinatumika**, nini kinachoweza **kuonyeshwa**, nani ana **ufikiaji** wa nini, na jinsi huduma za ndani za Azure na **huduma za nje** zinavyounganishwa. Kutoka kwa mtazamo wa Red Team, **hatua ya kwanza ya kuathiri mazingira ya Azure** ni kufanikiwa kupata **mwanzo**. ### External enum & Initial Access -Hatua ya kwanza ni bila shaka kuhesabu taarifa kuhusu mpangilio unayoshambulia na kujaribu kupata mwanzo. +Hatua ya kwanza ni bila shaka kuorodhesha taarifa kuhusu mpangilio unao shambulia na kujaribu kupata mwanzo. Kulingana na jina la kikoa, inawezekana kujua **kama kampuni inatumia Azure**, kupata **tenant ID**, kupata **viwango vingine halali** katika mpangilio huo (ikiwa vipo) na kupata **taarifa muhimu** kama SSO imewezeshwa, mipangilio ya barua, barua pepe za watumiaji halali... @@ -31,7 +31,7 @@ az-unauthenticated-enum-and-initial-entry/ Kwa taarifa hii, njia za kawaida za kujaribu kupata mwanzo ni: - **OSINT**: Angalia kwa **leaks** katika Github au jukwaa lolote la chanzo wazi ambalo linaweza kuwa na **credentials** au taarifa za kuvutia. - **Password** reuse, leaks au [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) -- Nunua credentials kutoka kwa mfanyakazi +- Nunua credentials za mfanyakazi - [**Common Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (credentials au Oauth App) - [Device Code Authentication Phishing](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md) - 3rd parties **breached** @@ -39,21 +39,21 @@ Kwa taarifa hii, njia za kawaida za kujaribu kupata mwanzo ni: - [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) yenye ufikiaji wa metadata endpoint - **Subdomain takeovers** kama ilivyo katika [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/) - **Mikosefu mingine ya huduma za azure** -- Ikiwa kompyuta ya mende imeathiriwa ([WinPEAS na LinPEAS](https://github.com/peass-ng/PEASS-ng) zinaweza kupata taarifa hii): +- Ikiwa kompyuta ya mende ya developer imeathiriwa ([WinPEAS na LinPEAS](https://github.com/peass-ng/PEASS-ng) zinaweza kupata taarifa hii): - Ndani ya **`/.Azure`** - **`azureProfile.json`** ina taarifa kuhusu watumiaji walioingia kutoka zamani - **`clouds.config contains`** taarifa kuhusu usajili - **`service_principal_entries.json`** ina credentials za maombi (tenant id, clients na siri). Tu katika Linux & macOS -- **`msal_token_cache.json`** ina tokens za ufikiaji na tokens za upya. Tu katika Linux & macOS +- **`msal_token_cache.json`** ina tokens za ufikiaji na tokens za kurefresh. Tu katika Linux & macOS - **`service_principal_entries.bin`** na msal_token_cache.bin zinatumika katika Windows na zimefungwa kwa DPAPI - **`msal_http_cache.bin`** ni cache ya ombi la HTTP - Load it: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)` -- **`AzureRmContext.json`** ina taarifa kuhusu kuingia kwa awali kwa kutumia Az PowerShell (lakini hakuna credentials) +- **`AzureRmContext.json`** ina taarifa kuhusu kuingia kwa awali kutumia Az PowerShell (lakini hakuna credentials) - Ndani ya **`C:\Users\\AppData\Local\Microsoft\IdentityCache\*`** kuna faili kadhaa za `.bin` zenye **access tokens**, ID tokens na taarifa za akaunti zilizofungwa kwa DPAPI ya watumiaji. - Inawezekana kupata **access tokens** zaidi katika faili za `.tbres` ndani ya **`C:\Users\\AppData\Local\Microsoft\TokenBroken\Cache\`** ambazo zina base64 iliyofungwa kwa DPAPI yenye access tokens. - Katika Linux na macOS unaweza kupata **access tokens, refresh tokens na id tokens** kutoka Az PowerShell (ikiwa imetumika) ukikimbia `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` - Katika Windows hii inazalisha tu id tokens. -- Inawezekana kuona kama Az PowerShell ilitumika katika Linux na macOS kwa kuangalia kama `$HOME/.local/share/.IdentityService/` ipo (ingawa faili zilizomo ni tupu na hazina maana) +- Inawezekana kuona kama Az PowerShell ilitumika katika Linux na macOS kwa kuangalia kama `$HOME/.local/share/.IdentityService/` ipo (ingawa faili zilizomo ni tupu na hazina matumizi) Pata **mikosefu mingine ya Huduma za Azure** ambayo inaweza kupelekea mwanzo katika ukurasa ufuatao: @@ -62,11 +62,11 @@ az-unauthenticated-enum-and-initial-entry/ {{#endref}} > [!NOTE] -> Kumbuka kwamba kawaida sehemu ya **kelele** ya kuhesabu ni **kuingia**, si kuhesabu yenyewe. +> Kumbuka kwamba kawaida sehemu ya **kelele** katika orodha ni **kuingia**, si orodha yenyewe. ### Azure & Entra ID tooling -Zana zifuatazo zitakuwa muhimu sana kuhesabu wapangilio wa Entra ID na mazingira ya Azure polepole (ili kuepuka kugunduliwa) au kiotomatiki (ili kuokoa muda): +Zana zifuatazo zitakuwa muhimu sana kuorodhesha wapangilio wa Entra ID na mazingira ya Azure polepole (ili kuepuka kugundulika) au kiotomatiki (ili kuokoa muda): {{#ref}} az-enumeration-tools.md @@ -79,11 +79,11 @@ az-enumeration-tools.md Katika kesi ambapo una credentials halali lakini huwezi kuingia, hizi ni baadhi ya ulinzi wa kawaida ambao unaweza kuwepo: - **IP whitelisting** -- Unahitaji kuathiri IP halali -- **Geo restrictions** -- Pata mahali ambapo mtumiaji anaishi au ofisi za kampuni na pata IP kutoka jiji moja (au nchi angalau) +- **Geo restrictions** -- Pata mahali ambapo mtumiaji anaishi au ofisi za kampuni na pata IP kutoka jiji hilo hilo (au nchi angalau) - **Browser** -- Huenda ni kivinjari tu kutoka OS fulani (Windows, Linux, Mac, Android, iOS) kinachoruhusiwa. Jua ni OS ipi ambayo mwathirika/kampuni inatumia. -- Unaweza pia kujaribu **kuathiri credentials za Service Principal** kwani kawaida hazina mipaka mingi na kuingia kwake hakuchunguzwi sana +- Unaweza pia kujaribu **kuathiri credentials za Service Principal** kwani kawaida huwa na mipaka kidogo na kuingia kwake hakuchunguzwi sana -Baada ya kupita, unaweza kuwa na uwezo wa kurudi kwenye mipangilio yako ya awali na bado utakuwa na ufikiaji. +Baada ya kupita, unaweza kurudi kwenye mipangilio yako ya awali na bado utakuwa na ufikiaji. Angalia: @@ -143,14 +143,14 @@ Get-AzureADTenantDetail ### Entra ID Enumeration & Privesc -Kwa kawaida, mtumiaji yeyote anapaswa kuwa na **idhini za kutosha kuhesabu** mambo kama watumiaji, vikundi, majukumu, wahusika wa huduma... (angalia [idhini za kawaida za AzureAD](az-basic-information/index.html#default-user-permissions)).\ +Kwa kawaida, mtumiaji yeyote anapaswa kuwa na **idhini za kutosha kuorodhesha** mambo kama watumiaji, vikundi, majukumu, wahusika wa huduma... (angalia [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\ Unaweza kupata hapa mwongozo: {{#ref}} az-services/az-azuread.md {{#endref}} -Angalia **Zana za Post-Exploitation** ili kupata zana za kupandisha mamlaka katika Entra ID kama **AzureHound:** +Angalia **Zana za Post-Exploitation** ili kupata zana za kupandisha hadhi katika Entra ID kama **AzureHound:** {{#ref}} az-enumeration-tools.md#automated-post-exploitation-tools @@ -159,11 +159,14 @@ az-enumeration-tools.md#automated-post-exploitation-tools ### Azure Enumeration -Mara tu unavyojua wewe ni nani, unaweza kuanza kuhesabu **huduma za Azure unazoweza kufikia**. +Mara tu unavyojua wewe ni nani, unaweza kuanza kuorodhesha **huduma za Azure unazofikia**. Unapaswa kuanza kugundua **idhini ulizonazo** juu ya rasilimali. Kwa hili: -1. **Pata rasilimali unazoweza kufikia**: +1. **Pata rasilimali unayo ufikia**: + +> [!TIP] +> Hii haitahitaji idhini maalum yoyote. Amri ya Az PowerShell **`Get-AzResource`** inakuwezesha **kujua rasilimali ambazo mtumiaji wako wa sasa anaonekana nazo**. @@ -171,61 +174,78 @@ Zaidi ya hayo, unaweza kupata taarifa hiyo hiyo katika **konsoli ya wavuti** kwa ```bash az rest --method GET --url "https://management.azure.com/subscriptions//resources?api-version=2021-04-01" ``` -2. **Pata ruhusa ulizonazo juu ya rasilimali ulizo na ufikiaji nazo na pata majukumu yaliyokuwekwa**: +2. **Pata ruhusa ulizonazo juu ya rasilimali unazoweza kuona**: -Kumbuka kwamba unahitaji ruhusa **`Microsoft.Authorization/roleAssignments/read`** ili kutekeleza hatua hii. +> [!TIP] +> Hii haitahitaji ruhusa maalum yoyote. -Zaidi ya hayo, kwa ruhusa za kutosha, jukumu **`Get-AzRoleAssignment`** linaweza kutumika **kuorodhesha majukumu yote** katika usajili au ruhusa juu ya rasilimali maalum ikionyesha kama ifuatavyo: +Kwa kuzungumza na API **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`** unaweza kupata ruhusa ulizonazo juu ya rasilimali iliyoainishwa katika **`resource_id`**. + +Hivyo, **ukikagua kila moja ya rasilimali ulizonazo**, unaweza kupata ruhusa ulizonazo juu yao. + +> [!WARNING] +> Unaweza kujiandaa kwa hii kwa kutumia chombo **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)**. + + +
+Orodhesha ruhusa kwa **`Microsoft.Authorization/roleAssignments/read`** + +> [!TIP] +> Kumbuka kwamba unahitaji ruhusa **`Microsoft.Authorization/roleAssignments/read`** ili kutekeleza hatua hii. + +- Kwa ruhusa za kutosha, jukumu **`Get-AzRoleAssignment`** linaweza kutumika ili **kuorodhesha majukumu yote** katika usajili au ruhusa juu ya rasilimali maalum kwa kuonyesha kama ifuatavyo: ```bash Get-AzRoleAssignment -Scope /subscriptions//resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4 ``` -Ni pia inawezekana kupata taarifa hii ukiendesha: +Inawezekana pia kupata taarifa hii ukiendesha: ```bash -az rest --method GET --uri "https://management.azure.com//providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value" +az rest --method GET --uri "https://management.azure.com//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value" ``` -Samahani, naweza kusaidia vipi? +kama katika: ```bash -az rest --method GET --uri "https://management.azure.com//subscriptions//resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value" +az rest --method GET --uri "https://management.azure.com//subscriptions//resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value" ``` -Njia nyingine ni kupata majukumu yaliyoambatanishwa na wewe katika azure kwa: +- Chaguo jingine ni **kupata majukumu yaliyoambatanishwa nawe katika azure**. Hii pia inahitaji ruhusa **`Microsoft.Authorization/roleAssignments/read`**: ```bash az role assignment list --assignee "" --all --output table ``` -Au kukimbia yafuatayo (Ikiwa matokeo ni tupu huenda ni kwa sababu huna ruhusa ya kuyapata): +Au kukimbia yafuatayo (Ikiwa matokeo ni tupu inaweza kuwa kwa sababu huna ruhusa ya kuyapata): ```bash az rest --method GET --uri 'https://management.azure.com/subscriptions//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '' ``` -3. **Pata ruhusa za kina za majukumu yaliyoambatanishwa na wewe**: +- **Pata ruhusa za kina za majukumu yaliyoambatanishwa na wewe**: Kisha, ili kupata ruhusa za kina unaweza kukimbia **`(Get-AzRoleDefinition -Id "").Actions`**. Au piga simu kwa API moja kwa moja na ```bash -az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2020-08-01-preview" | jq ".properties" +az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2022-04-01" | jq ".properties" ``` +
+ Katika sehemu ifuatayo unaweza kupata **habari kuhusu huduma za kawaida za Azure na jinsi ya kuzipata**: {{#ref}} az-services/ {{#endref}} -### Kuongeza Mamlaka, Baada ya Utekelezaji & Kudumu +### Kuinua Mamlaka, Baada ya Utekelezaji & Kudumu -Mara tu unavyojua jinsi mazingira ya Azure yalivyojengwa na ni huduma zipi zinatumika, unaweza kuanza kutafuta njia za **kuongeza mamlaka, kuhamasisha kwa upande, kufanya mashambulizi mengine baada ya utekelezaji na kudumisha**. +Mara tu unavyojua jinsi mazingira ya Azure yalivyojengwa na ni huduma zipi zinatumika, unaweza kuanza kutafuta njia za **kuinua mamlaka, kuhamasisha kwa upande, kufanya mashambulizi mengine baada ya utekelezaji na kudumisha uwepo**. -Katika sehemu ifuatayo unaweza kupata habari kuhusu jinsi ya kuongeza mamlaka katika huduma za kawaida za Azure: +Katika sehemu ifuatayo unaweza kupata habari kuhusu jinsi ya kuinua mamlaka katika huduma za kawaida za Azure: {{#ref}} az-privilege-escalation/ {{#endref}} -Katika ifuatayo unaweza kupata habari kuhusu jinsi ya kufanya mashambulizi baada ya utekelezaji katika huduma za kawaida za Azure: +Katika sehemu ifuatayo unaweza kupata habari kuhusu jinsi ya kufanya mashambulizi baada ya utekelezaji katika huduma za kawaida za Azure: {{#ref}} az-post-exploitation/ {{#endref}} -Katika ifuatayo unaweza kupata habari kuhusu jinsi ya kudumisha katika huduma za kawaida za Azure: +Katika sehemu ifuatayo unaweza kupata habari kuhusu jinsi ya kudumisha uwepo katika huduma za kawaida za Azure: {{#ref}} az-persistence/