Perendaman dalam AD: kami menganalisis serangan lanjutan pada Microsoft Active Directory dan cara mendeteksi mereka



Gambar: Pexels

Selama empat tahun terakhir, tidak ada satu pun Black Hat atau DEF CON yang tanpa laporan tentang serangan pada Microsoft Active Directory. Peserta berbicara tentang vektor baru dan penemuan mereka, tetapi jangan lupa tips tentang cara mendeteksi dan mencegahnya. Pada artikel ini, kita akan melihat cara-cara populer untuk menyerang AD dan memberikan rekomendasi yang akan membantu melindungi mereka.

Enam Serangan AD Tidak Dapat Anda Abaikan


Banyak produsen perangkat lunak pemantauan keamanan sudah mendukung berbagai teknik serangan dalam produk mereka. Mari kita pertimbangkan beberapa di antaranya.

Pass-the-hash


Teknik ini dimungkinkan karena fitur arsitektur protokol otentikasi NTLM, yang dikembangkan oleh Microsoft pada tahun sembilan puluhan abad terakhir. Untuk masuk ke host jarak jauh, kata sandi hash digunakan, yang disimpan dalam memori komputer dari mana otentikasi berlangsung. Dengan demikian, dapat diekstraksi dari sana.

Mimikatz


Untuk pengoperasian Pass-the-Hash yang mudah, peneliti Prancis Benjamin Delpy (Benjamin Delpy) pada 2014 mengembangkan utilitas mimikatz. Itu memungkinkan membuang kata sandi teks-jelas dan hash NTLM dari memori.

Kekuatan kasar


Jika penyerang tidak memiliki cukup kredensial yang diekstraksi dari satu host, ia dapat menggunakan teknik menebak kata yang kasar tapi efektif.

pengguna / domain bersih


Di mana mendapatkan kamus nama pengguna untuk melakukan Brute Force? Setiap anggota domain dapat menggunakan perintah pengguna / domain bersih, yang mengembalikan daftar lengkap nama pengguna dari AD.

Kerberoasting


Jika domain menggunakan Kerberos sebagai protokol otentikasi, penyerang bisa menggunakan serangan Kerberoasting. Setiap pengguna yang diautentikasi dalam domain dapat meminta tiket Kerberos untuk mengakses Layanan Pemberian Tiket. TGS dienkripsi dengan hash kata sandi akun tempat layanan target dijalankan. Seorang penyerang yang dengan demikian memperoleh TGS sekarang dapat mendekripsi, mengambil kata sandi dan tidak takut memblokir, karena melakukannya secara offline. Setelah hasil yang sukses, itu menerima kata sandi dari akun yang terkait dengan layanan, yang sering istimewa.

Psexec


Setelah penyerang menerima kredensial yang diperlukan, ia dihadapkan dengan tugas mengeksekusi perintah dari jarak jauh. Utilitas PsExec dari suite Sysinternals sangat cocok untuk ini. Ini telah membuktikan dirinya di antara administrator TI dan di antara para penyerang.

Tujuh mantra serang untuk menangkap Active Directory


Kami sekarang beralih ke tujuh mantra, berkat penyerang yang dapat mengambil kendali penuh dari Active Directory. Kami akan membaginya menjadi empat tahap:

  1. Kecerdasan
  2. Promosi pada AD.
  3. Operasi
  4. Pengambilan domain.

Dalam diagram Anda dapat melihat keempatnya, serta teknik yang digunakan pada mereka. Mari kita bahas masing-masing secara terperinci.



Tahap 1. Eksplorasi


Mari kita mulai dengan tahap kecerdasan.

Powerview


Alat ini adalah bagian dari kerangka pengujian penetrasi PowerShell yang populer - PowerSploit . Ini juga bergantung pada alat BloodHound , yang membangun grafik hubungan objek dalam AD.



Representasi grafis dari hubungan objek direktori aktif

Bloodhound segera menyediakan fitur-fitur ini:

  • Temukan akun semua administrator domain;
  • temukan host tempat administrator domain masuk;
  • membangun jalur terpendek dari host penyerang ke host dengan sesi admin domain.

Paragraf terakhir memberikan jawaban untuk pertanyaan host mana yang perlu diretas ke penyerang untuk sampai ke akun admin domain. Pendekatan ini sangat mengurangi waktu untuk mendapatkan kontrol penuh atas domain.

PowerView berbeda dari utilitas bawaan untuk mengambil data tentang objek AD (misalnya, net.exe) yang menjalankannya pada protokol LDAP, bukan SAMR. Peristiwa 1644 dari pengontrol domain cocok untuk mendeteksi aktivitas ini. Pencatatan peristiwa ini diaktifkan dengan menambahkan nilai yang sesuai dalam registri:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostic\\15 Field Engineering = 5



Mengaktifkan Pencatatan Aktivitas LDAP 1644



Acara 1644 dengan Parameter Permintaan LDAP

Perlu memperhatikan fakta bahwa mungkin ada banyak peristiwa seperti itu, dan alternatif yang baik untuk deteksi peristiwa adalah deteksi lalu lintas, karena LDAP adalah protokol teks yang jelas, sehingga semua permintaan lalu lintas terlihat jelas.



Permintaan Pencarian LDAP (klik untuk membuka gambar dalam ukuran penuh)

Fitur penting lain dari kerangka kerja ini adalah bahwa ia ditulis dalam PowerShell murni dan tidak memiliki dependensi. Dan di sini, untuk deteksi, fitur audit lanjutan yang diperkenalkan di PowerShell versi 5 akan membantu kami. Peristiwa 4104 memperlihatkan isi skrip tempat kita dapat mencari nama fungsi khusus PowerView.



Pemindaian SPN


Itu dapat menggantikan nmap launcher penyerang. Setelah penyerang menemukan pengguna dan grup mana di dalam AD, untuk melengkapi gambar dia akan membutuhkan informasi tentang layanan apa yang tersedia.



Ini biasanya diselesaikan dengan memindai port dengan nmap. Tetapi sekarang informasi ini juga dapat diperoleh dari AD - sudah tersimpan di sana. Anda dapat melihat hasil dari permintaan seperti itu: mengembalikan apa yang disebut SPN (Nama Pokok Layanan). SPN terdiri dari serviceclass, unik untuk setiap jenis layanan, kemudian muncul hostname dalam bentuk FQDN dan untuk beberapa layanan - port.



Contoh SPN Daftar Lengkap Nama Pokok Layanan

Untuk mendeteksi Pemindaian SPN, audit acara LDAP juga datang untuk menyelamatkan.
Penting untuk dicatat bahwa pemindaian SPN memiliki keunggulan yang berbeda dibandingkan pemindaian nmap: kurang berisik. Saat menggunakan nmap, Anda harus terhubung ke setiap node dan mengirim paket ke kisaran port yang Anda tentukan. Dan untuk mendapatkan daftar SPN, Anda hanya perlu mengirim satu permintaan.

Enumerasi Sesi Jarak Jauh


Tugas penting bagi penyerang pada tahap pergerakan lateral adalah menentukan pengguna mana yang masuk ke mesin mana. Atau dia sudah memiliki kredensial pengguna (hash atau tiket Kerberos), dan dia mencari host tempat Anda dapat masuk tanpa hambatan. Atau dia sedang mencari host di mana ada sesi administrator domain langsung.

Kemudian skenario berhasil: berburu -> mengorbankan host mana pun -> Teluk Mimikatz -> untung.

Anda dapat menggunakan 2 acara untuk mendeteksi teknik ini. 4624 adalah logon yang berhasil pada sistem jarak jauh dengan logon tipe 3, serta acara akses jaringan IPC $, dan nuansanya adalah nama pipa - srvsvc. Mengapa sebuah pipa disebut dapat dipahami dari lalu lintas.



Klik untuk membuka gambar dalam ukuran penuh.

Di sisi kiri, di bingkai merah, akses ke SMB, lalu akses ke pipa - srvsvc. Pipa ini memungkinkan Anda untuk berinteraksi menggunakan Protokol Remote Layanan Server khusus. Ini memungkinkan host akhir untuk menerima berbagai informasi administratif darinya, termasuk Di antara pertanyaan ada satu yang disebut NetSessEnum. Sebagai hasil dari permintaan ini, daftar lengkap pengguna yang masuk ke sistem jarak jauh dengan IP dan nama pengguna dikembalikan.



Di MaxPatrol SIEM, kami melakukan deteksi berdasarkan kombinasi dari dua peristiwa ini dengan mempertimbangkan srvsvc akun. Dan deteksi lalu lintas serupa di PT Network Attack Discovery.

Tahap 2. Promosi AD


Jalan layang-hash


Reinkarnasi Pass-the-Hash. Melanjutkan tema gerakan lateral. Apa yang bisa dilakukan penyerang jika dia memiliki hash NTLM? Dia dapat melakukan serangan Pass-the-Hash - tetapi sudah ada deteksi padanya. Oleh karena itu, vektor baru ditemukan - serangan Overpass-the-Hash.

Protokol Kerberos dirancang khusus sehingga kata sandi pengguna dalam satu atau lain bentuk tidak ditransmisikan melalui jaringan. Untuk melakukan ini, pada mesinnya, pengguna memasukkan kata sandinya untuk mengenkripsi permintaan otentikasi. Sebagai tanggapan, Key Distribution Center (layanan khusus yang di-host pada pengontrol domain) mengeluarkan dia tiket untuk menerima tiket lainnya. Yang disebut Ticket-Granting Ticket (TGT). Sekarang klien dianggap telah diautentikasi, dan dalam waktu 10 jam ia dapat mengajukan permohonan tiket untuk mengakses layanan lain. Oleh karena itu, jika penyerang membuang hash pengguna yang merupakan anggota grup tepercaya dari layanan yang menarik baginya, misalnya, sistem atau basis data ERP, penyerang dapat mengeluarkan izin untuk dirinya sendiri dan berhasil masuk ke layanan yang menarik baginya.



Bagaimana cara mendeteksi


Jika penyerang menggunakan versi PowerShell dari mimikatz untuk serangan ini, maka penebangan badan skrip akan menyelamatkan. Karena Invoke-Mimikatz adalah garis yang sangat khas.





Atau 4688 adalah acara mulai proses dengan audit baris perintah lanjutan. Bahkan jika binar diganti namanya, maka pada baris perintah kita akan menemukan perintah yang sangat khas mimikatz.



Lalu lintas overpass-the-Hash dapat dideteksi berdasarkan anomali yang dihasilkan dari fakta bahwa Microsoft merekomendasikan penggunaan permintaan otentikasi AES256 untuk enkripsi domain saat ini. Dan mimikatz, ketika mengirimkan data permintaan otentikasi, ia mengenkripsi data menggunakan ARCFOUR yang sudah ketinggalan zaman.



Dalam lalu lintas, perbedaan lain diamati karena fitur mimikatz. Ini didasarkan pada perbedaan dalam paket sandi di domain yang sah dan apa yang dikirim mimikatz.

Tiket emas


Apa yang dapat dilakukan penyerang jika ia memiliki hash kata sandi dari akun khusus yang disebut krbtgt? Sebelumnya, kami mempertimbangkan kasus ketika pengguna dapat tidak memiliki hak pribadi. Sekarang kami sedang mempertimbangkan pengguna dengan hash kata sandi di mana benar-benar semua tiket untuk tiket lain (TGT) ditandatangani. Dengan demikian, penyerang tidak lagi menangani Key Distribution Center, ia membuat tiket ini sendiri, karena Tiket Emas, pada dasarnya, adalah TGT. Kemudian dapat mengirim permintaan otentikasi ke layanan apa pun di dalam AD, dan untuk waktu yang tidak terbatas. Akibatnya, ia dengan bebas beralih ke sumber daya ini - Tiket Emas bukan tanpa alasan disebut emas.



Cara mendeteksi berdasarkan peristiwa


Ada peristiwa 4768, yang mengatakan bahwa TGT dikeluarkan, dan peristiwa 4769, yang mengatakan bahwa tiket layanan dikeluarkan, yang diperlukan untuk otentikasi pada beberapa layanan di dalam AD.



Di sini kita bisa bermain pada perbedaan: selama serangan, Golden Ticket tidak meminta TGT dari pengontrol domain (itu menghasilkannya sendiri), dan perlu meminta TGS, jika kita menemukan perbedaan dalam TGT dan TGS yang diterima, kita dapat mengasumsikan bahwa serangan Tiket Emas sedang terjadi.

Di MaxPatrol SIEM menggunakan daftar tabel yang kami catat semua TGT dan TGS yang diterbitkan, kami berhasil menerapkan deteksi semacam itu.

Eksekusi Jarak Jauh WMI


Setelah tugas otentikasi dan otorisasi pada host yang diinginkan telah diselesaikan, penyerang dapat mulai melakukan tugas dari jarak jauh. WMI, sebagai mekanisme built-in dan dirancang untuk ini, sangat cocok. Selama beberapa tahun terakhir, "hidup dari tanah" berarti menggunakan mekanisme bawaan Windows dalam sebuah tren. Pertama-tama, karena memungkinkan Anda untuk menyamar sebagai kegiatan yang sah.



Dalam tangkapan layar, penggunaan utilitas wmic bawaan. Ini menentukan alamat host yang ingin Anda sambungkan, kredensial, pernyataan proses panggilan, dan perintah yang harus dijalankan pada host jarak jauh.

Bagaimana cara mendeteksi


Pada banyak acara remote logon 4624 (perhatikan
mania pada ID Masuk) dan acara 4688, berbicara tentang memulai proses dengan baris perintah. 4688 - Anda dapat melihat bahwa induk dari proses yang diluncurkan adalah WmiPrvSE.exe, proses layanan WMI khusus yang digunakan untuk administrasi jarak jauh. Perintah yang kami kirim net user / add terlihat, dan Logon ID cocok dengan acara 4624. Dengan demikian, kita dapat mengatakan dengan tepat dari host mana perintah ini dijalankan.



Deteksi Lalu Lintas


Di sini kita melihat dengan jelas kata-kata karakteristik dari proses Win32, serta baris perintah, yang dikirim untuk memulai. Dalam tangkapan layar, kami baru-baru ini bertemu dengan malware, yang didistribusikan di jaringan virtual sesuai dengan prinsip yang mirip dengan WannaCry, tetapi alih-alih enkripsi, ia memasang penambang. Malvar membawa mimikatz dan EthernalBlue bersamanya, dia membuang akun, dengan bantuan mereka dia masuk ke semua host yang bisa dia jangkau di jaringan. Menggunakan WMI, ia meluncurkan PowerShell pada mereka, mengunduh muatan PowerShell, yang lagi-lagi berisi mimikatz, EthernalBlue dan penambang. Dengan demikian, reaksi berantai diperoleh.



Rekomendasi untuk tahap 1-3


1. Kata sandi yang panjang dan kompleks (> 25 karakter) untuk akun layanan. Ini tidak akan memberikan kesempatan bagi penyerang untuk melakukan serangan Kerberoasting, seperti akan membutuhkan waktu yang sangat lama untuk menjadi kasar.

2. Masuk ke PowerShell . Ini akan membantu untuk mendeteksi penggunaan banyak alat modern untuk serangan terhadap AD

3. Pindah ke Windows 10, Windows Server 2016. Microsoft menciptakan Credential Guard: tidak akan lagi mungkin untuk membuang hash NTLM dan tiket Kerberos dari memori

4. Demarkasi peran yang ketat . Berbahaya menggabungkan satu peran sebagai administrator AD, DC, semua server dan mesin yang berfungsi

5. Ganti kata sandi ganda krbtgt (ini adalah akun yang sama dengan pendaftaran tiket TGT) . Setiap tahun. Dan setelah administrator AD meninggalkan AD:
  • perlu diubah dua kali, karena kata sandi saat ini dan sebelumnya disimpan,
  • ganti setiap tahun, termasuk setelah meninggalkan administrator domain. Bahkan jika jaringan sudah dikompromikan dan penyerang mengeluarkan Tiket Emas, mengubah kata sandi membuat Tiket ini tidak berguna. Dan lagi mereka harus memulai dari awal lagi.

6. Obat dengan basis pengetahuan ahli yang terus diperbarui . Hal ini diperlukan untuk mendeteksi serangan nyata yang sebenarnya.

Tahap 4. Pengambilan Domain


DCShadow


Pada 24 Januari 2018, pada konferensi Microsoft BlueHat di Israel, Benjamin Delpy dan Vincent Le Toux memperkenalkan modul mimikatz baru, yang mengimplementasikan serangan DCShadow. Inti dari serangan itu adalah pengontrol domain palsu dibuat untuk memodifikasi dan membuat objek baru dalam AD melalui replikasi. Para peneliti berhasil mengisolasi set minimum Kerberos SPN yang diperlukan untuk melalui proses replikasi - mereka hanya perlu 2. Selain itu, mereka menyajikan fungsi khusus yang dapat memaksa replikasi pengendali. Penulis serangan menempatkannya sebagai serangan yang akan membuat SIEM Anda buta. Karena pengontrol domain palsu tidak mengirim acara ke SIEM, yang berarti penyerang dapat melakukan berbagai hal gelap dengan AD dan SIEM tidak akan mengetahuinya.



Pola serangan


Pada sistem yang melakukan serangan, perlu untuk menambahkan 2 SPN, yang diperlukan agar pengontrol domain lainnya dapat mengautentikasi menggunakan kerberos untuk replikasi. Karena sesuai dengan spesifikasi, kontroler domain diwakili dalam database AD oleh objek kelas nTDSDSA, perlu untuk membuat objek seperti itu. Akhirnya, aktifkan replikasi menggunakan fungsi DRSReplicaAdd.

Bagaimana cara mendeteksi


Bagaimana DCShadow terlihat dalam lalu lintas. Dengan lalu lintas, kita melihat dengan jelas penambahan objek baru ke skema konfigurasi tipe pengontrol domain, dan kemudian mulai paksa replikasi



Karena fakta bahwa korelasi kami mengetahui daftar pengontrol domain yang sah, itu akan dipicu ketika replikasi terjadi dari pengontrol domain yang tidak termasuk dalam daftar putih ini. Dengan demikian, divisi keamanan informasi dapat melakukan penyelidikan dan sudah memahami bahwa ini adalah pengontrol domain yang sah yang ditambahkan oleh layanan TI, atau serangan DCShadow.

Kesimpulan


Contoh DCShadow menunjukkan bahwa ada vektor serangan baru untuk perusahaan. Dalam lautan peristiwa keamanan informasi ini, sangat penting untuk tetap berada di puncak gelombang: melihat lebih jauh dan bergerak cepat. Setiap hari, kami di PT Expert Security Center meneliti ancaman baru dan mengembangkan metode dan alat deteksi untuk mereka. Dan kami siap untuk membagikan informasi ini lebih lanjut.

Diposting oleh Anton Tyurin, Kepala Tim Deteksi Serangan, Teknologi Positif

Source: https://habr.com/ru/post/id423903/


All Articles