OAuth Client ID Sahtekarlığı ile Microsoft Entra Hesap Enumerasyonu ve Tespitten Kaçınma Yöntemleri

Saldırganlar, Microsoft Entra ID'de geleneksel tespit mekanizmalarını atlatmak için OAuth Client ID sahtekarlığı tekniğini kullanıyor. Bu makalede saldırının nasıl gerçekleştiği ve savunma yöntemleri detaylıca açıklanmaktadır.

I
ITWISE
6 görüntülenme
OAuth Client ID Sahtekarlığı ile Microsoft Entra Hesap Enumerasyonu ve Tespitten Kaçınma Yöntemleri

Giriş

Microsoft Entra ID (eski adıyla Azure Active Directory), kurumsal kimlik yönetimi için yaygın olarak kullanılan bir platformdur. Ancak, son dönemlerde saldırganlar tarafından keşfedilen OAuth Client ID sahtekarlığı adı verilen yeni bir saldırı tekniği, bu platformdaki hesapların gizlice numaralandırılmasına (enumeration) ve parola doğrulamasına olanak tanımaktadır. Bu saldırı, Resource Owner Password Credentials (ROPC) akışını kullanarak doğrudan Microsoft kimlik platformuna sahte kimlik bilgileri göndermeyi içerir.

Saldırının Arka Planı ve Çalışma Prensibi

OAuth ve ROPC Akışının Kötüye Kullanımı

OAuth 2.0 protokolü, üçüncü parti uygulamaların kullanıcı adına yetkilendirme almasını sağlayan bir standarttır. ROPC akışı ise, kullanıcı adı ve parolanın doğrudan kimlik doğrulama sunucusuna gönderildiği özel bir OAuth akışıdır. Bu akış, genellikle kullanıcı arayüzü olmayan uygulamalar tarafından kullanılır ve geleneksel çok faktörlü kimlik doğrulamasını (MFA) atlar.

Saldırganlar, bu akışı kötüye kullanarak aşağıdaki adımları gerçekleştirmektedir:

  1. Sahte Client ID Oluşturma: Saldırganlar, geçerli bir uygulama kaydı olmayan ancak Microsoft Entra ID tarafından tanınabilecek sahte bir client_id değeri oluşturur. Bu değer genellikle rastgele karakterlerden oluşur ve mevcut uygulamaların kimliklerine benzer şekilde tasarlanır.
  2. ROPC Akışına Sahte Kimlik Bilgileri Gönderme: Saldırgan, hedef kullanıcı adı ve parolasını ROPC akışı aracılığıyla Microsoft kimlik platformuna gönderir. Bu akışta, client_id parametresi olarak sahte değeri kullanır.
  3. Hesap Enumerasyonu ve Parola Doğrulama: Microsoft Entra ID, sahte client_id'yi geçerli bir uygulama olarak kabul edebilir ve kimlik doğrulama talebini işler. Eğer kullanıcı adı geçerliyse, sistem yanıt verir; aksi takdirde hata mesajı döndürür. Bu sayede saldırgan, geçerli kullanıcı adlarını tespit edebilir.
  4. Gizli Tespitten Kaçınma: Geleneksel saldırı tespit sistemleri, bu tür kimlik doğrulama taleplerini şüpheli olarak işaretlemez, çünkü sahte client_id geçerli bir uygulama gibi görünmektedir.

Saldırının Riskleri ve Etkileri

Bu saldırı yöntemi aşağıdaki riskleri beraberinde getirir:

  • Hesap Enumerasyonu: Saldırganlar, kurumsal ağdaki geçerli kullanıcı adlarını tespit ederek daha sonraki saldırılar için hedef listesini oluşturabilir.
  • Parola Saldırıları: Doğrulanan kullanıcı adlarıyla birlikte, saldırganlar parola kırma saldırıları (örneğin, brute-force) gerçekleştirebilir.
  • Veri Sızıntısı: Eğer saldırganlar geçerli kimlik bilgilerini elde ederlerse, kurumsal kaynaklara yetkisiz erişim sağlayabilir.
  • Gizli Kalma: Geleneksel SIEM (Security Information and Event Management) sistemleri tarafından kolayca tespit edilemeyen bu saldırı, uzun süre fark edilmeden devam edebilir.

Savunma ve Tespit Yöntemleri

1. ROPC Akışının Devre Dışı Bırakılması

Microsoft Entra ID, ROPC akışını varsayılan olarak etkinleştirir. Bu akışı devre dışı bırakarak saldırı yüzeyini önemli ölçüde azaltabilirsiniz:

  1. Microsoft Entra ID yönetim portalına (https://entra.microsoft.com) giriş yapın.
  2. Azure Active Directory > Dışarıdan erişilebilir uygulamalar > Kullanıcı akışları bölümüne gidin.
  3. Resource Owner Password Credentials akışını bulun ve Devre Dışı olarak ayarlayın.

2. Uygulama Kaydı Denetimleri ve İzinlerinin Sınırlandırılması

Microsoft Entra ID'de uygulama kayıtları, OAuth akışlarının temelini oluşturur. Bu kayıtların güvenliğini sağlamak için aşağıdaki adımları uygulayın:

  1. Uygulama Kaydı Denetimi:
    • Microsoft Entra ID portalında Uygulamalar > Uygulama kayıtları bölümüne gidin.
    • Bilinmeyen veya şüpheli uygulamaları inceleyin ve gerekiyorsa silin.
    • Kullanıcıların kendi uygulamalarını kaydetmesine izin verme seçeneğini devre dışı bırakın (varsayılan olarak kapalıdır).
  2. İzinlerin Sınırlandırılması:
    • Uygulama kayıtları için gereksiz izinleri kaldırın. Özellikle Yönetici onayı gerektiren izinler ve Kapsamlı izinler dikkatlice gözden geçirilmelidir.
    • Uygulamalara verilen izinleri En az ayrıcalık prensibine göre yapılandırın.

3. Log ve Olay İzleme Politikalarının Güçlendirilmesi

Saldırganlar tarafından gerçekleştirilen OAuth Client ID sahtekarlığı, belirli log kayıtlarında iz bırakabilir. Bu kayıtları izlemek ve anormal aktiviteleri tespit etmek için aşağıdaki adımları uygulayın:

  1. Microsoft Entra ID Loglarının Etkinleştirilmesi:
    • Microsoft Entra ID portalında İzleme > Günlükler bölümüne gidin.
    • Kimlik doğrulama günlükleri ve Uygulama günlükleri için log toplama politikalarını etkinleştirin.
  2. SIEM Sistemlerine Entegrasyon:
    • Microsoft Sentinel, Splunk veya diğer SIEM sistemlerine Microsoft Entra ID loglarını entegre edin.
    • Aşağıdaki sorguları kullanarak şüpheli aktiviteleri izleyin:
// Örnek SIEM sorgusu: ROPC akışına ait başarısız kimlik doğrulama girişimleri
MicrosoftEntraID_CL
| where OperationName == "Sign-in activity"
| where ResultType == "50053" // Geçersiz kullanıcı adı/parola
| where AuthenticationProtocol == "ROPC"
| summarize count() by UserPrincipalName, ClientAppUsed
| where count_ > 5 // Anormal sayıda girişim

4. Güvenlik Duvarı ve Ağ Trafiği Kontrolleri

OAuth Client ID sahtekarlığına karşı ağ düzeyinde koruma sağlamak için aşağıdaki adımları uygulayın:

  1. Microsoft Entra ID IP Beyaz Listeleme:
  2. Anormal Trafik Tespiti:
    • Azure Application Gateway veya diğer ters proxy çözümlerinde WAF (Web Application Firewall) kurallarını yapılandırın.
    • Aşağıdaki kuralları ekleyin:
      • OAuth akışlarında sahte client_id kullanımını engellemek için özel kurallar oluşturun.
      • ROPC akışına ait istekleri filtreleyin ve loglayın.

İpuçları ve Uyarılar

Önemli: ROPC akışını devre dışı bırakmak, kullanıcıların parola tabanlı kimlik doğrulamasını kullanan uygulamaları etkileyebilir. Bu değişikliği uygulamadan önce, kurum içindeki tüm uygulamaları ve kullanıcıları etkileyecek olası sonuçları değerlendirin.

İpucu: Microsoft Entra ID'de uygulama kayıtlarını düzenli olarak denetleyin ve gereksiz kayıtları temizleyin. Bilinmeyen uygulamalar, saldırı yüzeyini artırabilir.

Uyarı: SIEM sistemlerinde logları izlerken, yanlış pozitifleri minimize etmek için anormal aktivite eşiklerini dikkatlice ayarlayın. Aksi takdirde, güvenlik ekipleri sürekli olarak uyarılarla karşılaşabilir.

Sonuç

OAuth Client ID sahtekarlığı, Microsoft Entra ID'deki hesapların gizlice numaralandırılmasına ve parola doğrulamasına olanak tanıyan sofistike bir saldırı tekniğidir. Bu saldırıdan korunmak için ROPC akışının devre dışı bırakılması, uygulama kayıtlarının güvenliği, log izleme politikalarının güçlendirilmesi ve ağ düzeyinde kontrollerin uygulanması gerekmektedir. Bu adımları uygulayarak, kurumsal kimliklerinizi saldırılara karşı daha dirençli hale getirebilirsiniz.

Unutmayın ki, güvenlik sürekli bir süreçtir ve tehditler geliştikçe savunma stratejilerinizi de güncellemelisiniz. Microsoft Entra ID'deki güvenlik ayarlarınızı periyodik olarak gözden geçirin ve en iyi uygulamaları takip edin.

Kaynak

4sysops