Golden Ticket Attack
Last updated
Last updated
Golden Ticket mövzusuna keçməzdən əvvəl Kerberos autentifikasiyasını yadımıza salaq:
İstifadəçi Key Distribution Center'ə (KDC) öz NTLM hash'i və vaxt damğası(timestamp) ilə AS-REQ(Authentication Service Request) edir. DC məlumatı yoxlayır və TGT'ni istifadəçiyə göndərir. Bu TGT sadəcə DC'də olan KRBTGT(Key Distribution Center Service Account Ticket-Granting Ticket) hesabının parol hash'i ilə imzalanır. TGT etibarlıdırsa, Domen Nəzarətçisi (DC) istifadəçi girişi üçün tələb olunan xidmətin NTLM heşindən istifadə edərək Ticket Granting Service'ə (TGS) şifrəli bir cavab göndərir. Daha sonra istifadəçi bu TGS'i giriş üçün xidmətə təqdim edir, TGS yoxlanılır və hər şey doğrudursa, istifadəçiyə giriş imkanı verilirş.
İndi Golden Ticket hücumuna keçə bilərik.
Qızıl Biletlər saxta TGT'lərdir. Bu o deməkdir ki, biz yuxarıdakı diaqramın 1 və 2-ci addımlarını keçərək Domain Controller'ə autentifikasiya etməyə çalışırıq. Səlahiyyətləri yüksək bir hesabın etibarlı TGT'sinə malik olmaqla, demək olar ki, istədiyimiz hər bir xidmət üçün TGS tələb edə bilərik. Qızıl bileti saxtalaşdırmaq üçün bizə KRBTGT(Key Distribution Center Service Account Ticket-Granting Ticket) hesabının parol hash'i lazımdır ki, istədiyimiz istifadəçi hesabı üçün TGT'i imzalayaraq etibarlı edə bilək.
Kerberos prosesinin bu mərhələsində həyata keçirilən injeksiya hesabın parol heşinə ehtiyacı aradan qaldırır. KRBTGT hash'i ilə imzalanmış TGT, məzmunundan asılı olmayaraq etibarlı sayılır. TGT'i manipulyasiya etməklə, deaktiv edilmiş və ya mövcud olmayan hesablar daxil edə, biletin etibarlılığını illərlə uzada və davamlılığı(persistence) təmin edə bilərik. Golden Tickets tərəfindən həyata keçirilən bu manipulyasiya, hətta smart kart autentifikasiyasından yan keçə və gizlilik üçün domenə qoşulmayan maşınlarda icra oluna bilər.
Golden Ticket yaratmaq üçün bizim ilk növbədə krbtgt hash dəyərinə ehtiyacımız var. Aşağıdakı PoweShell əmri Mimikatzın lsadump::lsa modulundan istifadə edərək DC'dən Local Secuity Authority(LSA) sekretləri dump edir:
Daha sonra aşağıdakı əmrdən istifadə edərək Golden Ticket yarada bilərsiniz:
/user:Administrator - Təqlid etmək istədiyimiz istifadəçi adı. Etibarlı istifadəçi olmasına ehtiyac yoxdur.
/domain - Bilet yaratmaq istədiyimiz domenin FQDN'i.
/id - İstifadəçinin RID'si. Defolq olaraq, Mimikatz standart Administrator hesabı olan RID 500-dən istifadə edir.
/sid -Bilet yaratmaq istədiyimiz domenin SID'i.
/krbtgt -KRBTGT hesabının NTLM hashı.
/endin - Biletin ömrü. Varsayılan olaraq, Mimikatz 10 il etibarlı olan bilet yaradır. AD-nin defolt Kerberos siyasəti 10 saatdır (600 dəqiqə)
/renewmax -Biletin yenilənmə ilə maksimum ömrü. Varsayılan olaraq, Mimikatz 10 il etibarlı olan bilet yaradır. AD-nin defolt Kerberos siyasəti 7 gündür (10080 dəqiqə)
/ptt - Bu parametr Mimikatz'a bileti birbaşa sessiyaya yeritməyi bildirir, yəni istifadəyə hazırdır.
Praktiki nümayiş: (Laba buradan keçid edə bilərsiniz)
krbtgt hash'i və sid'i əldə etmək üçün aşağıdakı əmrdən istifadə edirəm:
Aşağıdakı əmrdən istifadə edərək Golden Ticket yaradıram:
Bilet uğurla yaradılır!