Kerberos Genel Bakış

Windows için Authentication Servisleri Nelerdir ?

İki adet doğrulama yöntemi vardır. Bunlar NTLM ve Kerberos servisleridir.

NTLM Nedir?

NTLM challenge / response mantığına dayanarak doğrulama yapar. Simetrik bir şifreleme alt yapısına sahiptir. Günümüzde güvenli olmayan ağlar da çok tercih edilmeyen yöntemdir. Ayrıca çok fazla atak vektörü bulunmaktadır.

*Simetrik şifreleme, taraflar arasında tek bir anahtar bulunur. Bu anahtar ile taraflar şifreleme deşifreleme yaparlar. Örnek olarak AES 256 verilebilir.

Kerberos Nedir ?

Yunan mitolojisinden 3 başlıklı köpek olarak gelir. Burada ki görevi ise authentication servisi olmasıdır. NTLM servisinden daha güvenli bir yapı olması için tasarlanmıştır. Kullandığı 3.parti ticket yetkilendirme ile daha güçlü olacağı planlanmıştır. Kerberos da simetrik şifreleme yöntemini kullanır.

Kerberos Bileşenleri

Kerberos içeresinde Authentication servis, Database ve Ticket Granting Server bulundurur.

Authentication Server, Bilet verme hizmeti için ilk kimlik doğrulaması ve bileti gerçekleştirir.

Kerberos Database, Authentication server kullanıcılar için doğrulamak için uğradığı yerdir.

Ticket Granting Server(TGS), Kimliği doğrulanmış kullanıcılar için ticket düzenleme sunucusudur.

Kerberos Yapısı ve Sırasıyla İşlemleri Bu Şekildedir

kerberos yapısı

Aslında tüm olay kullanıcı File Servere bağlantı yapmak istemesi ile başlıyor. Eğer kullanıcının elinde ticket mevcut ise doğrudan erişim sağlayabiliyor. Eğer ticket yok ise sırasıyla şu adımlardan geçiyor;

Adım 1

Kullanıcı şifrelenmiş(encrypted) şekilde kimlik bilgilerini gönderdir. Burada ki şifreleme kullanıcının(user) şifresi ile şifrelenir.

Adım 2

Authentication server kendisine gelen isteği elinde ki anahtar ile deşifreleme(decrypt) yapar. Veritabanında kimlik doğrulamasını yapar. Eğer tüm bilgileri doğru ise Ticket-Granting-Ticket ve session key encrypted bir şekilde verir.

TGT, kullanıcı adını ve network adresini barındır. Kullanıcının elinde bulunmayan bir key ile şifrelenir.

Adım 3

TGT ve session bilgilerimiz bulunmaktadır. Bunlardan biletimizi(TGT) Ticket Granting Servere iletir. TGT hala şifreli bir şekildedir.

“basit olarak anlamak gerekirse, Kullanıcı File servere bağlanmak istediğini belirtiyor ve elindeki TGT’yi TGS’ye veriyor.”

Adım 4

TGS gelen ticketi deşifreleme(decrypt) yapar ve isteği doğrular. İstenilen sunucuya bağlanmak için bilet oluşturulur. Şifreli bir şekilde kullanıcıya bilet ve session gönderilir.

“Adım 2 ve Adım 4 de şifreleme ve deşifreleme(decrypt) sadece KDC’de gerçekleşebilir.”

Adım 5

Kullanıcı elindeki bileti(ticket) File Servere gönderir. Burada ki ticket hala şifrelidir.

Adım 6

File server TGS ile elindeki bileti(ticket) doğrulamasını yapar. Doğrulama sonucunda kaynaklarını kullanıcıya açar.

Bazı noktaları özetlemek gerekirse,

  • KDC üzerinde simetrik olarak şifrelenmiş bilet(ticket) kullanıcı tarafından deşifrelenemez yani çözülemez.
  • Kullanıcı asla kendi parolasını doğrudan doğrulama servisine göndermez.
  • Biletlerin(ticket) kullanım sürelerini sizin politikalarınız belirler.
  • Her ne kadar ntlm’den güvenli olsa da bir çok zafiyeti ve saldırı yöntemleri mevcuttur.

Kerberos Atak Vektörleri

Kerbrute Enumeration
Pass the Ticket
Kerberoasting
AS-REP Roasting
Golden Ticket
Silver Ticket
Skeleton Key

kaynaklar:

geeksforgeeks , sunnyclassrom

Leave a Reply

Your email address will not be published.