Kerberos Attacks
Kerberos Nedir?
Kerberos, servislerin her kullanıcının kimlik bilgilerini bilmek zorunda kalmasını önlemek için kimlik doğrulamayı merkezileştirmek için kullanılır.
Kullanıcıların ağ üzerinden bir şifre göndermeden hizmetlere kimlik doğrulaması yapmasına olanak tanır. Bu, MITM saldırılarına karşı koruma sağlar.

Username Enumeration
As-Req isteklerini kullanarak domaindeki kullanıcıların bir listesini bulabiliriz.
Bu yöntem smb'den çok daha sessizdir ve hızlıdır.
Password Spraying
Bu saldırı ile bir kullanıcı listesinde sabit bir parolayı deneyebiliriz.
Domain'de çok fazla dikkat çeker.
AS-REPRoasting
Bir domain hesabı veya hesap listesi gerekir.
DONT_REQ_PREAUTH (Do not require Kerberos preauthentication) özelliği açık olan hesaplar etkilenir.
Parolaların kırılabilir olması gerekir.
Windowsta aşağıdaki şekilde yapılır.
Linuxta aşağıdaki şekilde yapılır
Kerberoasting
Eğer servis bir kullanıcı hesabı ile çalışıyorsa parolası zayıf olabilir ve kırılma ihtimali vardır.
Bir domain hesabı veya as-reproastable bir hesabın adı ve bir SPN gerekir.
Windowsta aşağıdaki şekilde yapılır
Unconstrained Delegation Computer
Eğer bir kullanıcı, Unconstrained Delegation etkinleştirilmiş bir sunucuda bir TGS bileti talep ederse, kullanıcının TGT'si, TGS biletinin içine gömülür ve bu bilet daha sonra sunucuya gönderilir.
Sunucu bu bileti bellekte saklar ve ardından domaindeki diğer isteklerde o kullanıcıymış gibi davranabilir.
Eğer Unconstrained Delegation etkin değilse, yalnızca kullanıcının TGS bileti bellekte saklanır. Bu durumda, makine ele geçirilirse, bir saldırgan yalnızca TGS biletinde belirtilen kaynağa, o kullanıcının yetkilerinde erişebilir.
Unconstrained Delegation olan bir cihaza oturumumuz olmalı.
Aynı zafiyeti doğrudan DC TGT'sini ele geçirmek için kullanabiliriz.
Unconstrained Delegation User
Aynı yetki bir kullanıcıya da verilebilir.
Burada Unconstrained Delegation olan hesabın SPN'nindeki makinaya oturum açan herkes TGS bileti içine TGT kaydını da ekler. Bu nedenle kullanıcının yetkilerini istediğimiz gibi kullanabiliriz.
Bu saldırıyı için 2 şart sağlanmalı.
Unconstrained Delegation yetkisi olan bir kullanıcı hesabı ele geçirilmiş olmalı
Ele geçirdiğimiz kullanıcı üzerinde GenericWrite yetkisi olan bir hesap ele geçirmiş olunmalı. Bu yetki ile kullanıcı hesabına SPN ekleniyor.
Constrained Delegation (S4UProxy)
Bir hesabın veya bilgisayarın oturum açan kullanıcının yetkileri ile servislere bağlanmasını sağlar fakat sadece belirlenmiş bir cihazdaki belirli bir servis için bu yetki kısıtlanır.
Aşağıdaki yöntemi kullanarak hedef bilgisayardaki belirlenmiş servise değil diğer servislere de bağlanabiliriz.
Windows'ta aşağıdaki şekilde yapılır.
Linux'ta aşağıdaki şekilde yapılır.
Resource-based constrained delegation (RBCD)
Bir hesabın veya bilgisayarın oturum açan kullanıcının yetkileri ile servislere bağlanmasını sağlar fakat sadece belirlenmiş bir cihazdaki belirli bir servis için bu yetki kısıtlanır.
Constrained Delegation'dan tek farkı bu yetkinin hizmet hesabına veya bilgisayarına tanımlanması yerine erişilmesi gereken servise tanımlanmasıdır.
Saldırı için 2 koşul sağlanmalı
Bir bilgisayardaki msDS-AllowedToActOnBehalfOfOtherIdentity özelliğini değiştirme ayrıcalıklarına sahip bir kullanıcı veya gruba erişim. Bu genellikle, kullanıcının bir bilgisayar nesnesi üzerinde GenericWrite, GenericAll, WriteProperty veya WriteDACL ayrıcalıklarına sahip olması durumunda mümkündür.
SPN'ye sahip başka bir nesnenin kontrolü.
Aşağıdaki komutlar ile windowsta yapılır.
Aşağıdaki komutlar ile linuxta yapılır.
Makine oluşturma yetkimiz yoksa aşağıdaki yöntem kullanılır
Golden Ticket
Golden Ticket saldırısı, saldırganların krbtgt hesabının parola karmasını kullanarak TGT'leri taklit etmesini ve imzalamasını sağlar.
Bu yöntem için Domain Controller içindeki krbtgt hesabının NT hashi gerekir.
Windowsta aşağıdaki şekilde yapılır
Linuxta aşağıdaki şekilde yapılır
Silver Ticket
Silver ticket, saldırganın bir makine hesabının NT hashini kullanarak bir sahte bir TGS oluşturmasını sağlar.
Golden ticket'tan daha gizlidir çünkü her erişimde domain controller'a gidilmesi gerekmez.
Windowsta aşağıdaki şekilde yapılır.
Eğer gizlice bu servise bağlanmak istersek Sacrificial Process kullanabiliriz
Linuxta aşağıdaki şekilde yapılır
Pass-the-ticket
Bu saldırı için makinede local administrator yetkisinde olmalıyız.
Bu yöntem ile makinenin hafızasında bulunan TGS biletlerini kullanabiliyoruz.
Servis SPN'leri
CIFS – Common Internet File System (SMB)
TERMSRV – Terminal Services (Remote Desktop bağlantıları)
WSMAN – Windows Remote Management (WinRM, PowerShell remoting)
RPCSS – Remote Procedure Call (RPC endpoint mapper)
HOST – Host service (CIFS+TERMSRV+WSMAN+WMI+RPCSS)
MSSQLSvc – Microsoft SQL Server
HTTP – HyperText Transfer Protocol (web sunucuları, IIS vb.)
LDAP – Lightweight Directory Access Protocol (Active Directory iletişimi)
SMTP – Simple Mail Transfer Protocol (e-posta gönderimi)
IMAP – Internet Message Access Protocol (e-posta alma)
POP – Post Office Protocol (başka bir e-posta alma protokolü)
Last updated