Az - Service Bus Enum
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Service Bus
Azure Service Bus, farklı uygulama 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ğlayan 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 koordinasyonlar için faydalıdır.
Anahtar Kavramlar
- Namespaces: Mesajlaşma sistemlerinde bir namespace, mesajlaşma bileşenlerini, kuyrukları ve konuları organize eden ve yöneten mantıksal bir konteynırdır. Uygulamaların mesaj gönderebileceği, alabileceği ve işleyebileceği izole bir ortam sağlar. Kuyruklar ve konular, bir Service Bus namespace içinde aynı altyapıyı ve yapılandırmayı paylaşır, ancak birbirleriyle etkileşime girmeden bağımsız olarak çalışırlar.
- Queues: Amacı, alıcı hazır olana kadar mesajları depolamaktır.
- Mesajlar sıralı, zaman damgalı ve kalıcı olarak saklanır.
- Bir tüketiciye çekme modunda (isteğe bağlı alım) teslim edilir.
- Mesaj paylaşıldığında otomatik olarak silinmesi veya “Peek lock” modunda, tüketicinin silinebilir olduğunu onaylaması gereken bir yapılandırma ile ayarlanabilir. Aksi takdirde, mesaj kuyruğa geri dönecektir.
- Noktadan noktaya iletişimi destekler.
- Topics: Yayın-abone mesajlaşması için yayın yapma.
- Birden fazla bağımsız abonelik, mesajların kopyalarını alır.
- Her abonelik, konunun içinde bir kuyruk gibidir.
- Abonelikler, teslimatı kontrol etmek veya meta veriler eklemek için kurallar/filtreler içerebilir.
Hizmet otobüsü uç noktası/bağlantı dizesi:
https://<namespace>.servicebus.windows.net:443/
Gelişmiş Özellikler
Bazı gelişmiş özellikler şunlardır:
- Mesaj Oturumları: FIFO işleme sağlar ve istek-cevap desenlerini destekler.
- Otomatik İletim: Mesajları aynı ad alanındaki kuyruklar veya konular arasında aktarır.
- Ölü Mektuplama: Ulaşılamayan mesajları inceleme için yakalar.
- Zamanlanmış Teslimat: Mesaj işlemesini gelecekteki görevler için geciktirir.
- Mesaj Erteleme: Mesaj alımını hazır olana kadar erteler.
- İşlemler: İşlemleri atomik yürütme için gruplar.
- Filtreler ve Eylemler: Mesajları filtrelemek veya not eklemek için kurallar uygular.
- Boşta Otomatik Silme: Faaliyet göstermediğinde kuyrukları siler (min: 5 dakika).
- Yinelenen Tespit: Yeniden gönderimler sırasında yinelenen mesajları kaldırır.
- Toplu Silme: Süresi dolmuş veya gereksiz mesajları topluca siler.
Yerel Kimlik Doğrulama
az cli parametresindeki --disable-local-auth seçeneği, yerel kimlik doğrulama (Shared Access Signature (SAS) anahtarlarının kullanımına izin verme) için Service Bus ad alanınızda etkin olup olmadığını kontrol etmek için kullanılır.
- Disable true olarak ayarlandığında: SAS anahtarları kullanarak yerel kimlik doğrulama devre dışı bırakılır ve Entra ID kimlik doğrulamasına izin verilir.
- Disable false (varsayılan) olarak ayarlandığında: Hem SAS yerel kimlik doğrulaması hem de Entra ID kimlik doğrulaması mevcuttur ve Service Bus kaynaklarınıza erişmek için SAS anahtarları ile bağlantı dizelerini kullanabilirsiniz.
Yetkilendirme Kuralı / SAS Politikası
SAS Politikaları, Azure Service Bus varlıkları ad alanı (En Önemli Olan), kuyruklar ve konular için erişim izinlerini tanımlar. Her politika aşağıdaki bileşenlere sahiptir:
- İzinler: Erişim seviyelerini belirtmek için onay kutuları:
- Yönet: Varlık üzerinde tam kontrol sağlar, yapılandırma ve izin yönetimi dahil.
- Gönder: Varlığa mesaj göndermeye izin verir.
- Dinle: Varlık üzerinden mesaj almayı sağlar.
- Birincil ve İkincil Anahtarlar: Erişimi kimlik doğrulamak için güvenli token’lar oluşturmak için kullanılan kriptografik anahtarlardır.
- Birincil ve İkincil Bağlantı Dize: Uygulamalarda kolay kullanım için uç nokta ve anahtar içeren önceden yapılandırılmış bağlantı dizeleri.
- SAS Politika ARM ID: Programatik tanımlama için politikanın Azure Resource Manager (ARM) yolu.
Bir ad alanının, içindeki her varlığı etkileyen tek bir SAS politikası olduğunu, kuyruklar ve konuların ise daha ayrıntılı kontrol için kendi bireysel SAS politikalarına sahip olabileceğini belirtmek önemlidir.
Sayım
# Namespace Enumeration
az servicebus namespace list
az servicebus namespace network-rule-set list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace show --resource-group <MyResourceGroup> --name <MyNamespace>
az servicebus namespace network-rule-set show --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace private-endpoint-connection list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace exists --name ProposedNamespace
# Authorization Rule Enumeration
az servicebus namespace authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --queue-name <MyQueue>
az servicebus topic authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus namespace authorization-rule keys list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyAuthRule>
# Get keys
az servicebus namespace authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> [--authorization-rule-name RootManageSharedAccessKey]
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
az servicebus queue authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --queue-name <topic-name> --name <auth-rule-name>
# Queue Enumeration
az servicebus queue list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyQueue>
# Topic Enumeration
az servicebus topic list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus topic show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyTopic>
# Susbscription Enumeration
az servicebus topic subscription list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus topic subscription show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic> --name <MySubscription>
Yetki Yükseltme
Sonrası İstismar
Az - Service Bus Post Exploitation
Referanslar
- https://learn.microsoft.com/en-us/powershell/module/az.servicebus/?view=azps-13.0.0
- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview
- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-cli
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

