Translated ['src/pentesting-cloud/azure-security/README.md'] to sw

This commit is contained in:
Translator
2025-03-04 22:09:33 +00:00
parent 8fbc8bb9b5
commit 5ecd58bb8a
2 changed files with 56 additions and 33 deletions

View File

@@ -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)

View File

@@ -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 **`<HOME>/.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\<username>\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\<username>\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/<subscription-id>/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)**.
<details>
<summary>Orodhesha ruhusa kwa **`Microsoft.Authorization/roleAssignments/read`**</summary>
> [!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/<subscription-id>/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/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
az rest --method GET --uri "https://management.azure.com/<Scope>/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/<subscription-id>/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/<subscription-id>/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 "<email>" --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/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
```
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 "<RoleDefinitionId>").Actions`**.
Au piga simu kwa API moja kwa moja na
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2022-04-01" | jq ".properties"
```
</details>
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/