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

This commit is contained in:
Translator
2025-03-04 22:09:42 +00:00
parent a70827372e
commit 03d476cbdd
2 changed files with 55 additions and 32 deletions
+4 -1
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)
+51 -31
View File
@@ -4,7 +4,7 @@
## Podstawowe informacje
Dowiedz się podstaw Azure i Entra ID na następującej stronie:
Dowiedz się podstaw o Azure i Entra ID na następującej stronie:
{{#ref}}
az-basic-information/
@@ -14,7 +14,7 @@ az-basic-information/
Aby audytować środowisko AZURE, bardzo ważne jest, aby wiedzieć: które **usługi są używane**, co jest **eksponowane**, kto ma **dostęp** do czego i jak są połączone wewnętrzne usługi Azure oraz **usługi zewnętrzne**.
Z punktu widzenia Red Team, **pierwszym krokiem do skompromitowania środowiska Azure** jest zdobycie jakiegoś **punktu zaczepienia**.
Z perspektywy Red Team, **pierwszym krokiem do skompromitowania środowiska Azure** jest zdobycie jakiegoś **punktu zaczepienia**.
### Zewnętrzna enumeracja i początkowy dostęp
@@ -29,18 +29,18 @@ az-unauthenticated-enum-and-initial-entry/
{{#endref}}
Z tą informacją najczęstsze sposoby na próbę zdobycia punktu zaczepienia to:
- **OSINT**: Sprawdź **wycieki** w Githubie lub na jakiejkolwiek innej platformie open source, która może zawierać **dane uwierzytelniające** lub interesujące informacje.
- **OSINT**: Sprawdź **wycieki** na Githubie lub innej platformie open source, które mo zawierać **dane uwierzytelniające** lub interesujące informacje.
- Ponowne użycie **hasła**, wycieki lub [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- Kupno danych uwierzytelniających od pracownika
- [**Typowe phishingi**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (dane uwierzytelniające lub aplikacja Oauth)
- [Phishing z użyciem kodu urządzenia](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- Naruszenia danych przez **strony trzecie**
- **Naruszenia** ze strony osób trzecich
- Luki w aplikacjach hostowanych w Azure
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) z dostępem do punktu końcowego metadanych
- **Przejęcia subdomen** jak w [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
- **Inne błędy konfiguracyjne usług Azure**
- Jeśli laptop dewelopera jest skompromitowany ([WinPEAS i LinPEAS](https://github.com/peass-ng/PEASS-ng) mogą znaleźć te informacje):
- W **`<HOME>/.Azure`**
- Wewnątrz **`<HOME>/.Azure`**
- **`azureProfile.json`** zawiera informacje o zalogowanych użytkownikach z przeszłości
- **`clouds.config` zawiera** informacje o subskrypcjach
- **`service_principal_entries.json`** zawiera dane uwierzytelniające aplikacji (ID najemcy, klienci i sekret). Tylko w Linux i macOS
@@ -48,10 +48,10 @@ Z tą informacją najczęstsze sposoby na próbę zdobycia punktu zaczepienia to
- **`service_principal_entries.bin`** i msal_token_cache.bin są używane w Windows i są szyfrowane za pomocą DPAPI
- **`msal_http_cache.bin`** to pamięć podręczna żądań HTTP
- Załaduj to: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** zawiera informacje o wcześniejszych logowaniach przy użyciu Az PowerShell (ale nie dane uwierzytelniające)
- W **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** znajdują się różne pliki `.bin` z **tokenami dostępu**, tokenami ID i informacjami o koncie szyfrowanymi za pomocą DPAPI użytkownika.
- Możliwe jest znalezienie więcej **tokenów dostępu** w plikach `.tbres` wewnątrz **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`**, które zawierają dane w formacie base64 szyfrowane za pomocą DPAPI z tokenami dostępu.
- W Linux i macOS możesz uzyskać **tokeny dostępu, tokeny odświeżania i tokeny ID** z Az PowerShell (jeśli używane) uruchamiając `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
- **`AzureRmContext.json`** zawiera informacje o poprzednich logowaniach przy użyciu Az PowerShell (ale nie zawiera danych uwierzytelniających)
- Wewnątrz **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** znajdują się różne pliki `.bin` z **tokenami dostępu**, tokenami ID i informacjami o koncie szyfrowanymi za pomocą DPAPI użytkownika.
- Możliwe jest znalezienie więcej **tokenów dostępu** w plikach `.tbres` wewnątrz **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`**, które zawierają dane zakodowane w base64 szyfrowane za pomocą DPAPI z tokenami dostępu.
- W Linux i macOS można uzyskać **tokeny dostępu, tokeny odświeżania i tokeny ID** z Az PowerShell (jeśli używane) uruchamiając `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
- W Windows to generuje tylko tokeny ID.
- Możliwe jest sprawdzenie, czy Az PowerShell był używany w Linux i macOS, sprawdzając, czy istnieje `$HOME/.local/share/.IdentityService/` (chociaż zawarte pliki są puste i bezużyteczne)
@@ -76,12 +76,12 @@ az-enumeration-tools.md
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
W przypadkach, gdy masz jakieś ważne dane uwierzytelniające, ale nie możesz się zalogować, oto niektóre powszechne zabezpieczenia, które mogą być wprowadzone:
W przypadkach, gdy masz ważne dane uwierzytelniające, ale nie możesz się zalogować, oto niektóre powszechne zabezpieczenia, które mogą być wprowadzone:
- **Biała lista IP** -- Musisz skompromitować ważny adres IP
- **Ograniczenia geograficzne** -- Dowiedz się, gdzie mieszka użytkownik lub gdzie znajdują się biura firmy i uzyskaj adres IP z tego samego miasta (lub przynajmniej kraju)
- **Przeglądarka** -- Może tylko przeglądarka z określonego systemu operacyjnego (Windows, Linux, Mac, Android, iOS) jest dozwolona. Dowiedz się, z jakiego systemu operacyjnego korzysta ofiara/firma.
- Możesz także spróbować **skomplikować dane uwierzytelniające Service Principal**, ponieważ zazwyczaj są one mniej ograniczone, a ich logowanie jest mniej kontrolowane
- **Przeglądarka** -- Może tylko przeglądarka z określonego systemu operacyjnego (Windows, Linux, Mac, Android, iOS) jest dozwolona. Dowiedz się, z jakiego systemu operacyjnego korzysta ofiara/firmy.
- Możesz również spróbować **skomprimitować dane uwierzytelniające Service Principal**, ponieważ zazwyczaj są mniej ograniczone, a ich logowanie jest mniej kontrolowane
Po ominięciu tego, możesz być w stanie wrócić do swojej początkowej konfiguracji i nadal mieć dostęp.
@@ -96,7 +96,7 @@ az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-by
> [!CAUTION]
> Dowiedz się **jak zainstalować** az cli, AzureAD i Az PowerShell w sekcji [**Az - Entra ID**](az-services/az-azuread.md).
Jedną z pierwszych rzeczy, które musisz wiedzieć, jest **kim jesteś** (w jakim środowisku się znajdujesz):
Jedną z pierwszych rzeczy, które musisz wiedzieć, jest **kim jesteś** (w jakim środowisku jesteś):
{{#tabs }}
{{#tab name="az cli" }}
@@ -144,13 +144,13 @@ Get-AzureADTenantDetail
### Entra ID Enumeration & Privesc
Domyślnie każdy użytkownik powinien mieć **wystarczające uprawnienia do enumeracji** rzeczy takich jak użytkownicy, grupy, role, zasady usług... (sprawdź [domyślne uprawnienia AzureAD](az-basic-information/index.html#default-user-permissions)).\
Możesz tutaj znaleźć przewodnik:
Możesz znaleźć tutaj przewodnik:
{{#ref}}
az-services/az-azuread.md
{{#endref}}
Sprawdź **Narzędzia Post-Exploitation**, aby znaleźć narzędzia do eskalacji uprawnień w Entra ID, takie jak **AzureHound:**
Sprawdź **Narzędzia do post-eksploatacji**, aby znaleźć narzędzia do eskalacji uprawnień w Entra ID, takie jak **AzureHound:**
{{#ref}}
az-enumeration-tools.md#automated-post-exploitation-tools
@@ -165,29 +165,47 @@ Powinieneś zacząć od ustalenia **uprawnień, które posiadasz** do zasobów.
1. **Znajdź zasób, do którego masz dostęp**:
> [!TIP]
> To nie wymaga żadnych specjalnych uprawnień.
Polecenie Az PowerShell **`Get-AzResource`** pozwala ci **poznać zasoby, które są widoczne dla twojego aktualnego użytkownika**.
Ponadto, możesz uzyskać te same informacje w **konsoli internetowej**, przechodząc do [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) lub wyszukując "Wszystkie zasoby" lub wykonując:
```bash
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
```
2. **Znajdź uprawnienia, które masz do zasobów, do których masz dostęp, oraz znajdź przypisane role**:
2. **Znajdź uprawnienia, które masz do zasobów, które możesz zobaczyć**:
Zauważ, że potrzebujesz uprawnienia **`Microsoft.Authorization/roleAssignments/read`**, aby wykonać tę akcję.
> [!TIP]
> To nie wymaga żadnych specjalnych uprawnień.
Ponadto, przy wystarczających uprawnieniach, rola **`Get-AzRoleAssignment`** może być użyta do **wyliczenia wszystkich ról** w subskrypcji lub uprawnienia do konkretnego zasobu, wskazując go w ten sposób:
Rozmawiając z API **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`**, możesz uzyskać uprawnienia, które masz do określonego zasobu w **`resource_id`**.
Dlatego, **sprawdzając każdy z zasobów, do których masz dostęp**, możesz uzyskać uprawnienia, które masz do nich.
> [!WARNING]
> Możesz zautomatyzować tę enumerację, używając narzędzia **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)**.
<details>
<summary>Enumeruj uprawnienia z **`Microsoft.Authorization/roleAssignments/read`**</summary>
> [!TIP]
> Zauważ, że potrzebujesz uprawnienia **`Microsoft.Authorization/roleAssignments/read`**, aby wykonać tę akcję.
- Przy wystarczających uprawnieniach, rola **`Get-AzRoleAssignment`** może być użyta do **enumeracji wszystkich ról** w subskrypcji lub uprawnienia do konkretnego zasobu, wskazując go jak w:
```bash
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
```
Możliwe jest również uzyskanie tych informacji, uruchamiając:
```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"
```
jak w:
```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"
```
Inną opcją jest uzyskanie ról przypisanych do Ciebie w azure za pomocą:
- Inną opcją jest **uzyskanie ról przypisanych do Ciebie w azure**. To również wymaga uprawnienia **`Microsoft.Authorization/roleAssignments/read`**:
```bash
az role assignment list --assignee "<email>" --all --output table
```
@@ -195,37 +213,39 @@ Lub uruchamiając następujące (jeśli wyniki są puste, może to być spowodow
```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. **Znajdź szczegółowe uprawnienia ról przypisanych do Ciebie**:
- **Znajdź szczegółowe uprawnienia ról przypisanych do Ciebie**:
Następnie, aby uzyskać szczegółowe uprawnienia, możesz uruchomić **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
Aby uzyskać szczegółowe uprawnienia, możesz uruchomić **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
Lub wywołać API bezpośrednio z
Lub bezpośrednio wywołać API z
```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"
```
W poniższej sekcji możesz znaleźć **informacje o najczęściej używanych usługach Azure i jak je enumerować**:
</details>
W następnej sekcji znajdziesz **informacje o najczęściej używanych usługach Azure i jak je enumerować**:
{{#ref}}
az-services/
{{#endref}}
### Eskalacja uprawnień, post-exploitation i utrzymanie
### Eskalacja uprawnień, post-exploitation i utrzymywanie persistent
Gdy już wiesz, jak jest zbudowane środowisko Azure i jakie usługi są używane, możesz zacząć szukać sposobów na **eskalację uprawnień, ruch boczny, przeprowadzanie innych ataków post-exploitation i utrzymanie**.
Gdy już wiesz, jak jest zbudowane środowisko Azure i jakie usługi są używane, możesz zacząć szukać sposobów na **eskalację uprawnień, lateralne poruszanie się, przeprowadzanie innych ataków post-exploitation i utrzymywanie persistent**.
W poniższej sekcji możesz znaleźć informacje o tym, jak eskalować uprawnienia w najczęściej używanych usługach Azure:
W następnej sekcji znajdziesz informacje o tym, jak eskalować uprawnienia w najczęściej używanych usługach Azure:
{{#ref}}
az-privilege-escalation/
{{#endref}}
W następnej możesz znaleźć informacje o tym, jak przeprowadzać ataki post-exploitation w najczęściej używanych usługach Azure:
W następnej znajdziesz informacje o tym, jak przeprowadzać ataki post-exploitation w najczęściej używanych usługach Azure:
{{#ref}}
az-post-exploitation/
{{#endref}}
W następnej możesz znaleźć informacje o tym, jak utrzymać persistencję w najczęściej używanych usługach Azure:
W następnej znajdziesz informacje o tym, jak utrzymywać persistent w najczęściej używanych usługach Azure:
{{#ref}}
az-persistence/