CyberFlow Logo CyberFlow BLOG
Soc L2 Infra Ad Cloud

Kerberos Protokolü: AS ve TGS Akışlarının Derinlemesine İncelemesi

✍️ Ahmet BİRKAN 📂 Soc L2 Infra Ad Cloud

Kerberos protokolünün AS ve TGS akışları ile güvenlik süreçlerini keşfedin. Siber güvenlikte önemli bir yer tutan bu protokolün detaylarını öğrenin.

Kerberos Protokolü: AS ve TGS Akışlarının Derinlemesine İncelemesi

Kerberos protokolü, Active Directory'de kimlik doğrulamanın temelinde yer alıyor. AS ve TGS akışları ile güvenlik süreçlerini nasıl etkilediğini öğrenin ve koruma yöntemlerini keşfedin.

Giriş ve Konumlandırma

Kerberos Protokolü Nedir?

Kerberos, kullanıcıların kimliğini doğrulamak ve ağ üzerindeki çeşitli hizmetlere güvenli bir şekilde erişim sağlamak amacıyla tasarlanmış bir kimlik doğrulama protokolüdür. Özellikle kurumsal düzeyde kullanılan bu protokol, bilet tabanlı bir sistem kullanarak, kullanıcıların kimlik bilgilerini açığa çıkarmadan, servisler arası iletişimi güvenli hale getirir. Kerberos, "üç başlı köpek" sembolüyle tanınmakta olup, genellikle Active Directory (AD) ortamlarında varsayılan kimlik doğrulama protokolü olarak karşımıza çıkar.

Kerberos, "Key Distribution Center" (KDC) adı verilen merkezi bir bileşen etrafında yapılandırılmıştır. KDC, hem Authentication Service (AS) hem de Ticket Granting Service (TGS) fonksiyonlarını bir arada barındırarak, kullanıcıların kimlik doğrulama ve bilet alma süreçlerini yönetir. Bu yapı, kötü niyetli saldırılara karşı koruma sağlarken aynı zamanda kullanıcıların ve uygulamaların verimli bir şekilde iletişim kurmasını mümkün kılar.

Neden Önemlidir?

Siber güvenlik alanında, kimlik doğrulama, sistemlerin güvenliğini sağlamak için kritik bir öneme sahiptir. Kerberos, iletişimdeki verilerin gizliliğini ve bütünlüğünü koruyarak, yetkisiz erişimlerin önüne geçer. Özellikle pentest (penetrasyon testi) süreçlerinde, Kerberos'un yapılandırılması ve kontrolü, sistemin güvenliğini test etmek için önemli bir alan sunar. Asimetrik şifreleme ve bilet tabanlı doğrulama sistemi sayesinde, kullanıcıların kimlik bilgileri ağ üzerinde güvenli bir şekilde saklanabilir.

Aynı zamanda, Kerberos'un çalışma mantığının anlaşılması, sistem güvenliği ekiplerinin saldırıları tespit etmesine ve müdahale etmesine yardımcı olur. Özellikle içsel tehditler ve kimlik avı gibi sosyal mühendislik saldırılarına karşı, Kerberos'un sunduğu güvenlik katmanları oldukça faydalıdır.

Siber Güvenlik ve Savunma Açısından Bağlamlandırma

Kerberos protokolü, modern ağ ortamlarında kritik bir rol oynamaktadır. Kullanıcı bilgilerini korumanın yanı sıra, ağ üzerindeki tüm interaksiyonların güvenliğini de artırır. Göz önünde bulundurulması gereken önemli bileşenlerden biri, Kerberos’un sağladığı zaman senkronizasyonudur. Bu, istemci ve sunucu arasındaki zaman farkının maksimum 5 dakika olması gerektiği anlamına gelir. Aksi takdirde, bileti oluşturma ve kontrol etme sürecinde sorunlar meydana gelebilir.

Bir diğer önemli unsur ise, Kerberos biletlerinin geçerlilik süreleridir. Varsayılan olarak, biletler 10 saat boyunca geçerlidir, bu da yöneticilerin sistemleri güvence altına almasına olanak tanır. Sistem üzerinde sürekli bir izleme sağlanması, kullanıcıların erişim sağladığı tüm işlemler için gerekli bir güvenlik önlemidir.

Teknik İçeriğe Hazırlık

Bu blog yazısında, Kerberos protokolünün AS (Authentication Service) ve TGS (Ticket Granting Service) akışlarını derinlemesine inceleyeceğiz. Her bir bileşenin işlevselliğini, kimlik doğrulama süreçlerini ve ortaya çıkabilecek güvenlik açıklarını detaylandıracağız. Kerberos ile ilgili teknik detayların anlaşılması, hem güvenlik uzmanları hem de sistem yöneticileri için hayati öneme sahiptir.

Kullanım örneği:
1. İstemci, kullanıcı parolasıyla oluşturulan zaman damgasını KDC'ye göndererek AS servisinden TGT talep eder.
2. KDC, kullanıcının kimliğini doğruladıktan sonra bir TGT biletini kullanıcıya geri gönderir.
3. Kullanıcı, bu TGT'yi KDC'ye sunarak belirli bir sunucu için servis bileti talep eder (TGS-REQ).

Kerberos protokolünün anlaşılması, daha güvenli sistemler oluşturmak ve potansiyel tehditlere karşı daha etkili savunmalar geliştirmek için kritik bir adımdır. Devam eden bölümlerde ise, protokolün yapı taşlarını ve akışlarını detaylı bir şekilde inceleyeceğiz.

Teknik Analiz ve Uygulama

Kerberos Protokolü: AS ve TGS Akışlarının Derinlemesine İncelemesi

Teknik Analiz ve Uygulama

Kerberos, Active Directory alanında varsayılan kimlik doğrulama protokolü olarak kullanılan, bilet-tabana dayalı bir sistemdir. Bu protokol, kullanıcıların kimliklerini doğrulayarak ağ üzerindeki kaynaklara güvenli bir şekilde erişimlerini sağlar. Kerberos'la ilgili iki önemli bileşen, Authentication Service (AS) ve Ticket Granting Service (TGS) olarak öne çıkar. Bu bölümde, bu iki akışın teknik detayları, işleyiş mekanizmaları ve örnek uygulamaları incelenecektir.

Protokol Bileşenleri

Kerberos mimarisi üç ana bileşenden oluşur:

  1. Key Distribution Center (KDC): Hem AS hem de TGS'yi barındıran merkezi birimdir.
  2. Authentication Service (AS): Kullanıcının kimliğini doğrulayan ve ilk biletini (TGT) veren servistir.
  3. Ticket Granting Service (TGS): Kullanıcının TGT'sini kontrol ederek belirli bir servise erişim bileti sunar.

AS-REQ ve AS-REP Akışı

Kullanıcı, Kerberos sistemine giriş yapmak istediğinde öncelikle AS'ye bir istek (AS-REQ) gönderir. Bu istekte, kullanıcı karakasında kimlik bilgileri ve mevcut zamanı içeren bir zaman damgası bulunur. Aşağıda AS-REQ oluşturma sürecine dair örnek bir komut gösterilmektedir.

kinit kullanici_adi

Bu komut, kullanici_adi ile belirtilen kullanıcının parolasını alarak AS'den bir TGT talep eder. Başarılı bir talep sonucunda, AS, TGT'yi içeren bir yanıt (AS-REP) gönderir. TGT, kullanıcının kimliğini doğrulayan ve diğer servislere erişim sağlamak için kullanılabilen bir biletin ilk halidir. Bu bilet, yalnızca sistemdeki özel krbtgt hesabının şifresi ile imzalanır ve şifrelenir.

Ticket Granting Ticket (TGT)

Kullanıcının TGT'si, Kerberos sistemi tarafından verilir ve kullanıcının daha sonra diğer servislere erişim sağlamasına olanak tanır. TGT’nin içeriği, kullanıcının kimliğini doğrulayan ve onun yetkilerini belirleyen bilgileri içerir.

{
  "user": "kullanici_adi",
  "expiration": "2023-12-31T23:59:59Z",
  "session_key": "şifrelenmiş_sessiyon_anahtarı"
}

Burada, expiration alanı, TGT'nin geçerlilik süresini tanımlarken, session_key, kullanıcının oturum bilgilerini şifrelemek için kullanılan anahtarı içerir.

TGS-REQ ve TGS-REP Akışı

Kullanıcı, TGT elde ettikten sonra, belirli bir servise erişim sağlamak için TGS'ye bir istek (TGS-REQ) gönderir. Bu talep, kullanıcının sahibi olduğu TGT ile sunulur. TGS, TGT'yi doğruladıktan sonra kullanıcıya hedef servise özel bir bilet (Service Ticket) verir.

klist

Yukarıdaki komut, kullanıcının sistemdeki mevcut biletlerini listelemesine yarar. Kullanıcı TGT ile birlikte TGS'ye talep gönderdiğinde, şu yapıda bir TGS-REP yanıtı alır:

{
  "service_ticket": "şifreli_servis_bileti",
  "expiration": "2023-12-31T23:59:59Z"
}

service_ticket, yalnızca hedef servisin açabileceği şekilde şifrelenmiş erişim biletidir. Bu yapı, belirli bir servise yapılacak isteklerde kullanılır.

Kerberos Portu ve Zaman Senkronizasyonu

Kerberos, TCP ve UDP protokolleri üzerinden iletişim kurar ve standart olarak 88 numaralı portu kullanır. Tüm Kerberos işlemleri bu port üzerinden gerçekleştirilir. Ayrıca, biletlerin geçerli olabilmesi için istemci ve KDC arasındaki zaman senkronizasyonu önemlidir. Bu kapsamda, maksimum 5 dakikalık bir tolerans süresi vardır.

Log Takibi: Event ID 4768

Windows olay günlüklerinde, bir kullanıcının başarıyla TGT talebinde bulunduğunu gösteren olay kimliği 4768’dir. Bu olay, Kerberos sisteminin güvenliğini sağlamak amacıyla izlenmelidir ve güvenlik analistleri tarafından düzenli olarak incelenmelidir.

Event ID: 4768
Description: A Kerberos authentication ticket (TGT) was granted.

Bu bilgiler, sistem yöneticilerine kimlik doğrulama olaylarını izleyerek potansiyel güvenlik açıklarını değerlendirmelerinde yardımcı olur.

Sonuç

Kerberos protokolü, ağ üzerindeki güvenliği artıran karmaşık bir yapıya sahiptir. AS ve TGS süreçlerinin detaylı bir şekilde anlaşılması, bu protokolün etkin bir şekilde yönetilmesine ve sorunların daha hızlı çözülmesine olanak sağlar. Bu yazıda sunulan teknik detaylar ve yapılandırmalar, Kerberos sisteminin daha iyi anlaşılmasını sağlamak amacıyla hazırlanmıştır.

Risk, Yorumlama ve Savunma

Risk Değerlendirmesi

Kerberos protokolü, birçok organizasyonda kimlik doğrulama sürecinin temelini oluşturmaktadır. Ancak, bu yapı içerisinde meydana gelebilecek risklerin ve zayıflıkların değerlendirilmesi, siber güvenlik açısından kritiktir. Ana risk unsurları arasında yanlış konfigürasyonlar, bilet yönetim hataları ve saldırganların kimlik bilgilerini ele geçirme girişimleri bulunur. Özellikle KDC (Key Distribution Center) üzerinde gerçekleşebilecek bir zafiyet, sistem içerisindeki tüm kimlik doğrulama süreçlerini etkileyebilir.

KDC'nin rolü, kullanıcıların kimlik doğrulamasını sağlamak ve servis biletlerini dağıtmaktır. Eğer bir saldırgan bu sistem üzerinde kontrol elde ederse, TGT (Ticket Granting Ticket) oluşturma ve servis biletlerini geçersiz kılma yetkisine de sahip olacaktır. Bu tür bir saldırı, tüm ağa erişim sağlayabilir ve kritik sistemlerin zarara uğramasına neden olabilir.

Yanlış Yapılandırma ve Zafiyetler

Yanlış konfigürasyon, Kerberos protokolü içerisinde güvenlik açıklarına yol açabilir. Örneğin, KDC'nin yanlış bir SPN (Service Principal Name) ile yapılandırılması, servis bileti taleplerinin hatalı yönlendirilmesine sebep olabilir. Bu durum, istenmeyen sonuçlara yol açarak kullanıcının yetkilendirilmediği bir servise erişmesine neden olabilir.

Bunun yanı sıra, biletlerin sürelerinin yönetimi de kritik bir unsurdur. Kerberos biletleri varsayılan olarak on saat geçerlidir. Eğer bilet süresi yönetiminde bir yanlışlık yapılırsa, kullanıcılar yetkisiz hizmetlere erişim elde edebilir veya sürekli bir sisteme bağlılık sağlayamazlar.

Sızan Veri ve Servis Tespiti

Siber saldırganlar, Kerberos protokolünü hedef alarak çeşitli veri türlerini ele geçirebilir. Özel kullanıcı bilgileri, grup üyelikleri ve önemli yetkilere sahip kullanıcı hesapları, Kerberos biletleri içerisinde saklanmaktadır. Bu nedenle, bu biletlerin sızdırılması durumunda, aynı zamanda kullanıcıların erişim yetkileri de tehlikeye girebilir.

Ayrıca, servis tespiti yapan bir saldırgan sistemdeki hangi servislere erişim sağlandığını analiz edebilir. Kerberos üzerinden iletişim, genellikle TCP/UDP 88 ve UDP 464 portları üzerinden gerçekleştiğinden, bu portları izlemek ve analiz etmek saldırganların hangi servislere erişim sağlamaya çalıştığını anlamak açısından önemlidir.

Savunma Önlemleri ve Zırh Oluşturma

Kerberos protokolünün güvenliğini artırmak ve zafiyetlere karşı direnç kazanmak için bir dizi önlem almak faydalı olacaktır:

  1. Güvenli Yapılandırma: Kerberos sunucularının yapılandırmalarının titizlikle gözden geçirilmesi ve varsayılan ayarların değiştirilmesi. Özellikle, KDC'nin güncel ve güvenli bir şekilde yapılandırıldığından emin olunmalı.

  2. Zaman Senkronizasyonu: Biletlerin geçerlilik sürelerinin yönetimi için istemci ve sunucu arasında maksimum 5 dakikalık bir zaman senkronizasyonu sağlamak. Bu, biletlerin gereksiz yere geçersiz olmasını önler.

  3. Güvenli Kimlik Yönetimi: Kullanıcı hesaplarının güvenliği için güçlü parolalar ve çok faktörlü kimlik doğrulama yöntemlerinin uygulanması. Krbtgt hesabı gibi kritik hesapların sürekli izlenmesi ve korunması.

  4. Log Takibi ve İzleme: Windows Event ID 4768 gibi kritik olay kayıtlarının izlenmesi. Bu tür kayıtlar, TGT biletlerinin başarıyla alınıp alınmadığını gösterebilir ve potansiyel saldırılar hakkında erken uyarı sağlar.

  5. Erişim Denetimi: Servislere erişimi yalnızca gerekli olan kullanıcılara sınırlamak. Aşırı yetkilendirme, sistemin zarara uğramasına neden olabilir.

Sonuç Özeti

Kerberos protokolü, güçlü bir kimlik doğrulama yöntemi sağlasa da, yapılandırma hataları ve yönetim eksiklikleri gibi risklerle de karşı karşıyadır. Saldırganların erişim yetkilerini kullanarak sistem üzerinde kalıcı izler bırakma ihtimali, dikkatli bir izleme ve sağlam savunma önlemleri gerektirir. Organizasyonlar, Kerberos bileşenlerinin güvenliğini sağlamak için sürekli bir değerlendirme süreci uygulamalıdır.