mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/README.md'] to pl
This commit is contained in:
+4
-1
@@ -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)
|
||||
|
||||
@@ -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 mogą 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/
|
||||
|
||||
Reference in New Issue
Block a user