Memahami Serangan Kerberos Menggunakan Rubeus. Bagian 2





Halo!



Ini adalah bagian kedua dari artikel tentang kemampuan alat serangan Kerberos, Rubeus. Yang pertama bisa dibaca di sini . Kali ini kita akan melihat bagaimana menggunakan alat ini dimungkinkan untuk menerapkan serangan berikut:




  • Overpass The Hash / Pass The Key (PTK);
  • Pass Tiket;
  • Delegasi tanpa kendala;
  • Delegasi Terbatas.


Sudah banyak yang ditulis tentang mengapa serangan ini mungkin terjadi, mekanisme implementasi apa yang ada, prinsip apa yang mendasari karya Kerberos (misalnya, rekan dari Jet Infosystems menerbitkan artikel yang bagus dengan analisis ), jadi dalam artikel saya saya akan fokus pada implementasi serangan dengan menggunakan Rubeus.



Selain "tindakan" untuk melakukan serangan dan interaksi dengan Kerberos, Rubeus memiliki hal-hal kecil yang menyenangkan: berdasarkan kata sandi secara jelas, ia dapat menghitung hash NTLM, yang terkadang sangat nyaman dan berguna.







Ini adalah sedikit penyimpangan selesai, kembali ke bagian utama.

Bangku uji untuk melakukan serangan tetap tidak berubah sejak publikasi bagian pertama artikel .



Overpass Hash / Pass The Key (PTK)



β€”



Pass-the-hash β€” . , NTLM LM.

Tetapi bagaimana jika otentikasi NTLM atau LM dinonaktifkan di jaringan dan hanya otentikasi Kerberos yang digunakan, dan Anda memiliki hash kata sandi? Di sinilah Overpass-the-hash berperan - menggunakan hash kata sandi pengguna yang ada, Rubeus dapat meminta tiket TGT untuk akun ini.



Jadi pengguna domain Barsik memutuskan untuk mempelajari masalah keamanan informasi, di suatu tempat ia mendapat hash kata sandi dari administrator domain ADadmin, mengunduh Rubeus, membaca artikel pintar dan mencoba mempraktikkannya.







Kami melihat bahwa ia tidak memiliki tiket yang di-cache, serta tidak memiliki akses ke pengontrol domain DC-16.meow.local, tetapi kemudian Barsik meluncurkan Rubeus dengan "aksi" asktgtdan argumen /domain, /user, /rc4, /pttuntuk mendapatkan tiket TGT yang valid berdasarkan hash dari kata sandi akun ADadmin, argumen/pttakan segera mengunggah tiket yang diterima ke sesi pengguna Barsik saat ini.







Tiket diterima dan diunggah, Barsik mencoba masuk ke pengontrol domain sebagai Adadmin lagi.







Dan kali ini dia berhasil melakukannya.



Pass The Ticket (PTT)



Serangan ini mirip dengan Overpass-the-hash / Pass-the-key, penyerang mencoba untuk mendapatkan tiket pengguna domain (lebih disukai memiliki hak maksimum dalam domain) dan memuatnya ke dalam sesi saat ini. Salah satu cara untuk mendapatkan tiket TGT adalah dengan membuang tiket secara lokal pada mesin domain saat ini dari proses lsass.exe(Server Otentikasi Keamanan Lokal). Untuk melakukan ini, Anda harus memiliki hak administrator lokal, atau lebih tepatnya NT AUTHORITY / SYSTEM. Rubeus dapat membuang tiket yang disimpan di lsass menggunakan tindakan dump, dan tindakan triage akan menunjukkan tiket mana yang saat ini disimpan dalam sistem.











Rubeus membongkar tiket dari yang lsassdisandikan base64, sementara alat itu sendiri memiliki catatan tentang cara menyimpan base64tiket yang diterima .kirbi.







Mari simpan dan impor tiket ke sesi pengguna saat ini.







Seperti yang dapat Anda lihat dari tangkapan layar, tiket ADadmin berhasil dimuat dan kami dapat melihat konten drive C pada pengontrol domain DC-16.meow.local atas nama ADadmin.



Delegasi tanpa kendala



Delegasi Tanpa Batas adalah hak istimewa domain yang dapat diberikan kepada pengguna atau akun komputer. Ini memungkinkan akun untuk mengautentikasi ke layanan di jaringan atas nama akun lain.



Sekarang saatnya untuk sedikit mengubah bangku tes dan mengaktifkan delegasi tidak terbatas: mari berikan hak istimewa delegasi tidak terbatas ke komputer BARSCOMP.







Salah satu tahapan pengujian keamanan domain Active Directory adalah mencari akun dengan delegasi diaktifkan, biasanya Powerview digunakan untuk tujuan ini , tetapi Anda juga dapat secara manual menggunakan modul ActiveDirectory standar.







Untuk melakukan serangan ini, saya akan menggunakan Bug Printeryang dijelaskan secara rinci oleh Lee Christensen dari SpecterOps. Setiap pengguna yang diautentikasi dapat terhubung dari jarak jauh ke server cetak pengontrol domain dan meminta pembaruan untuk pekerjaan cetak baru dengan menyuruh mereka mengirim pemberitahuan ke akun delegasi yang tidak dibatasi. Lee Christensen menulis aplikasi SpoolSample , yang mengakses layanan cetak CD menggunakan protokol MS-RPRN.



Di komputer tempat serangan akan dilakukan (BARSCOMP.meow.local), Anda harus memulai Rubeus dalam mode pemantauan menggunakan "aksi" monitoring. Mode ini membutuhkan hak istimewa NT ATHORITY / SYSTEM dan mendengarkan tiket TGT / TGS baru dalam proses lsass. Saya akan menetapkan dengan argumen /interval:1(dalam detik) interval polling lsass untuk tiket baru, dan dengan argumen/filteruser:DC-16$Saya akan menetapkan filter untuk hanya menampilkan tiket DC-16 $.







Rubeus sedang berjalan, secara paralel di sesi lain, saya meluncurkan SpoolSample.exe dengan argumen dc-16.meow.local(mesin yang diserang) dan barscomp.meow.local(host "mendengarkan" kami).







Mari kita lihat apa yang β€œdipantau” Rubeus.







Menangkap tiket akun pengontrol domain TGT. Sekarang Anda bisa, menggunakan serangan Pass-the-ticket yang sudah dikenal, mengimpor tiket dan menggunakan mimikatz untuk melakukan serangan DCSync untuk mendapatkan hash NTLM dari akun krbtgt (dan seperti yang Anda sudah tahu dari bagian pertama artikel, hash dari akun ini dapat digunakan untuk membuat Tiket Emas dan pengambilalihan penuh domain AD).





Harap dicatat bahwa Rubeus memahami tiket baik sebagai file .kirbi dan sebagai string yang disandikan base64.

Delegasi yang dibatasi



Jika penyerang berhasil mengkompromikan akun pengguna atau komputer di mana delegasi terbatas diaktifkan, maka ia dapat menyamar sebagai pengguna domain dan mengotentikasi ke layanan yang diizinkan delegasi.



Buat pengguna domain baru Cadangkan dengan kata sandi B @ ckup1234, berikan SPN untuk layanan cif pada pengontrol domain.







Anda sekarang dapat mengatur akun ini untuk dapat mendelegasikan layanan ldap dan cif ke DC-16.meow.local domain controller.







Anda juga dapat menggunakan Powerview atau modul ActiveDirectory untuk menentukan akun mana yang diizinkan delegasi terbatas.







Mengetahui kata sandi atau hash NTLM dari akun meow.local \ Backup, Anda dapat menggunakan Rubeus untuk meminta tiket TGT.







Sekarang, menggunakan "aksi" s4u di Rubeus, Anda dapat meminta TGS untuk pengguna yang diizinkan otentikasi pada layanan cifs \ dc-16.meow.local (misalnya, administrator domain ADadmin).







Di sini saya memasukkan tiket yang saya terima sebelumnya untuk akun Cadangan; / peniru pengguna - pengguna yang haknya ingin saya dapatkan; / domain - domain tempat semua hal terjadi; / msdsspn / asltservice - layanan yang membutuhkan TGS; / ptt - segera mengimpor tiket yang diterima ke sesi saat ini.



Inilah yang terjadi di Rubeus:







Di sini Anda dapat melihat bahwa dengan delegasi terbatas, 2 ekstensi Kerberos disertakan: ini adalah S4U2self dan S4U2proxy.



S4U2self memungkinkan kepala layanan untuk meminta TGS FORWARDABLE khusus untuk mereka sendiri atas nama pengguna tertentu. Ini diperlukan agar tiket ini nantinya dapat digunakan oleh ekstensi S4U2proxy.



S4U2proxy memungkinkan penelepon untuk menggunakan tiket khusus ini untuk meminta TGS pengguna untuk layanan yang didelegasikan kepada delegasi (dalam hal ini cifs \ dc-16.meow.local). Anda dapat membaca lebih lanjut tentang ini di sini dan di sini .



Saat ini, Rubeus telah menerima tiket final dan mengimpornya ke sesi saat ini.







Periksa apakah kita dapat melihat drive C pada pengontrol domain dengan tiket yang kami terima.







Ya, semuanya berjalan dengan baik.



Ini menyimpulkan ulasan saya tentang alat ini, secara umum saya menyukainya, bagus dan mudah digunakan, dengan fungsionalitas yang baik. Saya harap setelah membaca artikel-artikel ini, Anda akan menggunakannya.



Terima kasih atas perhatiannya, semuanya baik-baik saja, jangan sakit!



All Articles