Bulut dünyasında en sık kullanılan kimlik yönetim servislerinden biri olan Azure Active Directory (Azure AD) Microsoft 365 ve Azure ekosistemindeki tüm erişimlerin temelini oluşturur.
Kullanıcı kimlikleri, uygulama izinleri, oturum açma politikaları ve güvenlik kontrolleri bu servis üzerinden yönetilir.
Ancak yakın zamanda ortaya çıkarılan bir açık bu güvenlik kalesinin yanlış yapılandırıldığında saldırganlara doğrudan yönetim anahtarlarını sunabileceğini gözler önüne serdi.
Sorunun Temeli: appsettings.json ve Hassas Bilgilerin Sızması
Modern yazılım projelerinde sıkça kullanılan appsettings.json gibi yapılandırma dosyaları, uygulamanın ihtiyaç duyduğu bağlantı bilgilerini içerir. Bu dosyalarda şu parametreler bulunabiliyor:
- TenantId → Azure AD dizininin kimliği
- Instance URL →
https://login.microsoftonline.com/ - RedirectUri → Geri dönüş adresi
- ClientId → Uygulamanın Azure AD’ye kayıtlı kimliği
- ClientSecret → Uygulamanın “parolası” niteliğinde gizli anahtar
Bu bilgilerden özellikle ClientId ve ClientSecret, saldırganın sisteme yetkili bir uygulama gibi davranabilmesini sağlar. Eğer bu dosyalar yanlışlıkla GitHub, forumlar, halka açık sunucular veya hatalı depolama alanlarında yayınlanırsa, saldırganların eline Microsoft 365 tenants açılan kapı geçer.
İstismar Mekanizması: OAuth 2.0 Client Credentials Flow
Açığın kötüye kullanımı aslında şaşırtıcı derecede basittir.
- Sızdırılmış ClientId ve ClientSecret bilgilerini ele geçiren saldırgan, bunları kullanarak Azure’un token uç noktasına bir HTTP POST isteği gönderir.
- Azure, bu isteği meşru bir uygulamadan geliyormuş gibi görür ve geçerli bir access token üretir.
- Bu token ile saldırgan artık Microsoft Graph API üzerinden sistemle iletişim kurabilir.
Buradaki kritik nokta: Eğer uygulamaya geniş izinler (örn. Directory.Read.All, Mail.Read, Files.Read.All) verilmişse saldırgan tüm e-posta kutularını, dosya paylaşımlarını, hatta kullanıcı listelerini sorgulayabilir.


Saldırganlar Bu Açığı Nasıl Kullanabilir?
1. Organizasyon Haritalama (Reconnaissance)
- Kullanıcılar, gruplar ve roller Graph API üzerinden listelenir.
- Yüksek ayrıcalıklı hesaplar ve kritik veri depoları tespit edilir.
2. Uygulama Taklidi ve Yetki Yükseltme
- Ele geçirilen uygulama kimliğiyle saldırgan, yeni uygulamalar kaydedebilir veya mevcut olanlardan ek izinler talep edebilir.
- Bu süreç, BT ekiplerine meşru görünebilir çünkü talepler sistem içinden geliyormuş gibi görünür.
3. Yanal Hareket (Lateral Movement)
- Eğer appsettings.json içinde depolama hesap anahtarları, SQL bağlantı stringleri gibi başka sırlar da varsa, saldırgan diğer sistemlere atlayabilir.
- Böylece yalnızca kimlik sistemini değil, üretim veritabanlarını ve dosya depolarını da kontrol altına alabilir.
4. Kalıcılık Sağlama
- Saldırgan, bulut ortamına kendi arka kapı uygulamalarını ekleyerek uzun süre fark edilmeden içeride kalabilir.
- Bu tür saldırılar aylarca sürebilir ve yalnızca ayrıntılı log analizleriyle ortaya çıkarılabilir.
Risklerin Boyutu
Bu tür bir açık sadece veri hırsızlığı değil, aynı zamanda tam kapsamlı bulut ele geçirme senaryosuna kapı aralar.
- Veri İhlali: SharePoint, OneDrive, Exchange Online gibi servislerdeki kritik dosyalar okunabilir veya dışarı sızdırılabilir.
- Uyumluluk İhlalleri: GDPR, HIPAA, SOX gibi regülasyonlar çiğnenebilir ve yüksek para cezaları gündeme gelebilir.
- Operasyonel Risk: Uygulama ve veritabanı manipülasyonu iş sürekliliğini doğrudan etkileyebilir.
- Reputasyon Kaybı: Bir kiracının kötü amaçlı uygulamalar aracılığıyla saldırılara zemin oluşturması, markanın güvenilirliğini zedeler.
Önerilen Çözümler
1. Secrets Yönetimi
- Hassas bilgileri asla kod veya konfigürasyon dosyalarında tutmayın.
- Bunun yerine Azure Key Vault veya benzeri güvenli gizli yönetim sistemleri kullanın.
2. Minimum Yetki İlkesi (Least Privilege)
- Azure AD uygulamalarına sadece ihtiyacı olan izinleri verin.
- “Directory.Read.All” gibi geniş kapsamlı izinlerden kaçının.
3. İzleme ve Alarm Mekanizmaları
- Anormal kimlik doğrulama denemelerini ve beklenmedik token taleplerini izleyin.
- Azure AD sign-in logları ve Microsoft Defender for Cloud Apps gibi çözümler bu konuda yardımcıdır.
4. Güvenlik Testleri
- Kod incelemesi, penetrasyon testi ve otomatik güvenlik taramalarıyla hatalı yapılandırmaları erken aşamada yakalayın.
5. Güvenlik Farkındalığı
- Geliştirici ekipleri, kimlik bilgilerini yanlışlıkla repolara veya paylaşım platformlarına yüklememeleri konusunda eğitin.
Azure Active Directory’deki bu zafiyet, küçük bir yapılandırma hatasının devasa güvenlik risklerine dönüşebileceğini gösteriyor.
Bir tek ClientSecret’ın yanlış yerde saklanması, saldırganlara tam yetkili uygulama kimliği kazandırarak:
- Veri hırsızlığı,
- Yetki yükseltme,
- Yan saldırılar (lateral movement),
- Kalıcı tehdit yerleşimi gibi senaryoları mümkün kılıyor.