From 03d476cbdda921921b224941175eae8e5c84b2e7 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 4 Mar 2025 22:09:42 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/README.md'] to pl --- src/SUMMARY.md | 5 +- src/pentesting-cloud/azure-security/README.md | 82 ++++++++++++------- 2 files changed, 55 insertions(+), 32 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 6bd61b988..a3f8a8e09 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.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 **`/.Azure`** +- Wewnątrz **`/.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\\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\\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\\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\\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
-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//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)**. + + +
+Enumeruj uprawnienia z **`Microsoft.Authorization/roleAssignments/read`** + +> [!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//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//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" ``` jak w: ```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" ``` -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 "" --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//providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '' ``` -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 "").Actions`**. +Aby uzyskać szczegółowe uprawnienia, możesz uruchomić **`(Get-AzRoleDefinition -Id "").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//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" ``` -W poniższej sekcji możesz znaleźć **informacje o najczęściej używanych usługach Azure i jak je enumerować**: +
+ +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/