Pertanyaan yang bagus
Hal pertama yang pertama - saya menganggap sebagian besar "penguji penetrasi" sebagai skrip kiddies. Bias saya mungkin tidak adil atau akurat tetapi saya menempatkan disclaimer ini sehingga jika Anda mendeteksi sinisme dalam nada saya, Anda tahu dari mana asalnya. Saya tidak mengatakan tidak ada pentester yang terampil, tetapi ini adalah generalisasi saya.
(Tim biru seumur hidup!)
Pertanyaan saya: 1) Apakah ada cara untuk mendapatkan Active Directory untuk mencatat permintaan nama pengguna yang gagal di lokasi pusat sehingga kami dapat melihat lonjakan di dalamnya?
Anda tidak memberikan informasi yang cukup bagi siapa pun untuk dapat menjawab pertanyaan ini secara menyeluruh dan dengan keyakinan. Anda mengatakan aplikasi Anda ditemukan mengandung cacat yang memungkinkan penyerang untuk menghitung akun pengguna. Saya mencoba memahami dengan cara apa Anda merasa bahwa AD perlu melakukan pencatatan untuk aplikasi Anda .
Rupanya kegagalan hanya muncul di log peristiwa lokal server tempat aplikasi diinstal.
Rupanya kegagalan muncul di log peristiwa di server? Atau kegagalan lakukan muncul di event log di server? Jika demikian, apa sebenarnya yang dikatakan peristiwa itu? Siapa yang login? Aplikasi Anda? Atau Windows? Pergi mencari tahu dan saya mungkin dapat menambahkan klarifikasi tambahan untuk jawaban saya.
Saya akan pergi mengambil risiko di sini berdasarkan pada anggapan Anda bahwa peristiwa-peristiwa ini seharusnya telah dicatat oleh Active Directory entah bagaimana ... bagaimana jika pentester Anda sebenarnya tidak mengeksploitasi cacat pada aplikasi Anda sama sekali, tetapi malah menggunakan cacat yang sangat terkenal di Kerberos itu sendiri untuk menyebutkan nama pengguna? Kerberos sendiri berisi apa yang saya anggap sebagai cacat desain di mana penyerang dapat mencoba ribuan dan ribuan upaya "pra-otentikasi" (yaitu serangan brute force) dan KDC akan merespons secara berbeda tergantung pada apakah akun pengguna ada atau tidak. Ini bukan perilaku spesifik Direktori Aktif, tetapi berlaku juga untuk MIT Kerberos, Heimdal, dll. KDC akan merespons denganKDC_ERR_PREAUTH_REQUIRED
jika nama pengguna yang valid disajikan tanpa data pra-auth, bahkan tanpa mencoba otentikasi yang sebenarnya. Dengan cara ini Anda dapat menghitung nama pengguna dari KDC. Tetapi karena penyerang (atau alat yang digunakan penyerang seperti KrbGuess - karena pentester berada pada kondisi terbaiknya ketika mereka menggunakan alat orang lain), tidak harus melanjutkan ke upaya otentikasi penuh, tidak ada yang dicatat karena tidak ada otentikasi yang sebenarnya telah dicoba!
Sekarang, ke pertanyaan Anda berikutnya:
2) Jika tidak, apa cara terbaik untuk memantau dan secara aktif mendeteksi jenis serangan ini di masa depan (Semoga tanpa harus membeli terlalu banyak peralatan baru).
Beberapa hal.
Pertama, ada produk berbayar tingkat perusahaan yang dirancang untuk mendeteksi serangan semacam ini (di antara banyak hal lain.) Banyak vendor menawarkan produk seperti itu, dan rekomendasi produk di luar topik untuk Serverfault, tetapi cukuplah untuk mengatakan bahwa mereka keluar sana. Banyak dari produk ini bekerja dengan mengharuskan Anda untuk mengkonfigurasi mirroring port antara pengontrol domain Anda dan "pengumpul data" ini sehingga mereka melihat dan menganalisis secara harfiah setiap paket yang masuk atau keluar dari pengontrol domain Anda.
(Maaf, itu agak jatuh pada klausa "tanpa membeli terlalu banyak barang baru" Anda.)
Hal lain yang mungkin membantu Anda adalah entri registri:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
Didokumentasikan di sini .
Jika Anda mengaktifkan entri registri ini, Anda harus dibanjiri dengan peristiwa di log peristiwa keamanan Anda tentang kesalahan Kerberos yang menyebutkan bahwa pra-otentikasi Kerberos diperlukan. Contoh kejadian seperti itu:
A Kerberos Error Message was received:
on logon session DOMAIN\serviceaccount
Client Time:
Server Time: 12:44:21.0000 10/9/2012 Z
Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
Extended Error:
Client Realm:
Client Name:
Server Realm: DOMAIN
Server Name: krbtgt/DOMAIN
Target Name: krbtgt/DOMAIN@DOMAIN
Error Text:
File: e
Line: 9fe
Error Data is in record data.
Tapi ini mungkin atau mungkin tidak membantu Anda jika tidak menentukan dari mana tepatnya tsunami permintaan Kerberos berasal. Ini membawa kita kembali ke produk deteksi intrusi perusahaan yang saya sebutkan sebelumnya.
Dan jangan lupa Windows Event Forwarding yang dapat membuat server Anda meneruskan acara ke lokasi terpusat untuk dianalisis dengan alat apa pun yang Anda miliki.
Seluruh jawaban ini sejauh ini didasarkan pada protokol Kerberos, yang bahkan tidak bisa saya anggap remeh karena Anda memberikan begitu sedikit detail dalam posting Anda. Meskipun demikian, saya harap ini membantu setidaknya sedikit.