Kerberos Protokolü Nedir ? Kerberos’a Yapılabilecek Saldırılar Nelerdir ?

Kerberos Protokolü : Microsoft ortamında temel kimlik doğrulaması için Kerberos Protokolü kullanılmaktadır. Kimlik doğrulama mekanizması Biletler(Ticket) ile gerçekleşmektedir. Kullancılara Ticket dağıtımını KDC(Key Distribution Center) yapmaktadır. Genellikle sistemlerin 88. Portunda çalışmaktadır.

KDC iki bölümden oluşmaktadır;
• AS(Authentication Server)
• TGS(Ticket Granting Server)

Kerberos’un çalışma adımlarını sıralayacak olursak;

➊ – İstemci(client), kimlik doğrulama bilgilerini AS’ye gönderir. Kimlik doğrulama bilgilerinin içinde kullanıcı adı ve domain bilgileri bulunmaktadır.

➋ – AS, istemcinin veritabanında bulunup bulunmadığını kontrol eder.  Veritabanında bulunuyor ise istemciye bir Secret-Key oluşturulur. Sonrasında AS, istemciye 2 adet mesaj gönderir ;
Mesaj A • TGS (Ticket Granting Service) gönderilir. Bu mesaj İstemcinin Secret-Key’i ile şifrelenir.
Mesaj B • TGT (Ticket Granting Ticket) gönderilir. Bilet Sağlayan Bilet demektir. Bu bilet kullanıcı adı ve biletin kullanım süresi gibi bilgileri içerir. Bu mesaj TGS’nin kendi Secret-Key’i ile şifrelenir.

➌ – İstemci, şifrelenmiş TGS mesajını, Secret-Key’i ile decrpyt edip açar ve oturum anahtarını(Session Key’i) alır. TGT’yi açamaz çünkü TGT, KDC’nin kendi Secret-Key’i ile şifrelenmiştir. Bu işlemlerin başarılı şekilde gerçekleşmesinden sonra istemci, kimlik doğrulamasını başarılı bir şekilde gerçekleştirmiş olur ve Kerberos protokolünü kullanarak Domain’de ki diğer kaynaklara erişmeye hazır hale gelir.

İstemci oturumunu başarılı bir şekilde açtı. İstemci bir sunucuya erişmek istediği zaman ki Kerberos’un çalışma adımlarını inceleyecek olursak ;

➊ – İstemci, Domain’de bulunan herhangi bir sunucuya erişmek istediğinde, TGS’ye iki mesaj gönderir.
Mesaj C • Mesaj B’de İstemcinin almış olduğu TGT’yi ve erişmek istediği Sunucu ID’sini gönderir.
Mesaj D • İstemci ID’si ve TimeStamp(Zaman Bilgisi) bilgileri gönderilir. Bu mesaj TGS Session-Key ile şifrelenir.

➋ –  TGS bu iki mesajı aldıktan sonra, ikinci mesajı TGS Oturum Anahtarı ile açar ve sonrasında istemciye 2 mesaj gönderir.
Mesaj E • İstemci-Sunucu bileti gönderilir. Bu biletin içinde İstemci ID’si, İstemci Network Adresi, Geçerlilik Zamanı, Client/Server Oturum Anahtarlarının bilgilerini içerir ve bu mesaj sunucunun gizli anahtarı ile şifrelenir.
Mesaj F • İstemci-Sunucu Oturum Anahtarı gönderilir. Bu mesaj, TGS Oturum Anahtarı ile şifrelenmiştir.

➌ – İstemci bu iki mesajı aldıktan sonra, sunucuya bağlanabilmesi için gerekli olan bilgilere&izinlere sahip olmuş oluyor. İstemci, sunucuya bağlanıp iki mesaj gönderiyor.
Mesaj G • Mesaj E’de aldığı İstemci-Sunucu biletini gönderir.
Mesaj H • İstemci ID’si ve Timestamp bilgisini gönderir. Bu mesaj İstemci-Sunucu anahtarı ile şifrelenir.

➍ – Sunucu, kendi gizli anahtarı ile Mesaj G’yi yani İstemci-Sunucu biletini açıp, bu mesajın içerisinden İstemci/Sunucu oturum anahtarını alır. Aldığı bu oturum anahtarı ile de Mesaj H’i açar. Daha sonra İstemciye, kimlik doğrulamasını onaylamak için bir mesaj gönderir.
Mesaj I • Message H’de gönderilen Timestamp değerini 1 arttırır ve gönderir. Bu mesaj İstemci-Sunucu oturum anahtarı ile şifrelenir.

➎ – İstemci mesajı aldıktan sonra timestamp değerinin doğru biçimde güncellenip güncellenmediğini kontrol eder. Eğer işlem doğru biçimde gerçekleştiyse istemci artık sunucuya güvenebilir ve sunucuya erişebilir&bağlantı kurabilir.

**Avantaj açısından incelediğimizde, şifreler ağ üzerinde paylaşılmıyor.**

Kimlik doğrulamayı ve sunucu erişimini sıkı adımlarla yapmasına rağmen yine de Kerberos protokolünde güvenlik açıklıkları bulunmuştur ;
MS14-068 Bu zafiyetlerin en bilinenidir. İncelemek için ;
https://www.siberportal.org/blue-team/securing-microsoft-domain-environment/analysis-vulnerability-in-kerberos-could-allow-elevation-of-privilege-ms14-068/

Kerberos protokolü kullanan sisteme yapılacak saldırı türlerine örnek olarak ise ;
Silver Ticket : “Silver Ticket tekniğinde saldırganın amacı, hizmet veren servis hesabına ait NTLM hash’i ile TGS oluşturarak domain üzerindeki yetkilerini yükseltmektir.”

Golden Ticket : “krbtgt, TGT biletlerini vermekten sorumludur. Saldırgan krbtgt hesabına ait NTLM hash’ini kullanarak TGT bileti oluşturup Active Directory üzerinde bulunan bütün servislere/makinelere erişim sağlayabilmektedir.”

Pass the Ticket : “Overpass The Hash saldırısından farklı olarak kullanıcının NTLM hash’i ile TGT bileti istemek yerine TGT biletinin kendisi çalınarak yetkilendirme işlemlerinde kullanılmaktadır.”

Overpass the Hash : “Overpass The Hash saldırısındaki amaç Active Directory kullanıcısına ait NTLM hash’i ile TGT bileti alarak, kullanıcının yetkisi dahilindeki servislere erişebilmektir.”

Saldırıları detaylı olarak incelemek&sömürme adımlarını görebilmek için vereceğim linkleri inceleyebilirsiniz. Benim de saldırıları temel olarak açıklarken kullandığım cümleler bu blog yazılarından alınmadır ;
Silver Ticket : https://umuttosun.com/?p=230
Golden Ticket : https://umuttosun.com/?p=232
Pass the Ticket : https://umuttosun.com/?p=217
Overpass the Hash : https://umuttosun.com/?p=210

Kerberos Protokolünü araştırırken kullandığım türkçe kaynak ve Kerberos adımlarını anlatırken ki kullandığım stilin(örn Mesaj A, Mesaj B) kaynakçası olarak ;
http://cemunsal.blogspot.com/2007/09/kerberos-nedir-nasl-alr.html

Değerli bilgiler için Cem Ünsal’a ve Umut Tosun’a teşekkürler!

0x012

Yorum bırakın

WordPress.com'da bir web sitesi veya blog oluşturun

Yukarı ↑