deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Yeni Kerberos zinciri, SPN'siz hesaplarda RBCD ve U2U ile constrained delegation'ı istismar ediyor

Bir araştırmacı Reflective RBCD'yi user-to-user Kerberos biletleriyle birleştirdi ve Impacket'i S4U2Proxy+U2U desteğiyle genişletti; böylece SPN'siz hesaplara karşı constrained delegation istismarı mümkün hale geldi.

Yeni Kerberos zinciri, SPN'siz hesaplarda RBCD ve U2U ile constrained delegation'ı istismar ediyor

Yeni belgelenen bir Kerberos saldırı zinciri, Active Directory'deki Protocol Transition'sız Constrained Delegation'ın, service principal name'i olmayan hesaplarda istismar edilmesini mümkün kılıyor — bu yapılandırma daha önce bilinen delegation istismar tekniklerinin erişiminin dışındaydı. Araştırma hunio.org'da yayınlandı ve Hacker News'te yayılıyor; yazı Sprocket Security tarafından da yeniden yayınlandı.

İki teknik, bir boşluk

Gönderiye göre Constrained Delegation iki biçimde bulunuyor. Protocol Transition ile bir servis, kullanıcının önce kimlik doğrulaması yapmadan S4U2Self aracılığıyla o kullanıcıyı taklit edebiliyor. Protocol Transition olmadığında ise servis, S4U2Proxy gerçekleştirebilmek için kullanıcının iletilebilir (forwardable) bir biletini zaten elinde bulundurmalı — saldırganların uydurmaya çalıştığı şey de tam olarak bu kanıt.

Elad Shamir'in Reflective Resource-Based Constrained Delegation tekniği bu uydurma sorununu çözüyor. Kullanıcılar ve makineler varsayılan olarak kendi RBCD niteliklerini yazabildiği için, bir kaynağı ele geçiren saldırgan, Machine Account Quota ile eklenen bir makine hesabına güvenilmesini sağlayabiliyor ve ardından elevated bir kullanıcıyı taklit eden iletilebilir bir servis bileti üretmek için iki S4U2Proxy işlemini zincirleyebiliyor. Sınırlama, yaklaşımın SPN'lere bağlı olması.

Ayrı olarak, James Forshaw SPN'siz hesapların User-to-User kimlik doğrulaması üzerinden yine de hedeflenebileceğini gösterdi; bu yöntemde KDC biletleri bir servis parolası yerine bir TGT oturum anahtarıyla şifreliyor. Bir kullanıcının parola hash'ini o kullanıcının kendi TGT oturum anahtarıyla değiştiren saldırgan, taklit edilmiş bir bilet üretebiliyor ve delegation üzerinden pivot yapabiliyor; ancak bu işlem hesabın geçerli kimlik bilgilerini yok ediyor. Bu hile yalnızca Protocol Transition'lı Constrained Delegation için geçerliydi.

Yeni zincir

hunio.org gönderisi iki yaklaşımı köprüler: SPN'siz bir hesaptan, Reflective RBCD'yi U2U tabanlı bir S4U2Proxy ile çalıştırarak Protocol Transition'sız varyant için gereken iletilebilir bileti üretiyor.

İzlenen senaryo, bir domain controller servisine delegation yapmasına izin verilen ama SPN'si olmayan ele geçirilmiş LAMB kullanıcısını kullanıyor. Adımlar şöyle: LAMB için bir TGT istenir ve oturum anahtarı çıkarılır; Machine Account Quota ile bir yardımcı makine hesabı eklenir; LAMB'ın yeni makineye güvenmesi için RBCD yapılandırılır; LAMB'ın parola hash'i TGT oturum anahtarıyla değiştirilerek hesap feda edilir; Administrator'ı taklit eden iletilebilir bir bilet elde etmek için U2U ile bir S4U2Proxy gerçekleştirilir; son olarak bu kanıt bileti gerçek hedef servise karşı ikinci bir S4U2Proxy'den geçirilir. Gösterim, domain controller'dan kimlik bilgisi çıkarılmasıyla sona eriyor.

Impacket'i genişletmek

Yeni olan parça protokol davranışı değil, araçtı. Impacket U2U ile S4U2Proxy gerçekleştirmeyi desteklemiyordu; yazar getST.py'yi dört yönden değiştirdi: PA-PAC-OPTIONS içinde resource_based_constrained_delegation bayrağını ayırmak (aksi halde KDC KDC_ERR_BADOPTION döndürüyor); kdc-options içinde enc-tkt-in-skey ayarlamak, böylece KDC yanıt biletini bir TGT oturum anahtarıyla şifreliyor; sname name-type'ını kRB5-NT-UNKNOWN olarak ayarlayıp hedef kullanıcıya yönlendirmek; ve KDC'nin oturum anahtarını çıkarabilmesi için tek bilet yerine iki bilet — hedefin TGT'si ile S4U2Self kanıt bileti — sunmak.

Ön koşullar ve ödünleşimler

Zincir, üzerine inşa edildiği tekniklerle aynı gereksinimleri taşıyor. Domain RC4 şifrelemesine izin vermeli, Machine Account Quota etkin olmalı ve SPN'siz kaynak kendisinde RBCD yapılandırabilmeli (bu varsayılan davranıştır). MAQ devre dışıysa saldırganın bunun yerine zaten SPN'si olan bir şeyi önceden ele geçirmiş olması gerekir. Saldırı ayrıca delegation'a güvenilen hesabı da yok ediyor; çünkü hash değiştirildiğinde hesabın özgün kimlik bilgileri geçersiz hale geliyor.

Yazar, bunun Kerberos'ta yeni bir güvenlik açığı olmadığını açıkça belirtiyor. Bu, araştırmanın gösterdiği kadarıyla daha önce bu şekilde hiç istismar edilmemiş bir delegation yapılandırmasını sömürmek için yeni bir adım dizisi.

Neden önemli

Protocol Transition'sız Constrained Delegation için güvenilen hesaplar, pratikte protokolün kendisi tarafından değil, metodolojik bir boşluk tarafından korunuyordu ve o boşluk artık kapatıldı. Savunmacılar için ön koşullar aynı zamanda bir hafifletme listesi: RC4'ü devre dışı bırakmak, Machine Account Quota'yı sıfıra ayarlamak ve RBCD niteliğine yapılan yazmaları kısıtlamak ya da izlemek, zinciri farklı halkalardan kırıyor. Tespit ekipleri ayrıca, gereken Impacket değişiklikleri belgelendiğine göre saldırı araçlarında S4U2Proxy-with-U2U davranışının ortaya çıkmasını beklemeli; bu da delegation'a güvenilen hesapların, özellikle SPN'siz olanların denetlenmesini geçen haftaya göre daha yüksek öncelikli hale getiriyor.

  • #security
  • #active-directory
  • #kerberos
  • #impacket
  • #windows-server

İlgili yazılar