From 750aaa97a982896110a73474e709cd343946e266 Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 15 Feb 2025 03:25:24 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation --- .../az-servicebus-privesc.md | 90 ++++++++++++++++--- .../az-services/az-servicebus-enum.md | 39 ++++---- 2 files changed, 98 insertions(+), 31 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md index 054a0217e..0f092939f 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md @@ -10,9 +10,81 @@ Daha fazla bilgi için kontrol edin: ../az-services/az-servicebus-enum.md {{#endref}} -### Mesaj Gönder. Eylem: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` VEYA `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` +### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action VEYA Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action -`PrimaryConnectionString`'i alabilirsiniz, bu Service Bus ad alanı için bir kimlik bilgisi olarak işlev görür. Bu bağlantı dizesi ile, Service Bus ad alanı olarak tamamen kimlik doğrulaması yapabilir, herhangi bir kuyruk veya konuya mesaj gönderebilir ve potansiyel olarak sistemi, operasyonları kesintiye uğratacak, geçerli kullanıcıları taklit edecek veya mesajlaşma iş akışına kötü niyetli veriler enjekte edecek şekilde etkileşimde bulunabilirsiniz. +Bu izinler, bir Service Bus ad alanındaki yerel yetkilendirme kuralları için anahtarları almanıza veya yeniden oluşturmanıza olanak tanır. Bu anahtarları kullanarak, Service Bus ad alanı olarak kimlik doğrulaması yapabilir, herhangi bir kuyruk veya konuya mesaj gönderebilir, herhangi bir kuyruktan veya abonelikten mesaj alabilir veya sistemle, operasyonları kesintiye uğratabilecek, geçerli kullanıcıları taklit edebilecek veya mesajlaşma iş akışına kötü niyetli veriler enjekte edebilecek şekillerde etkileşimde bulunabilirsiniz. + +Varsayılan olarak **`RootManageSharedAccessKey` kuralının** Service Bus ad alanı üzerinde tam kontrolü olduğunu ve `az` cli tarafından kullanıldığını unutmayın, ancak başka anahtar değerlerine sahip diğer kurallar da mevcut olabilir. +```bash +# List keys +az servicebus namespace authorization-rule keys list --resource-group --namespace-name --authorization-rule-name RootManageSharedAccessKey [--authorization-rule-name RootManageSharedAccessKey] + +# Regenerate keys +az servicebus namespace authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name [--authorization-rule-name RootManageSharedAccessKey] +``` +### Microsoft.ServiceBus/namespaces/AuthorizationRules/write + +Bu izinle, **tüm izinlere ve kendi anahtarlarına sahip yeni bir yetkilendirme kuralı oluşturmak** mümkündür: +```bash +az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send +``` +>[!WARNING] +>Bu komut anahtarlarla yanıt vermez, bu nedenle ayrıcalıkları artırmak için önceki komutlar (ve izinler) ile bunları almanız gerekir. + +Ayrıca, bu komutla (`Microsoft.ServiceBus/namespaces/authorizationRules/read`) Azure CLI aracılığıyla bu işlemi gerçekleştirirseniz, mevcut bir yetkilendirme kuralını güncellemek ve ona daha fazla izin vermek mümkündür (eğer bazı izinlerden yoksunsa) aşağıdaki komutla: +```bash +az servicebus namespace authorization-rule update \ +--resource-group \ +--namespace-name \ +--name RootManageSharedAccessKey \ +--rights Manage Listen Send +``` +### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action + +Bir Service Bus ad alanındaki belirli konular ve kuyruklar, varlığa erişimi kontrol etmek için kullanılabilecek kendi yetkilendirme kurallarına sahip olabilir. Bu izinlere sahip olarak, **bu yerel yetkilendirme kuralları için anahtarları alabilir veya yeniden üretebilirsiniz**, bu da sizi varlık olarak kimlik doğrulamanıza ve potansiyel olarak mesaj göndermenize veya almanıza, abonelikleri yönetmenize veya sistemle, operasyonları bozabilecek, geçerli kullanıcıları taklit edebilecek veya mesajlaşma iş akışına kötü niyetli veriler enjekte edebilecek şekillerde etkileşime girmenize olanak tanır. +```bash +# List keys (topics) +az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name + +# Regenerate keys (topics) +az servicebus topic authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name --topic-name --name + +# List keys (queues) +az servicebus queue authorization-rule keys list --resource-group --namespace-name --queue-name --name + +# Regenerate keys (queues) +az servicebus queue authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name --queue-name --name +``` +### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/write + +Bu izinle, **tüm izinlere ve kendi anahtarlarına sahip yeni bir yetkilendirme kuralı oluşturmak** mümkündür: +```bash +# In a topic +az servicebus topic authorization-rule create --resource-group --namespace-name --topic-name --name --rights Manage Listen Send + +# In a queue +az servicebus queue authorization-rule create --resource-group --namespace-name --queue-name --name --rights Manage Listen Send +``` +>[!WARNING] +>Bu komut anahtarlarla yanıt vermez, bu nedenle ayrıcalıkları artırmak için önceki komutlar (ve izinler) ile bunları almanız gerekir. + +Ayrıca, bu komutla (`Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`) Azure CLI üzerinden bu işlemi gerçekleştirirseniz, mevcut bir yetkilendirme kuralını güncelleyip ona daha fazla izin verebilirsiniz (eğer bazı izinlerden yoksun ise) aşağıdaki komutla: +```bash +# In a topic +az servicebus topic authorization-rule update --resource-group --namespace-name --topic-name --name --rights Manage Listen Send + +# In a queue +az servicebus queue authorization-rule update --resource-group --namespace-name --queue-name --name --rights Manage Listen Send +``` +### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read eğer az cli kullanılıyorsa) + +Bu izinlerle **bir saldırgan "yerel kimlik doğrulamasını" yeniden etkinleştirebilir** ve bu nedenle paylaşılan politikaların tüm anahtarları çalışacaktır. +```bash +az servicebus namespace update --disable-local-auth false -n --resource-group +``` +### Mesajları Anahtarlarla Gönder (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action VEYA Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) + +`PrimaryConnectionString`'i alabilirsiniz, bu Service Bus ad alanı için bir kimlik bilgisi olarak işlev görür. Bu bağlantı dizesi ile, Service Bus ad alanı olarak tamamen kimlik doğrulaması yapabilir, herhangi bir kuyruk veya konuya mesaj gönderebilir ve potansiyel olarak sistemi, operasyonları kesintiye uğratacak, geçerli kullanıcıları taklit edecek veya mesajlaşma iş akışına kötü niyetli veriler enjekte edecek şekilde etkileşime geçebilirsiniz. ```python #You need to install the following libraries #pip install azure-servicebus @@ -81,9 +153,9 @@ print("Messages Sent") print("----------------------------") ``` -### Mesajları Al. Eylem: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` VEYA `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` +### Anahtarlarla Alma (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action VEYA Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) -PrimaryConnectionString'i alabilirsiniz, bu Service Bus ad alanı için bir kimlik bilgisi olarak hizmet eder. Bu bağlantı dizesini kullanarak, ad alanındaki herhangi bir kuyruktan veya abonelikten mesaj alabilir, potansiyel olarak hassas veya kritik verilere erişim sağlayabilir, veri sızdırma işlemlerini gerçekleştirebilir veya mesaj işleme ve uygulama iş akışlarını etkileyebilirsiniz. +PrimaryConnectionString'i alabilirsiniz, bu Service Bus ad alanı için bir kimlik bilgisi olarak hizmet eder. Bu bağlantı dizesini kullanarak, ad alanındaki herhangi bir kuyruktan veya abonelikten mesaj alabilir, potansiyel olarak hassas veya kritik verilere erişim sağlayabilir, veri sızdırma işlemlerini mümkün kılabilir veya mesaj işleme ve uygulama iş akışlarını etkileyebilirsiniz. ```python #You need to install the following libraries #pip install azure-servicebus @@ -127,16 +199,6 @@ asyncio.run(receive_and_process_messages()) print("Message Receiving Completed") print("----------------------------") ``` -### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` - -Bu izinlere sahipseniz, paylaşılan erişim anahtarlarını okuyarak veya oluşturarak ayrıcalıkları artırabilirsiniz. Bu anahtarlar, Service Bus ad alanı üzerinde tam kontrol sağlar; kuyrukları, konuları yönetme ve mesaj gönderme/alma işlemlerini içerir, bu da rol tabanlı erişim kontrollerini (RBAC) atlatma potansiyeline sahiptir. -```bash -az servicebus namespace authorization-rule update \ ---resource-group \ ---namespace-name \ ---name RootManageSharedAccessKey \ ---rights Manage Listen Send -``` ## Referanslar - https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index ef40c6069..9353f6ae1 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -4,23 +4,23 @@ ## Service Bus -Azure Service Bus, uygulamanın farklı parçaları veya ayrı uygulamalar arasında güvenilir **iletişim** sağlamak için tasarlanmış bulut tabanlı bir **mesajlaşma hizmetidir**. Mesajların güvenli bir şekilde iletilmesini sağlamak için güvenli bir aracı olarak hareket eder; bu, gönderici ve alıcının aynı anda çalışmadığı durumlarda bile geçerlidir. Sistemleri birbirinden ayırarak, uygulamaların bağımsız bir şekilde çalışmasına olanak tanırken veri veya talimat alışverişi yapmalarını sağlar. Özellikle birden fazla işçi arasında yük dengelemesi gerektiren senaryolar, güvenilir mesaj iletimi veya görevlerin sırayla işlenmesi ya da erişimin güvenli bir şekilde yönetilmesi gibi karmaşık koordinasyon gereksinimleri için faydalıdır. +Azure Service Bus, uygulamanın farklı parçaları veya ayrı uygulamalar arasında güvenilir **iletişim** sağlamak için tasarlanmış bulut tabanlı bir **mesajlaşma hizmetidir**. Mesajların güvenli bir şekilde iletilmesini sağlayarak, gönderici ve alıcının aynı anda çalışmadığı durumlarda bile güvenli bir aracı olarak işlev görür. Sistemleri birbirinden ayırarak, uygulamaların bağımsız bir şekilde çalışmasına olanak tanırken, veri veya talimat alışverişi yapmalarını sağlar. Özellikle birden fazla işçi arasında yük dengelemesi gerektiren senaryolar, güvenilir mesaj iletimi veya görevlerin sırayla işlenmesi ya da erişimin güvenli bir şekilde yönetilmesi gibi karmaşık koordinasyon gerektiren durumlar için faydalıdır. -### Anahtar Kavramlar +### Ana Kavramlar 1. **Kuyruklar:** Amacı, alıcı hazır olana kadar mesajları depolamaktır. - Mesajlar sıralı, zaman damgalı ve kalıcı olarak depolanır. - İhtiyaç duyulduğunda (talep üzerine) teslim edilir. - Noktadan noktaya iletişimi destekler. -2. **Konu Başlıkları:** Yayınlama-abone olma mesajlaşması için yayın yapar. +2. **Konu Başlıkları:** Yayınlama-abone olma mesajlaşması için yaygınlaştırma. - Birden fazla bağımsız abonelik, mesajların kopyalarını alır. - Abonelikler, teslimatı kontrol etmek veya meta veriler eklemek için kurallar/filtreler içerebilir. - Çoktan çoğa iletişimi destekler. 3. **Ad Alanları:** Tüm mesajlaşma bileşenleri, kuyruklar ve konu başlıkları için bir konteynerdir; güçlü bir Azure kümesinin kendi diliminiz gibi, özel kapasite sağlar ve isteğe bağlı olarak üç kullanılabilirlik bölgesine yayılabilir. -### Gelişmiş Özellikler +### İleri Düzey Özellikler -Bazı gelişmiş özellikler şunlardır: +Bazı ileri düzey özellikler şunlardır: - **Mesaj Oturumları**: FIFO işleme sağlar ve istek-cevap desenlerini destekler. - **Otomatik İletim**: Aynı ad alanındaki kuyruklar veya konu başlıkları arasında mesajları aktarır. @@ -54,18 +54,6 @@ sku, yetkilendirme kuralı, {{#tabs }} {{#tab name="az cli" }} ```bash -# Queue Enumeration -az servicebus queue list --resource-group --namespace-name -az servicebus queue show --resource-group --namespace-name --name - -# Topic Enumeration -az servicebus topic list --resource-group --namespace-name -az servicebus topic show --resource-group --namespace-name --name - -# Susbscription Enumeration -az servicebus topic subscription list --resource-group --namespace-name --topic-name -az servicebus topic subscription show --resource-group --namespace-name --topic-name --name - # Namespace Enumeration az servicebus namespace list az servicebus namespace network-rule-set list --resource-group --namespace-name @@ -79,6 +67,23 @@ az servicebus namespace authorization-rule list --resource-group --namespace-name --queue-name az servicebus topic authorization-rule list --resource-group --namespace-name --topic-name az servicebus namespace authorization-rule keys list --resource-group --namespace-name --name + +# Get keys +az servicebus namespace authorization-rule keys list --resource-group --namespace-name [--authorization-rule-name RootManageSharedAccessKey] +az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name +az servicebus queue authorization-rule keys list --resource-group --namespace-name --queue-name --name + +# Queue Enumeration +az servicebus queue list --resource-group --namespace-name +az servicebus queue show --resource-group --namespace-name --name + +# Topic Enumeration +az servicebus topic list --resource-group --namespace-name +az servicebus topic show --resource-group --namespace-name --name + +# Susbscription Enumeration +az servicebus topic subscription list --resource-group --namespace-name --topic-name +az servicebus topic subscription show --resource-group --namespace-name --topic-name --name ``` {{#endtab }}