Kerberos nedir?
Kerberos, ağ üzerinde kimlik doğrulama protokolüdür. Bu protokol, kullanıcıların bir ağa erişimini kontrol etmek için kimliklerini doğrulamalarını sağlar. Kerberos, ilk olarak MIT (Massachusetts Institute of Technology) tarafından geliştirilmiştir ve birçok kuruluş tarafından desteklenmiştir. Açık kaynak kodlu bir protokoldür. Açık metin parolasını paylaşmadan güvenli olmayan bir ağda şifreli ve güvenli kimlik doğrulama sağlamak için geliştirilmiştir.
Kerberos, kullanıcıların kimliklerini doğrulamak için şifrelerini kullanır. Bu şifre, ağa bağlı bir veri tabanında saklanır. Kullanıcıların şifresi ayrıca, iletişim kuracakları kaynaklara göre şifrelenir.
Kerberos, ağ üzerindeki birçok kaynağa otomatik olarak erişim sağlayabilen tek bir oturum açma işlemi oluşturarak kullanıcılara kolaylık sağlar. Ticket temelli bir sistemdir. Ağ üzerinde gerçekleşen trafikte parolalar değil ticketlar kullanılır.
Microsoft, kerberos protokolü üzerinde çeşitli birkaç özelleştirmeler yaptıktan sonra Windows Server 2000 ve sonrasında varsayılan olarak kullanıma sunmuştur. Microsoft Active Directory ortamında nesnelerin (Kullanıcılar, Bilgisayarlar) kaynaklara (Dosya paylaşımı, Uzak masaüstü erişimi vb.) erişimi sırasına kimlik doğrulaması yapmak için kullanılır.
Kerberos protokolünün adımları
- Kullanıcı, bir kaynağa erişmek istediğinde kerberos istemcisine kimliğini ve parolasını girer.
- Kerberos istemcisi, kullanıcının kimliğini kerberos sunucusuna(KDC) doğrulamak için bir TGT(Ticket Granting Ticket) isteği gönderir.
- Kerberos sunucusu, kullanıcının kimliğini doğrulamak için bir AS_REQ (Authentication Service Request) bileti oluşturur ve bunu kerberos istemcisine gönderir.
- Kerberos istemcisi, AS_REP (Authentication Service Response) içeren bir TGT bileti alır. Bu TGT bileti, kullancının kimliğini doğrulamakta kullanılır ve belirli kaynaklara erişmek için daha küçük biletlere dönüştürülebilir.
- Kullanıcı, belirli bir kaynağa erişmek istediğinde kerberos istemcisine erişim isteği gider.
- Kerberos istemcisi, kullanıcının TGT’si ile TGT_REQ(Ticket Granting Service Request) bileti oluşturur ve bunu kerberos sunucusuna iletir.
- Kerberos sunucusu, kullanıcının kimliğini doğrular ve belirlenen kaynak için bir TGS_REP(Ticket Granting Service Response) bileti oluşturur.
- Kerberos istemcisi, TGS_REP bileti ile belirlenen kaynağa erişim talebi yapar.
- Kaynak sunucusu, TGS_REP bileti içindeki bilgileri kullanarak kullanıcıyı doğrular ve kaynağa erişim izni verir.
AS_REP Roasting Saldırısı Kerberosun Hangi Aşamasında Gerçekleşir?
Bu saldırıda, saldırganın belirlediği önceden doğrulama gerektirmeyen kullanıcı hesaplarını hedef alır. Bu hesaplar genel olarak sisteme hizmet eden ya da servis hesapları olur. Önceden doğrulama gerektirmeyen kullanıcı hesabı, şifreli AS_REP bileti talep edilerek kullanıcının şifre hash’ini elde etmenin mümkün olduğu hesaplar anlamına gelir.
Saldırgan, hedeflenen kullanıcı hesabı için bir AS_REP talebi gönderir ve KDC’den gelen yanıtta şifrelenmiş bilet bulunur. Saldırgan bu bileti çevrimdışı bir ortamda(John, Hashcat vs.) kırarak şifre hash’ini başarılı bir şekilde çıkarır. Saldırgan, bu şifre hash’i ile hedeflenen kullanıcı hesabına, ağdaki diğer sistemlere ve kaynaklara erişme hakkı kazanır.
AS_REP Roasting Saldırısı nasıl gerçekleştirilir?

Do not require kerberos preauthantication kutucuğu işaretlendiğinde kreberos ön kimlik doğrulama devre dışı bırakılabilmektedir. Bu şekilde AS_REP Roasting saldırısı yapabilmek için bir zafiyet ortaya çıkmış oluyor.
Saldırgan preauthantication ayarı devre dışı bırakılmış kullanıcıları tespit ederek, bu kullanıcılara ait AS-REP paketlerini KDC üzerinden başarılı bir şekilde alabilmektedir. Aldığı paketi hashcat, john the ripper vs. araçları ile çevrimdışı kaba kuvvet saldırısı gerçekleştirerek kullanıcı parolalarını açık bir şekilde elde edebilmektedirler.
Kullanılan komut :.\rubeus.exe asreproast \user:sbarlow

Rubeus, AD ortamında saldırı,yetkisiz erişimleri tespit etmekte ve sömürmekte sıklıkla kullanılan bir araçtır. Rubeus, özellikle AS_REP Roasting saldırılarını tespit etmek için tasarlanmıştır.
AS_REP Roasting Zafiyeti Nasıl Giderilir?
Güçlü parola politikası
AS_REP Roasting saldırılarına karşı alınması gereken önlemlerden biri şifreler için ayrıntılı parola politikalarını kullanmaktır. Kuruluşların periyodik olarak sık sık değiştirilen, uzun ve karmaşık (25 veya daha fazla karakter) parolaları kullanıcılar için zorunlu hale getirilmelidir. Parolaların uzun ve karmaşık olması bu saldırıların en aza indirgenmesini sağlamak. Olası bir saldırıda hash bilgisi alınsa bile hash’in kırılma süresini oldukça uzatır.
Ön kimlik doğrulaması gerektirmeyen hesapların tespiti
AS_REP Roasting saldırılarına karşı alınası gereken önlemlerden biri de kerberos ön kimlik doğrulaması gerektirmeyecek şekilde ayarlanmış tüm kullanıcı hesaplarını tespit edip ardından bu hesaplarda ilgili ayarı etkinleştirmektir. Bu komut, ön kimlik doğrulaması aktif olmayan hesapları bulacaktır:
Get-ADUser -Filter ‘useraccountcontrol -band 4194304’ -Properties useraccountcontrol | Format-Table name

PAM(Privilege Access Management)
PAM, kulanıcıların gerektiği zaman gerektiği kaynağa erişebilmesini sağlar. Bu da saldırganların daha düşük erişimli hesaplardan daha yüksek erişimli hesaplara yükselmelerini önleyebilir.
Siber Güvenlik Farkındalık Eğitimleri Vermek
Kullanıcılarınızı AS_REP roasting saldırısı gibi potansiyel saldırılar konusunda bilinçlendirin. Bu sayede kullanıcılar dikkatsizlik ya da bilinçsizlik nedeniyle saldırganların taktiklerine karşı savunmasız olmalarını önleyebillir.
AS_REP Roasting Nasıl Tespit Edilir?
Pcap dosyası içinde
Normal bir AS_REP isteğininin bağlantılarında “Ticket Encryption Type” olarak windowsun belirttiği “Encryption Type” değerleri görünür. AS_REP Roasting saldırısı yapılan kullanıcılarda sadece “0XFFFFFFFF” değeri görünür.
Normal istekte “Service_Name” olarak loglar içerisinde “krbtgt” servisi geçmektedir. Saldırı yapılan kullanıcılarda ise “krbtgt/windomain.local” değeri geçmektedir.
Event Logları arasında
Event log, işletim sistemi, uygulamalar ve diğer yazılım bileşenleri tarafından üretilen olayların kaydedildiği bir veritabanıdır. Bu olaylar, sistem durumunu, hata ve uyarı mesajlarını, kullanıcı işlemlerini ve diğer önemli bilgileri içerir.
Event loglar, ağ güvenliği için de önemlidir. Bir ağda kullanıcı aktivitelerini izlemek, sistem sorunlarını tanımlamak ve olası güvenlik tehditlerini tespit etmek için kullanılabilirler. Bu nedenle, birçok güvenlik aracı, olay günlüklerini izleyen ve analiz eden özellikler içerir.
Event logları arasında birden fazla AS_REP oluşma isteği tespit edildiğinde, saldırının gerçekleşmiş olabileceğine işarettir.
Event logları arasında 4768 ID’li Tgt Request logu içerisinde Ön kimlik doğrulama olmadan yapılan istekler denetlenip saldırı tespit edilebilir.
Ayrıca bu yapılan isteklerin zayıf şifreleme politikası ile yapılmış mı bunun kontrolü de sağlanabilir.
UBA (Kullanıcı Davranış Analizi)
UBA araçları, kullanıcıların normalden farklı davranışlarını analiz edip uyarılar göndererek AS_REP roasting saldırısını tespit edebilir.
KAYNAKÇA;
https://serdaltarkanaltun.com/active-directory-red-team-senaryolari-1/
https://jsecurity101.medium.com/ioc-differences-between-kerberoasting-and-as-rep-roasting-4ae179cdf9ec
https://www.qomplx.com/blog/qomplx-knowledge-what-is-as-rep-roasting/
– https://forestall.io/blog/en/kerberos-protocol-security-1/
– https://ldapwiki.com/wiki/Kerberos%20Pre-Authentication
– https://www.kerberos.org/software/tutorial.html
– https://harmj0y.medium.com/roasting-as-reps-e6179a65216b
– https://attack.mitre.org/techniques/T1558/004/
– https://blog.netwrix.com/2022/11/03/cracking_ad_password_with_as_rep_roasting/
– https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat
Bir yanıt yazın