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

This commit is contained in:
Translator
2025-03-04 22:09:36 +00:00
parent 8c8c5172a1
commit 7597b8767c
2 changed files with 61 additions and 38 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,15 +12,15 @@ az-basic-information/
## Azure Pentester/Kırmızı Takım Metodolojisi
AZURE ortamını denetlemek için bilmek çok önemlidir: hangi **hizmetlerin kullanıldığı**, neyin **açık olduğu**, kimin neye **erişimi olduğu** ve iç Azure hizmetlerinin ve **dış hizmetlerin** nasıl bağlandığı.
AZURE ortamını denetlemek için bilmek çok önemlidir: hangi **hizmetlerin kullanıldığı**, neyin **açık olduğu**, kimin neye **erişimi** olduğu ve iç Azure hizmetlerinin ve **dış hizmetlerin** nasıl bağlandığı.
Kırmızı takım bakış açısıyla, bir Azure ortamını ele geçirmenin **ilk adımı** bazı **ayak izleri** elde etmektir.
Kırmızı takım bakış açısıyla, bir Azure ortamını tehlikeye atmanın **ilk adımı** bazı **ayak izleri** elde etmektir.
### Dış Enum & İlk Erişim
İlk adım, elbette, saldırdığınız kiracı hakkında bilgi toplamak ve bir ayak izi elde etmeye çalışmaktır.
Alan adı temelinde, **şirketin Azure kullanıp kullanmadığını**, **kiracı ID'sini**, aynı kiracıda (varsa) diğer **geçerli alan adlarını** ve SSO'nun etkin olup olmadığını, e-posta yapılandırmalarını, geçerli kullanıcı e-postalarını gibi **ilgili bilgileri** öğrenmek mümkündür.
Alan adı temelinde, **şirketin Azure kullanıp kullanmadığını**, **kiracı ID'sini** öğrenmek, aynı kiracıda (varsa) diğer **geçerli alan adlarını** bulmak ve SSO'nun etkin olup olmadığını, e-posta yapılandırmalarını, geçerli kullanıcı e-postalarını gibi **ilgili bilgileri** elde etmek mümkündür.
**Dış enum** gerçekleştirmek için aşağıdaki sayfayı kontrol edin:
@@ -29,8 +29,8 @@ az-unauthenticated-enum-and-initial-entry/
{{#endref}}
Bu bilgilerle, bir ayak izi elde etmeye çalışmanın en yaygın yolları şunlardır:
- **OSINT**: **leak**'leri Github veya başka bir açık kaynak platformda kontrol edin; bu platformlar **kimlik bilgileri** veya ilginç bilgiler içerebilir.
- **Şifre** tekrar kullanımı, sızıntılar veya [şifre püskürtme](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- **OSINT**: **leak**'leri Github veya başka bir açık kaynak platformda kontrol edin, bu platformlar **kimlik bilgileri** veya ilginç bilgiler içerebilir.
- **Şifre** yeniden kullanımı, sızıntılar veya [şifre püskürtme](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- Bir çalışandan kimlik bilgileri satın almak
- [**Yaygın Phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (kimlik bilgileri veya Oauth Uygulaması)
- [Cihaz Kodu Kimlik Doğrulama Phishing](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
@@ -39,21 +39,21 @@ Bu bilgilerle, bir ayak izi elde etmeye çalışmanın en yaygın yolları şunl
- [**Sunucu Tarafı İstek Sahteciliği**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) ile meta veri uç noktasına erişim
- [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/) gibi **alt alan ele geçirmeleri**
- **Diğer azure hizmetleri yanlış yapılandırmaları**
- Bazı geliştirici dizüstü bilgisayarları ele geçirilmişse ([WinPEAS ve LinPEAS](https://github.com/peass-ng/PEASS-ng) bu bilgiyi bulabilir):
- **`<HOME>/.Azure`** içinde
- Bazı geliştirici dizüstü bilgisayarları tehlikeye girerse ([WinPEAS ve LinPEAS](https://github.com/peass-ng/PEASS-ng) bu bilgiyi bulabilir):
- İçinde **`<HOME>/.Azure`**
- **`azureProfile.json`** geçmişte oturum açmış kullanıcılar hakkında bilgi içerir
- **`clouds.config`** abonelikler hakkında bilgi içerir
- **`service_principal_entries.json`** uygulama kimlik bilgilerini (kiracı id'si, istemciler ve gizli anahtar) içerir. Sadece Linux & macOS'ta
- **`msal_token_cache.json`** erişim jetonları ve yenileme jetonlarını içerir. Sadece Linux & macOS'ta
- **`service_principal_entries.json`** uygulama kimlik bilgilerini (kiracı id, istemciler ve gizli anahtar) içerir. Sadece Linux ve macOS'ta
- **`msal_token_cache.json`** erişim jetonları ve yenileme jetonları içerir. Sadece Linux ve macOS'ta
- **`service_principal_entries.bin`** ve msal_token_cache.bin Windows'ta kullanılır ve DPAPI ile şifrelenmiştir
- **`msal_http_cache.bin`** HTTP isteği önbelleğidir
- Yükleyin: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** Az PowerShell kullanarak önceki oturum açma bilgilerini içerir (ancak kimlik bilgileri yoktur)
- **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** içinde, kullanıcıların DPAPI ile şifrelenmiş **erişim jetonları**, ID jetonları ve hesap bilgileri içeren birkaç `.bin` dosyası bulunmaktadır.
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** içindeki `.tbres` dosyalarında daha fazla **erişim jetonu** bulmak mümkündür; bu dosyalar DPAPI ile şifrelenmiş erişim jetonları içeren bir base64 içerir.
- Linux ve macOS'ta, Az PowerShell'den (kullanıldıysa) `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` komutunu çalıştırarak **erişim jetonları, yenileme jetonları ve id jetonları** alabilirsiniz.
- İçinde **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** birçok `.bin` dosyası bulunur ve bunlar **erişim jetonları**, ID jetonları ve kullanıcıların DPAPI ile şifrelenmiş hesap bilgilerini içerir.
- **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`** içindeki `.tbres` dosyalarında daha fazla **erişim jetonu** bulmak mümkündür; bunlar DPAPI ile şifrelenmiş erişim jetonlarını içerir.
- Linux ve macOS'ta, Az PowerShell (kullanıldıysa) ile `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` çalıştırarak **erişim jetonları, yenileme jetonları ve id jetonları** alabilirsiniz.
- Windows'ta bu sadece id jetonları üretir.
- Linux ve macOS'ta Az PowerShell'in kullanılıp kullanılmadığını kontrol etmek için `$HOME/.local/share/.IdentityService/` dizininin var olup olmadığını kontrol edebilirsiniz (içindeki dosyalar boş ve işe yaramaz olsa da).
- Linux ve macOS'ta Az PowerShell'in kullanılıp kullanılmadığını kontrol etmek için `$HOME/.local/share/.IdentityService/` var mı diye bakabilirsiniz (içindeki dosyalar boş ve işe yaramaz olsa da)
Aşağıdaki sayfada bir ayak izi elde etmeye yol açabilecek **diğer Azure Hizmetleri yanlış yapılandırmalarını** bulun:
@@ -66,7 +66,7 @@ az-unauthenticated-enum-and-initial-entry/
### Azure & Entra ID Araçları
Aşağıdaki araçlar, hem Entra ID kiracılarını hem de Azure ortamlarını yavaşça (tespit edilmemek için) veya otomatik olarak (zaman kazanmak için) listelemek için çok yararlı olacaktır:
Aşağıdaki araçlar, hem Entra ID kiracılarını hem de Azure ortamlarını yavaşça (tespit edilmemek için) veya otomatik olarak (zaman kazanmak için) listelemek için çok faydalı olacaktır:
{{#ref}}
az-enumeration-tools.md
@@ -76,12 +76,12 @@ az-enumeration-tools.md
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
Geçerli kimlik bilgileriniz olsa bile giriş yapamadığınız durumlarda, mevcut olabilecek bazı yaygın korumalar şunlardır:
Geçerli kimlik bilgilerine sahip olduğunuz ancak giriş yapamadığınız durumlarda, mevcut olabilecek bazı yaygın korumalar şunlardır:
- **IP beyaz listeleme** -- Geçerli bir IP'yi ele geçirmeniz gerekir
- **Coğrafi kısıtlamalar** -- Kullanıcının nerede yaşadığını veya şirketin ofislerinin nerede olduğunu bulup aynı şehirden (veya en azından aynı ülkeden) bir IP alın
- **IP beyaz listeleme** -- Geçerli bir IP'yi tehlikeye atmanız gerekir
- **Coğrafi kısıtlamalar** -- Kullanıcının nerede yaşadığını veya şirketin ofislerinin nerede olduğunu bulmak ve aynı şehirden (veya en azından aynı ülkeden) bir IP almak
- **Tarayıcı** -- Belki de yalnızca belirli bir işletim sisteminden (Windows, Linux, Mac, Android, iOS) bir tarayıcıya izin verilmektedir. Kurbanın/şirketin hangi işletim sistemini kullandığını öğrenin.
- Ayrıca, genellikle daha az sınırlı olan ve girişleri daha az incelenen **Hizmet Prensibi kimlik bilgilerini** ele geçirmeyi de deneyebilirsiniz.
- Ayrıca, genellikle daha az sınırlı olan ve girişi daha az incelenen **Hizmet Prensibi kimlik bilgilerini** tehlikeye atmayı deneyebilirsiniz.
Bunu aştıktan sonra, başlangıç ayarlarınıza geri dönebilir ve hala erişiminiz olabilir.
@@ -94,7 +94,7 @@ az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-by
### Whoami
> [!CAUTION]
> [**Az - Entra ID**](az-services/az-azuread.md) bölümünde az cli, AzureAD ve Az PowerShell'in **nasıl kurulacağını** öğrenin.
> [**Az - Entra ID**](az-services/az-azuread.md) bölümünde az cli, AzureAD ve Az PowerShell'in **nasıl yükleneceğini** öğrenin.
Bilmeniz gereken ilk şey **kim olduğunuzdur** (hangi ortamda olduğunuz):
@@ -150,7 +150,7 @@ Burada bir kılavuz bulabilirsiniz:
az-services/az-azuread.md
{{#endref}}
**Post-Exploitation araçlarını** kontrol edin, Entra ID'de ayrıcalıkları artırmak için **AzureHound** gibi araçlar bulabilirsiniz:
Entra ID'de ayrıcalıkları artırmak için **AzureHound** gibi araçlar bulmak için **Post-Exploitation araçlarına** bakın:
{{#ref}}
az-enumeration-tools.md#automated-post-exploitation-tools
@@ -161,48 +161,68 @@ az-enumeration-tools.md#automated-post-exploitation-tools
Kendinizi tanıdıktan sonra, **erişim sağladığınız Azure hizmetlerini listelemeye** başlayabilirsiniz.
**Kaynaklar üzerindeki izinlerinizi** öğrenmeye başlamalısınız. Bunun için:
Kaynaklar üzerindeki **izinlerinizi** bulmaya başlamalısınız. Bunun için:
1. **Erişim sağladığınız kaynağı bulun**:
Az PowerShell komutu **`Get-AzResource`**, **mevcut kullanıcınızın görünürlüğe sahip olduğu kaynakları bilmenizi sağlar**.
> [!TIP]
> Bu, herhangi bir özel izin gerektirmez.
Ayrıca, aynı bilgiyi **web konsolunda** [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) adresine giderek veya "Tüm kaynaklar" araması yaparak ya da şu komutu çalıştırarak alabilirsiniz:
Az PowerShell komutu **`Get-AzResource`**, **mevcut kullanıcınızın görünürlüğü olan kaynakları bilmenizi sağlar**.
Ayrıca, aynı bilgiyi **web konsolunda** [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) adresine giderek veya "Tüm kaynaklar" araması yaparak veya şu komutu çalıştırarak alabilirsiniz:
```bash
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
```
2. **Erişim sağladığınız kaynaklar üzerindeki izinlerinizi bulun ve size atanan rolleri belirleyin**:
2. **Görüntüleyebileceğiniz kaynaklar üzerindeki izinlerinizi bulun**:
Bu işlemi gerçekleştirmek için **`Microsoft.Authorization/roleAssignments/read`** iznine ihtiyacınız olduğunu unutmayın.
> [!TIP]
> Bu, herhangi bir özel izin gerektirmez.
Ayrıca, yeterli izinlerle, **`Get-AzRoleAssignment`** rolü, abonelikteki **tüm rolleri** listelemek veya belirli bir kaynak üzerindeki izni belirtmek için kullanılabilir:
API ile **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`** konuşarak, belirtilen kaynak üzerindeki izinlerinizi alabilirsiniz **`resource_id`**.
Bu nedenle, **erişim sağladığınız her bir kaynağı kontrol ederek**, üzerindeki izinlerinizi alabilirsiniz.
> [!WARNING]
> Bu sayım işlemini **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)** aracıyla otomatikleştirebilirsiniz.
<details>
<summary>İzinleri **`Microsoft.Authorization/roleAssignments/read`** ile sayın</summary>
> [!TIP]
> Bu işlemi gerçekleştirmek için **`Microsoft.Authorization/roleAssignments/read`** iznine ihtiyacınız olduğunu unutmayın.
- Yeterli izinlerle, **`Get-AzRoleAssignment`** rolü, abonelikteki **tüm rolleri** veya belirli bir kaynak üzerindeki izinleri saymak için kullanılabilir.
```bash
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
```
Bu bilgiyi çalıştırarak almak da mümkündür:
```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"
```
gibi:
```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"
```
Başka bir seçenek, azure'da size bağlı olan rolleri almak için:
- Diğer bir seçenek, **azure'da size atanmış rolleri almak**. Bu da **`Microsoft.Authorization/roleAssignments/read`** iznini gerektirir:
```bash
az role assignment list --assignee "<email>" --all --output table
```
Aşağıdakileri çalıştırarak (Eğer sonuçlar boşsa, bunun nedeni onları almak için izninizin olmaması olabilir):
Aşağıdakileri çalıştırarak (Eğer sonuçlar boşsa, bu onların alınması için izninizin olmamasından kaynaklanıyor olabilir):
```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. **Sizeye bağlı rollerin ayrıntılı izinlerini bulun**:
- **Size size izinleri bul**:
Ayrıntılı izinleri almak için **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** komutunu çalıştırabilirsiniz.
Ardından, granular izinleri almak için **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`** komutunu çalıştırabilirsiniz.
Ya da API'yi doğrudan çağırabilirsiniz.
Veya API'yi doğrudan çağırın.
```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>
Aşağıdaki bölümde **en yaygın Azure hizmetleri hakkında bilgi ve bunları nasıl listeleyeceğinizi** bulabilirsiniz:
{{#ref}}
@@ -213,19 +233,19 @@ az-services/
Azure ortamının nasıl yapılandığını ve hangi hizmetlerin kullanıldığını öğrendikten sonra, **ayrıcalıkları yükseltme, yan hareket etme, diğer sonrası sömürü saldırılarını gerçekleştirme ve sürekliliği sağlama** yollarını aramaya başlayabilirsiniz.
Aşağıdaki bölümde en yaygın Azure hizmetlerinde ayrıcalıkları nasıl yükselteceğinize dair bilgi bulabilirsiniz:
Aşağıdaki bölümde en yaygın Azure hizmetlerinde ayrıcalıkları nasıl yükselteceğiniz hakkında bilgi bulabilirsiniz:
{{#ref}}
az-privilege-escalation/
{{#endref}}
Aşağıdaki bölümde en yaygın Azure hizmetlerinde sonrası sömürü saldırılarını nasıl gerçekleştireceğinize dair bilgi bulabilirsiniz:
Aşağıdaki bölümde en yaygın Azure hizmetlerinde sonrası sömürü saldırılarını nasıl gerçekleştireceğiniz hakkında bilgi bulabilirsiniz:
{{#ref}}
az-post-exploitation/
{{#endref}}
Aşağıdaki bölümde en yaygın Azure hizmetlerinde sürekliliği nasıl sağlayacağınıza dair bilgi bulabilirsiniz:
Aşağıdaki bölümde en yaygın Azure hizmetlerinde sürekliliği nasıl sağlayacağınız hakkında bilgi bulabilirsiniz:
{{#ref}}
az-persistence/