Az - Conditional Access Policies & MFA Bypass
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)
Azure Koşullu Erişim politikaları, belirli koşullara dayalı olarak Azure hizmetlerine ve uygulamalarına erişim kontrollerini uygulamak için Microsoft Azure'da kurulan kurallardır. Bu politikalar, organizasyonların kaynaklarını doğru koşullar altında doğru erişim kontrollerini uygulayarak güvence altına almasına yardımcı olur. Koşullu erişim politikaları temelde Kim'in Neyi Nereden ve Nasıl erişebileceğini tanımlar.
İşte birkaç örnek:
Oturum Açma Risk Politikası: Bu politika, bir oturum açma riski tespit edildiğinde çok faktörlü kimlik doğrulama (MFA) gerektirecek şekilde ayarlanabilir. Örneğin, bir kullanıcının oturum açma davranışı, farklı bir ülkeden oturum açmak gibi, normal desenine göre alışılmadık olduğunda, sistem ek kimlik doğrulama talep edebilir.
Cihaz Uygunluk Politikası: Bu politika, yalnızca organizasyonun güvenlik standartlarına uygun cihazların Azure hizmetlerine erişimini kısıtlayabilir. Örneğin, yalnızca güncel antivirüs yazılımına sahip veya belirli bir işletim sistemi sürümünü çalıştıran cihazlardan erişime izin verilebilir.
Bir koşullu erişim politikasının kolayca manipüle edilebilecek bazı bilgileri kontrol etmesi mümkündür, bu da politikanın atlatılmasına olanak tanır. Örneğin, politika MFA'yı yapılandırıyorsa, saldırgan bunu atlatabilecektir.
Bir koşullu erişim politikası yapılandırırken, etkilenen kullanıcıları ve hedef kaynakları (tüm bulut uygulamaları gibi) belirtmek gerekir.
Ayrıca, politikayı tetikleyen koşulları yapılandırmak da gereklidir:
Ağ: IP, IP aralıkları ve coğrafi konumlar
Bir VPN veya Proxy kullanarak bir ülkeye bağlanarak veya izin verilen bir IP adresinden oturum açarak atlatılabilir
Microsoft riskleri: Kullanıcı riski, Oturum açma riski, İçeriden gelen risk
Cihaz platformları: Herhangi bir cihaz veya Android, iOS, Windows Phone, Windows, macOS, Linux'u seçin
“Herhangi bir cihaz” seçilmediyse ancak diğer tüm seçenekler seçildiyse, bu platformlarla ilgili olmayan rastgele bir kullanıcı aracısı kullanarak atlatmak mümkündür
İstemci uygulamaları: Seçenekler “Tarayıcı”, “Mobil uygulamalar ve masaüstü istemcileri”, “Exchange ActiveSync istemcileri” ve “Diğer istemciler”
Seçilmeyen bir seçenekle oturum açmayı atlatmak için
Cihazlar için filtre: Kullanılan cihaza ilişkin bir kural oluşturmak mümkündür
Kimlik doğrulama akışları: Seçenekler “Cihaz kodu akışı” ve “Kimlik doğrulama transferi”
Bu, bir saldırganı etkilemeyecektir, yalnızca bu protokollerden herhangi birini bir oltalama girişiminde kurbanın hesabına erişmek için kötüye kullanmaya çalışıyorsa
Olası sonuçlar: Erişimi engelle veya MFA gerektirmek, cihazın uygun olmasını sağlamak gibi potansiyel koşullarla erişim izni ver.
Cihaz platformına (Android, iOS, Windows, macOS...) dayalı bir koşul ayarlamak mümkündür, ancak bu kullanıcı aracısına dayandığı için atlatmak kolaydır. Tüm seçenekleri MFA'yı zorlamak için ayarlasanız bile, tanınmayan bir kullanıcı aracısı kullanıyorsanız, MFA'yı veya engellemeyi atlatabileceksiniz:
Tarayıcının bilinmeyen bir kullanıcı aracısı göndermesini sağlamak (örneğin Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile
) bu koşulu tetiklememek için yeterlidir.
Kullanıcı aracısını geliştirici araçlarında manuel olarak değiştirebilirsiniz:
Ya da bunun gibi bir tarayıcı uzantısı kullanabilirsiniz.
Bu koşullu politikada ayarlanmışsa, bir saldırgan sadece izin verilen ülkede bir VPN kullanabilir veya bu koşulları atlatmak için izin verilen bir IP adresinden erişim bulmaya çalışabilir.
Bir kullanıcı belirli bir uygulamaya erişmeye çalıştığında, koşullu erişim politikalarını engellemek veya zorlamak mümkündür, örneğin MFA:
Bu korumayı atlatmaya çalışmak için, yalnızca herhangi bir uygulamaya giriş yapıp yapamayacağınıza bakmalısınız. AzureAppsSweep aracı, hardcoded olarak onlarca uygulama kimliği içerir ve bunlara giriş yapmaya çalışır, başarılı olursa size token bile verir.
Belirli kaynaklarda belirli uygulama kimliklerini test etmek için ayrıca şu aracı kullanabilirsiniz:
Ayrıca, giriş yöntemini korumak da mümkündür (örneğin, tarayıcıdan veya masaüstü uygulamasından giriş yapmaya çalışıyorsanız). Araç Invoke-MFASweep bu korumaları aşmaya çalışmak için bazı kontroller gerçekleştirir.
Araç donkeytoken benzer amaçlar için kullanılabilir, ancak bakımsız görünüyor.
Araç ROPCI bu korumaları test etmek ve MFA'ları veya engelleri aşmanın mümkün olup olmadığını görmek için de kullanılabilir, ancak bu araç beyaz kutu perspektifinden çalışır. Öncelikle kiracıda izin verilen Uygulamalar listesini indirmeniz gerekir ve ardından bunlara giriş yapmaya çalışacaktır.
Bir Azure MFA seçeneği, yapılandırılmış telefon numarasına bir çağrı almak ve kullanıcıdan #
karakterini göndermesini istemektir.
Karakterler sadece tonlar olduğundan, bir saldırgan telefon numarasının sesli mesajını ele geçirebilir, mesaj olarak #
tonunu yapılandırabilir ve ardından MFA talep edildiğinde kurbanın telefonunun meşgul olduğundan emin olabilir (aramak suretiyle) böylece Azure çağrısı sesli mesaja yönlendirilir.
Politikalar genellikle uyumlu bir cihaz veya MFA talep eder, bu nedenle bir saldırgan uyumlu bir cihaz kaydedebilir, bir PRT token alabilir ve bu şekilde MFA'yı aşabilir.
Öncelikle Intune'da uyumlu bir cihaz kaydedin, ardından PRT'yi alın:
Find more information about this kind of attack in the following page:
Az - Pass the PRTBu script bazı kullanıcı kimlik bilgilerini alır ve bazı uygulamalara giriş yapıp yapamayacağını kontrol eder.
Bu, daha sonra yetki yükseltmek için kötüye kullanabileceğiniz bazı uygulamalara giriş yapmak için MFA gerektirmediğinizi görmek için faydalıdır.
Tüm politikaları alır.
MFASweep, sağlanan bir kimlik bilgileri seti kullanarak çeşitli Microsoft hizmetlerine giriş yapmayı deneyen ve MFA'nın etkin olup olmadığını belirlemeye çalışan bir PowerShell betiğidir. Koşullu erişim politikaları ve diğer çok faktörlü kimlik doğrulama ayarlarının nasıl yapılandırıldığına bağlı olarak bazı protokoller tek faktörlü kalabilir. Ayrıca, ADFS yapılandırmaları için ek bir kontrol içerir ve tespit edilirse yerel ADFS sunucusuna giriş yapmayı deneyebilir.
Bu araç, MFA atlatmalarını tanımlamaya ve ardından birden fazla üretim AAD kiracısında API'leri kötüye kullanmaya yardımcı olmuştur; burada AAD müşterileri MFA'nın zorunlu olduğunu düşünüyordu, ancak ROPC tabanlı kimlik doğrulama başarılı oldu.
Brute-force yapmak için uygulamaların listesini oluşturabilmek için tüm uygulamaları listeleme izinlerinizin olması gerekir.
Donkey token, Güvenlik danışmanlarının Koşullu Erişim Politikalarını doğrulamasına, 2FA etkin Microsoft portallarında testler yapmasına vb. yardımcı olmayı amaçlayan bir dizi işlevdir.
Her portali test edin eğer MFA olmadan giriş yapmak mümkünse:
Çünkü Azure portalı kısıtlanmamıştır, önceki yürütme ile tespit edilen herhangi bir hizmete erişmek için portal uç noktasından bir token toplamak mümkündür. Bu durumda Sharepoint tanımlandı ve ona erişmek için bir token talep ediliyor:
Diyelim ki token, Sites.Read.All (Sharepoint'tan) iznine sahip. MFA nedeniyle web üzerinden Sharepoint'a erişemeseniz bile, oluşturulan token ile dosyalara erişmek için token'ı kullanmak mümkündür:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)