Silverfort Araştırmacılar Palo Alto Networks PAN-OS'ta Kimlik Doğrulamayı Atlama Güvenlik Açığı Keşfettiler [CVE-2020-2002]

Ana Sayfa » Blog » Silverfort Araştırmacılar Palo Alto Networks PAN-OS'ta Kimlik Doğrulamayı Atlama Güvenlik Açığı Keşfettiler [CVE-2020-2002]

Palo Alto Networks, PAN-OS'ta keşfedilen ve sorumlu bir şekilde Palo Alto Networks'e ifşa edilen bir KDC sahtekarlığı güvenlik açığı hakkında bir danışma belgesi yayınladı. Silverfort araştırmacılar Yoav Iellin, Yaron Kassner ve Rotem Zach. Güvenlik açığı, PAN-OS'un desteklenen tüm sürümlerini ve Kerberos kullanan tüm arabirimleri etkiledi. kimlik doğrulama profil. Güvenlik açığı açıklandıktan sonra Palo Alto Networks, PAN-OS'un desteklenen tüm sürümlerini düzeltti ve bir danışma bu konuda. Güvenlik açığı, bir saldırganın Kerberos PAN-OS'a kimlik doğrulama ve PAN-OS'a yönetimsel arabirimlere erişim sağlamanın yanı sıra sabit portal aracılığıyla güvenlik duvarı oturumlarına kimlik doğrulama.

Bu güvenlik açığı şuna benzer: Araştırmacılarımızın Cisco ASA'da keşfettiği KDC kimlik sahtekarlığı güvenlik açığı. Görünüşe göre Kerberos kimlik doğrulama protokolünün uygulanması her zaman doğru bir şekilde tamamlanmıyor ve bu da sistemleri açıklardan yararlanmaya karşı savunmasız bırakıyor.

Palo Alto Networks, bu güvenlik açığını PAN-OS'un tüm sürümlerinde düzeltti. Bir açıktan yararlanmaya karşı koruma sağlamak için bu yamayı dağıtmanızı önemle tavsiye ederiz.

Bu makale, PAN-OS'deki KDC kimlik sahtekarlığı güvenlik açığını özetlemekte ve parolayı bilmeden kimlik doğrulamasını atlamak için nasıl kullanılabileceğini göstermektedir. Kerberos uygulayan bir geliştiricinin yanı sıra sistemlerinde Kerberos kimlik doğrulaması kullanan kuruluşlar olarak bu güvenlik açıklarından nasıl kaçınılacağını açıklar.

Güvenlik Açığının Açıklanması

Güvenlik açığı, Palo Alto Networks'ün Kerberos uygulamasında yatıyor. Kerberos, şirket içi kimlik doğrulama için en yaygın kimlik doğrulama protokolüdür. Popülerliği nedeniyle kurumsal ağlarda yaygın olarak bulunur. Active Directoryve NTLM gibi daha zayıf kimlik doğrulama protokollerine göre tercih edilir.

Palo Alto Networks, birçok PAN-OS arabiriminde Kerberos kimlik doğrulama protokolünü kullanır - örneğin, SSL VPN, Captive Portal veya Yönetici oturum açma. Bu nedenle, Kerberos kimlik doğrulamasını atlamak, bir saldırganın Palo Alto Networks Strata'yı yönetmesine, güvenliğini atlamasına ve ek ağlara erişim kazanmasına olanak tanır.

Kerberos protokolünün çalışması için üç şey gerçekleşmelidir:

  1. kullanıcı sunucuya kimlik doğrulaması yapar
  2. sunucu istemciye kimlik doğrulaması yapar
  3. KDC, sunucuda kimlik doğrulaması yapar

Görünüşe göre, sunucuya yönelik KDC kimlik doğrulaması genellikle göz ardı ediliyor. Belki de bunu gerektirmesi, yapılandırma gereksinimlerini karmaşıklaştırması nedeniyledir. Bununla birlikte, KDC sunucuda kimlik doğrulaması yapmazsa, protokolün güvenliği tamamen tehlikeye atılır ve ağ trafiğini ele geçiren bir saldırganın, yanlış olsa bile herhangi bir parolayla PAN-OS'ta kimlik doğrulaması yapmasına olanak tanır.

PAN-OS'taki Güvenlik Açığının Keşfi

Eklemeye çalıştığımızda güvenlik açığını keşfettik SilverfortSSL VPN, Captive Portal ve Admin Login dahil olmak üzere Kerberos protokolüne dayanan arabirimlere yönelik MFA'sı. Bunu ayarlamak için, kimlik doğrulama yöntemi olarak Kerberos'u yapılandırdık ve üzerinde eşleşen bir MFA politikası yapılandırdık. Silverfort taraf. Kerberos protokolü ve KDC sahtekarlığı hakkında ayrıntılı bir açıklama bu makalenin sonunda bulunabilir.
Aşağıda görüldüğü gibi, ağ yakalama bir AS-REQ ve bir AS-REP içerir, ancak TGS-REQ içermez:

Protokol tarafından TGS-REQ gerekli olmasına ve kimlik doğrulama sürecinde eksik olmasına rağmen kimlik doğrulama başarılı oldu. zaten keşfettiğimiz için Cisco ASA ile benzer güvenlik açığı, bunu doğrulamak istedik.

Geri döndük ve Kerberos kimlik doğrulamasını yapılandırmak için Palo Alto Ağları kılavuzunu kontrol ettik - aşağıda o zamanki kılavuzun ekran görüntüsü var:

Yapılandırma sürecinin herhangi bir noktasında bir tuş sekmesi veya hizmet parolası yapılandırmamız gerekmediğini fark ettik. PAN-OS, bir tuş sekmesi yapılandırma seçeneği sunar, ancak bu isteğe bağlıdır. Ancak keytab yapılandırılmış olsa bile söz konusu arayüzlere kimlik doğrulama işlemi için kullanılmadığını gördük. Bir tuş sekmesi veya parola olmadan PAN-OS, KDC'nin gerçekliğini doğrulamak için gereken kimlik bilgilerine sahip değildir. Bu, PAN-OS'nin KDC sahtekarlığına duyarlı olduğu anlamına gelir.

Güvenlik Açığı Kullanmaya Çalışma

Artık PAN-OS'nin savunmasız olduğunu bildiğimize göre, PAN-OS ile KDC (bu durumda etki alanı denetleyicisi) arasındaki trafiği 88 numaralı bağlantı noktasında (Kerberos bağlantı noktası) kendi Windows Sunucumuza yeniden yönlendirerek bir saldırı simülasyonu yaptık. Windows sunucusunda sahte bir etki alanı oluşturduk ve gerçek etki alanında PAN-OS yöneticisi ile aynı Kullanıcı Asıl Adına (UPN) sahip bir kullanıcı olduğundan emin olduk. Bu örnek için ona 'Bob' diyeceğiz. Bu kullanıcının parolasını sahte etki alanında “1” olacak şekilde yapılandırdık.

Daha sonra aşağıdaki durumları denedik:

  • Düzenli oturum açma (Trafik yönlendirilmedi) – beklendiği gibi Bob'un orijinal parolasıyla oturum açmayı başardık. “1” şifresini denerken giriş başarısız oldu.
  • Sahte DC'mize yönlendirilen trafikle oturum açmak – Bob'un orijinal parolasıyla oturum açmak başarısız oldu, ancak "1" parolasıyla oturum açmak işe yaradı.

Önleme ve Azaltma

Güvenlik Uzmanları için Etki Azaltma Adımları

  1. Her şeyden önce, PAN-OS'nizi sabit bir sürüme yükseltin ve gerekli yapılandırma değişikliklerini aşağıdaki bölümde ayrıntılarıyla yapın. Palo Alto Networks danışmanlığı.
  2. Kerberos kimlik doğrulamanızı sürekli olarak izleyin. Yalnızca AS_REQ talep eden kaynakları arayın. TGS_REQ yoksa, bu bir tehlike işaretidir.
  3. kullanım Silverfort'nin açık kaynak aracı hizmet biletleri istemeyen hizmetler için kimlik doğrulama günlüklerini aramak için.
  4. Kerberos'u ve kendi yapılandırdığınız sistemleri uygulayan dahili olarak geliştirilmiş uygulamalar için geliştirici önerilerine bakın.
  5. Silverfort Palo Alto Networks ile adım adım kimlik doğrulama yeteneğinden yararlanan müşteriler, Silverfort MFA PAN-OS'lerini yükselttikten sonra bir TGT politikasından bir hizmet bileti politikasına politika.

Bir geliştirici olarak

Çözümünüzün KDC sahtekarlığına açık olmadığından emin olmak için birkaç adım öneriyoruz:

  1. Kerboros uygulamasının bir parola veya keytab gerektirdiğini doğrulayın: DC'yi doğrulamak için bir tür paylaşılan sır kullanmanız gerekir. Çözümünüz bir keytab dosyası yapılandırmayı etkinleştirmiyorsa veya hizmet hesabı parola, uygulama kesinlikle KDC sahtekarlığına karşı hassastır.
  2. Wireshark'ı çalıştırın – kimlik doğrulama sırasında hangi Kerberos isteklerinin gönderildiğini görmek için Wireshark'ı kullanın. TGS_REQ yoksa, bu bir tehlike işaretidir.
  3. Kendiniz bir kimlik doğrulama protokolü uygulamak istiyorsanız, protokol RFC'lerini özenle takip etmelisiniz. Daha kolay yolu izlemenizi ve bu protokollerin mevcut bir uygulamasını kullanmanızı öneririz.
  4. 3'i kullanrd uygun şekilde parti kitaplıkları - bazı 3rd taraf kitaplıkları, KDC sahtekarlığını önlemek için özel yapılandırma gerektirir. Örneğin, Kerberos için kullanılan pam-krb5 adlı ortak bir kitaplığın düzgün çalışması için yapılandırılmış bir keytab'a sahip olması gerekir. İşte belgelerinden ilgili paragraf (https://github.com/rra/pam-krb5/blob/master/README.md)

Olayın Arka Planı

Kerberos Protokolüne genel bakış

Kerberos kimlik doğrulama protokolü, 1980'lerde Steve Miller ve Clifford Neuman tarafından geliştirilmiştir. Yönetilen bir ağda Çoklu Oturum Açmaya (SSO) izin verir ve Active Directory (AD) uygulaması, şirket içi kurumsal ortamlar için birincil kimlik doğrulama protokolüne dönüştürdü.

Protokol, kullanıcı ve erişilen sunucu için karşılıklı kimlik doğrulama sağlamak üzere üç değiş tokuştan oluşur. Kullanıcılar oturum açtıklarında kimlik bilgilerini girerler ve Kimlik Doğrulama Hizmeti (AS) alışverişi gerçekleşir. Kullanıcı, daha sonra Bilet Verme Hizmeti (TGS) Değişimi sırasında belirli hizmetlere bilet almak için kullanılan bir Bilet Verme Bileti (TGT) alır. Bilet daha sonra kimlik doğrulamayı tamamlamak için İstemci/Sunucu Değişimi sırasında kullanılır:

1. Kimlik Doğrulama Hizmeti (AS) Değişimi

AS değişimi sırasında kullanıcı, Anahtar Dağıtım Merkezi (KDC) ile kimlik doğrulaması yapar. Buna karşılık kullanıcı, kimlik bilgilerini tekrar girmeden ağdaki hizmetlerle kimlik doğrulaması yapmak için gereken bileti ve anahtarı alır. Kullanıcı kimlik bilgilerini ilk girdiğinde, istemci KDC'nin Kimlik Doğrulama Hizmeti (AS) işlevine bir AS_REQ gönderir. AS_REQ, kullanıcının şifresinin bir işlevi olan Ana Anahtar tarafından imzalanan bir mesajdır. KDC'nin bir parçası olan Kimlik Doğrulama Hizmeti, AS_REQ'yu KDC'nin de kullanabileceği ana anahtara göre doğrular. AS_REQ doğrulandıktan sonra KDC, bir oturum açma anahtarı ve KDC'nin anahtarıyla şifrelenmiş bir Bilet Verme Bileti (TGT) içeren bir AS_REP döndürür. AS Değişimi aşağıda özetlenmiştir. TGT, belirli hizmetlere erişim elde etmek için TGS borsası tarafından kullanılacaktır.

2. Bilet Verme Hizmeti (TGS) Değişimi

Kullanıcı ağdaki bir hizmete erişmeye çalıştığında, KDC'nin Bilet Verme Sunucusu (TGS) işlevine bir TGS_REQ gönderir. Bu mesaj, AS Exchange sırasında elde edilen oturum açma anahtarı ile şifrelenir. TGS_REQ, daha sonra bir TGS_REP döndüren TGS tarafından doğrulanır. TGS_REP, hizmeti barındıran sunucunun ana anahtarıyla şifrelenmiş bir hizmet oturum anahtarı ve bir hizmet bileti içerir. Unix tabanlı bir sistemdeki sunucunun ana anahtarı, keytab dosyası adı verilen bir dosyada yapılandırılır. Bir üye sunucudaki sunucunun ana anahtarı, bilgisayar hesabının parolasından türetilir. TGS Borsası aşağıda özetlenmiştir.

3. İstemci/Sunucu Değişimi

Artık istemci, hizmette kimlik doğrulaması yapmak için ihtiyaç duyduğu her şeye sahiptir. İstemci, hizmet oturum anahtarıyla şifrelenen hizmete bir AP_REQ gönderir. Hizmet, AP_REQ'yi doğrulamak için hizmet oturum anahtarının şifresini çözer. Ardından sunucu bir AP_REP mesajı döndürür ve kimlik doğrulama tamamlanır. İstemci-sunucu değişimi aşağıda özetlenmiştir:

Spoof-Proof Protokolü

Kerberos protokolü doğru bir şekilde uygulandığında, KDC'yi taklit etmeye çalışan bir saldırgan, kimlik doğrulamasını atlayamaz. Bunun nedeni, bir saldırgan ele geçirilen bir AS_REQ'e yanıt olarak başarılı bir şekilde geçerli bir AS_REP oluştursa bile, saldırganın hiçbir zaman geçerli bir hizmet bileti düzenleyememesidir. Hizmet bileti, saldırganın sahip olmadığı bir anahtar olan sunucu anahtarıyla şifrelendiğinden, bu imkansız olacaktır.

KDC Sahtekarlığı nedir?

Daha sonra Duo Security'nin kurucularından olan Dug Song, 2000 yılında bir teknik bazı durumlarda Kerberos protokolünü atlamak için kullanılır:

Kerberos istemcilerinin belirli uygulamalarının ve yapılandırmalarının İstemci/Sunucu alışverişini yürütmekte başarısız olduğunu ve önceki alışverişlerin başarısına dayalı olarak kimlik doğrulamaya izin verdiğini keşfetti. Ne yazık ki, bu davranış güvenli değildir ve bir saldırgan tarafından kötüye kullanılabilir. İstemci ile DC arasındaki iletişimi ele geçirebilen bir saldırgan aşağıdaki adımları uygulayabilir:

  1. Sahte bir KDC oluşturun.
  2. Saldırmak istediğiniz hizmete erişme yetkisine sahip bir kullanıcı adı edinin.
  3. Sahte KDC'de saldırganın seçtiği bir parolayla bir kullanıcı oluşturun. Gösterim için bu şifreye “1” diyelim.
  4. Elde edilen kullanıcı adı ve parola "1" ile hizmette kimlik doğrulaması yapın.
  5. İstemciden DC'ye iletişimi ele geçirin ve onu sahte KDC'ye yönlendirin.
  6. AS Değişimi sırasında, "1" parolasına, sahte KDC anahtarına ve sahte oturum açma oturum anahtarına karşılık gelen bir AS_REP döndürün.
  7. TGS Değişimi sırasında herhangi bir TGS_REP döndürün.
  8. İstemci, bir uygulama değişimi gerçekleştirmeden kimlik doğrulamayı kabul edecektir.

KDC yanıltma saldırıları, saldırganın KDC'ye giden ve buradan gelen trafiği ele geçirebildiğini ve KDC adına yanıt verebildiğini varsayar. Bu, çeşitli teknikler kullanılarak yapılabilir. Örneğin, saldırgan, istemci ile aynı fiziksel ağ segmentindeyse, Ağ Güvenliği Hack'lerinde ana hatlarıyla belirtildiği gibi bir ARP sızdırma saldırısı gerçekleştirebilir. Lockhart 2007. Başka bir olası yaklaşım, anahtar veya yönlendirici gibi bir ağ aygıtını devralmak ve iletişimi oradan kontrol etmektir.

Kimlik Tehditlerini Hemen Durdurun