mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-04 16:57:26 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -12,7 +12,7 @@ az-basic-information/
|
||||
|
||||
## Azure Pentester/Red Team Metodologie
|
||||
|
||||
Om 'n AZURE omgewing te oudit, is dit baie belangrik om te weet: watter **dienste gebruik word**, wat **blootgestel** word, wie **toegang** het tot wat, en hoe interne Azure dienste en **eksterne dienste** gekoppel is.
|
||||
Om 'n AZURE omgewing te oudit, is dit baie belangrik om te weet: watter **dienste gebruik word**, wat is **blootgestel**, wie het **toegang** tot wat, en hoe is interne Azure dienste en **eksterne dienste** gekoppel.
|
||||
|
||||
Vanuit 'n Red Team perspektief is die **eerste stap om 'n Azure omgewing te kompromitteer** om 'n **voorsprong** te verkry.
|
||||
|
||||
@@ -38,22 +38,29 @@ Met hierdie inligting is die mees algemene maniere om te probeer om 'n voorspron
|
||||
- Kwetsbaarhede in Azure-gehoste toepassings
|
||||
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) met toegang tot metadata eindpunt
|
||||
- **Subdomein oorneem** soos in [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
|
||||
- **Ander azure dienste misconfigurasies**
|
||||
- As 'n ontwikkelaar se skootrekenaar gecompromitteer is ([WinPEAS en LinPEAS](https://github.com/peass-ng/PEASS-ng) kan hierdie inligting vind):
|
||||
- Binne **`<HOME>/.Azure`**
|
||||
- **`azureProfile.json`** bevat inligting oor ingelogde gebruikers van die verlede
|
||||
- **`clouds.config contains`** inligting oor intekeninge
|
||||
- **`service_principal_entries.json`** bevat toepassings akkrediteer (tenant id, kliënte en geheim). Slegs in Linux & macOS
|
||||
- **`msal_token_cache.json`** bevat toegangstokens en hernuwingstokens. Slegs in Linux & macOS
|
||||
- **`msal_token_cache.json`** bevat toegangstokens en verfrissingstokens. Slegs in Linux & macOS
|
||||
- **`service_principal_entries.bin`** en msal_token_cache.bin word in Windows gebruik en is met DPAPI versleuteld
|
||||
- **`msal_http_cache.bin`** is 'n kas van HTTP versoek
|
||||
- **`msal_http_cache.bin`** is 'n kas van HTTP versoeke
|
||||
- Laai dit: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
|
||||
- **`AzureRmContext.json`** bevat inligting oor vorige aanmeldings met Az PowerShell (maar geen akkrediteer nie)
|
||||
- Binne **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** is verskeie `.bin` lêers met **toegangstokens**, ID tokens en rekeninginligting versleuteld met die gebruikers DPAPI.
|
||||
- Dit is moontlik om meer **toegangstokens** in die `.tbres` lêers binne **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** te vind wat 'n base64 versleuteling met DPAPI met toegangstokens bevat.
|
||||
- In Linux en macOS kan jy **toegangstokens, hernuwingstokens en id tokens** van Az PowerShell (indien gebruik) verkry deur `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` te loop.
|
||||
- In Linux en macOS kan jy **toegangstokens, verfrissingstokens en id tokens** van Az PowerShell (indien gebruik) verkry deur `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` te loop.
|
||||
- In Windows genereer dit net id tokens.
|
||||
- Dit is moontlik om te sien of Az PowerShell in Linux en macOS gebruik is deur te kyk of `$HOME/.local/share/.IdentityService/` bestaan (alhoewel die bevat lêers leeg en nutteloos is)
|
||||
|
||||
Vind **ander Azure Dienste misconfigurasies** wat tot 'n voorsprong kan lei op die volgende bladsy:
|
||||
|
||||
{{#ref}}
|
||||
az-unauthenticated-enum-and-initial-entry/
|
||||
{{#endref}}
|
||||
|
||||
> [!NOTE]
|
||||
> Onthou dat gewoonlik die **luidste** deel van die enumerasie die **aanmelding** is, nie die enumerasie self nie.
|
||||
|
||||
@@ -69,7 +76,7 @@ az-enumeration-tools.md
|
||||
|
||||
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
In gevalle waar jy 'n paar geldige akkrediteer het maar jy kan nie aanmeld nie, is dit 'n paar algemene beskermings wat in plek kan wees:
|
||||
In gevalle waar jy 'n paar geldige akkrediteer het maar jy kan nie aanmeld nie, is dit 'n paar algemene beskermings wat moontlik in plek is:
|
||||
|
||||
- **IP witlys** -- Jy moet 'n geldige IP kompromitteer
|
||||
- **Geo beperkings** -- Vind waar die gebruiker woon of waar die kantore van die maatskappy is en kry 'n IP van dieselfde stad (of land ten minste)
|
||||
@@ -130,14 +137,14 @@ Get-AzureADTenantDetail
|
||||
|
||||
### Entra ID Enumerasie & Privilege Escalation
|
||||
|
||||
Standaard behoort enige gebruiker **voldoende regte te hê om** dinge soos gebruikers, groepe, rolle, diensprincipals... te enumerate (kyk [standaard AzureAD regte](az-basic-information/index.html#default-user-permissions)).\
|
||||
Standaard behoort enige gebruiker **voldoende regte te hê om** dinge soos gebruikers, groepe, rolle, diensprincipals... te enumerate (kyk [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
|
||||
Hier kan jy 'n gids vind:
|
||||
|
||||
{{#ref}}
|
||||
az-services/az-azuread.md
|
||||
{{#endref}}
|
||||
|
||||
Kyk na die **Post-Exploitation gereedskap** om gereedskap te vind om regte in Entra ID te verhoog soos **AzureHound:**
|
||||
Kyk na die **Post-Exploitation tools** om gereedskap te vind om regte in Entra ID te verhoog soos **AzureHound:**
|
||||
|
||||
{{#ref}}
|
||||
az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
@@ -148,13 +155,32 @@ az-enumeration-tools.md#automated-post-exploitation-tools
|
||||
|
||||
Sodra jy weet wie jy is, kan jy begin om die **Azure dienste waartoe jy toegang het** te enumerate.
|
||||
|
||||
Jy moet begin om die **regte wat jy het** oor die hulpbronne uit te vind. Hiervoor:
|
||||
|
||||
1. **Vind die hulpbron waartoe jy toegang het**:
|
||||
|
||||
Die Az PowerShell opdrag **`Get-AzResource`** laat jou **weet watter hulpbronne jou huidige gebruiker sigbaar het**.
|
||||
|
||||
Boonop kan jy dieselfde inligting in die **webkonsol** kry deur na [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) te gaan of te soek na "Alle hulpbronne" of deur uit te voer: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
|
||||
Boonop kan jy dieselfde inligting in die **webkonsol** kry deur na [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) te gaan of te soek na "All resources" of deur uit te voer: `az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"`
|
||||
|
||||
Verder, met genoeg regte, kan die rol **`Get-AzRoleAssignment`** gebruik word om **alle rolle** in die subskripsie of die regte oor 'n spesifieke hulpbron te enumerate soos in: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**
|
||||
2. **Vind die regte wat jy het oor die hulpbronne waartoe jy toegang het en vind die rolle wat aan jou toegeken is**:
|
||||
|
||||
In die volgende afdeling kan jy inligting vind oor die mees algemene Azure dienste en hoe om hulle te enumerate:
|
||||
Let daarop dat jy die regte **`Microsoft.Authorization/roleAssignments/read`** nodig het om hierdie aksie uit te voer.
|
||||
|
||||
Verder, met genoeg regte, kan die rol **`Get-AzRoleAssignment`** gebruik word om **alle rolle** in die subskripsie of die regte oor 'n spesifieke hulpbron aan te dui soos in: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**.
|
||||
|
||||
Dit is ook moontlik om hierdie inligting te verkry deur **`az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** uit te voer soos in:
|
||||
|
||||
- **`az rest --method GET --uri "https://management.azure.com//subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`**
|
||||
|
||||
3. **Vind die gedetailleerde regte van die rolle wat aan jou geheg is**:
|
||||
|
||||
Dan, om die gedetailleerde regte te kry, kan jy **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** uitvoer.
|
||||
|
||||
Of bel die API direk met **`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"`**.
|
||||
|
||||
|
||||
In die volgende afdeling kan jy **inligting vind oor die mees algemene Azure dienste en hoe om hulle te enumerate**:
|
||||
|
||||
{{#ref}}
|
||||
az-services/
|
||||
|
||||
Reference in New Issue
Block a user