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