Pendekatan ini memungkinkan toolkit lolos dari deteksi alat Endpoint Detection and Response (EDR) dan antivirus tradisional, karena alat-alat tersebut tidak memeriksa objek database . Dari sana, penyerang beralih ke sistem operasi Windows di bawahnya, mendapatkan akses Remote Code Execution (RCE) level SYSTEM, mengekstrak registry hive yang berisi hash password, dan mengeksfiltrasinya secara offline . Infrastruktur penyerang dilacak ke IP 178.162.151[.]229 .
Vektor akses awal adalah kerentanan SQL injection pada aplikasi Java yang berjalan di Apache Tomcat . Fitur pencarian otomatis (autocomplete search) pada aplikasi gagal memvalidasi masukan pengguna dengan benar, memungkinkan penyerang menyuntikkan perintah SQL melalui koneksi JDBC ke database Oracle . Seperti dicatat oleh peneliti Huntress, ini bukan kelas kerentanan baru—serangan SQL injection telah ada selama beberapa dekade dan biasanya akibat dari kesalahan penanganan masukan pengguna ke server SQL .
Daripada menggunakan file malware tradisional, penyerang memanfaatkan JVM bawaan Oracle dan pernyataan CREATE JAVA SOURCE untuk mengkompilasi dan menyimpan seluruh toolkit post-eksploitasi sebagai objek skema Java di dalam database . Pendekatan ini membuat toolkit tidak terlihat oleh pertahanan tingkat OS, karena EDR dan antivirus berfokus pada proses, binary, dan file di sistem operasi—mereka tidak memeriksa kelas Java dan wrapper PL/SQL yang disimpan di dalam Oracle .
Toolkit khunt mencakup komponen-komponen berikut, masing-masing disimpan sebagai objek database:
| Komponen | Fungsi |
|---|---|
| KhuntCmd | Memuat cmd.exe dan menjalankan perintah OS dengan menyematkannya dalam pernyataan SQL yang dikirim ke database |
| KhuntHash | Mengekstrak nama pengguna dan hash password dari tabel pengguna internal Oracle dan menyimpannya ke file |
| KhuntFS / KhuntFS2 | Penjelajah file untuk mendaftar, membaca, mencari, dan memeriksa ukuran file di sistem yang dikompromikan |
| KhuntT | Alat "ping" sederhana untuk memastikan toolkit terinstal dan dapat dijangkau sebelum melanjutkan |
| KhuntUnzip | Utilitas untuk membuka file zip |
| khunt_ wrapper PL/SQL* | Prosedur wrapper PL/SQL yang digunakan untuk memanggil metode Java yang mendasarinya |
Penyerang tidak berhenti di akses tingkat database. Mereka menggunakan toolkit khunt untuk beralih dari lapisan database ke sistem operasi Windows yang mendasarinya dalam proses multi-langkah:
cmd.exe /c whoami, yang mengonfirmasi bahwa mereka berjalan dengan hak istimewa SYSTEM di server Windows, membangun RCE dari database ke OS .reg.exe dan menyalin registry hive SECURITY dan SYSTEM, menyimpannya sebagai khuntSECURITY.hiv dan khuntSYSTEM.hiv di F:\Oracle\ .tasklist /svc dan menyimpan output sebagai khunttasks.txt .esentutl.exe untuk menyalin SAM dan salinan kedua hive SECURITY, menyimpannya sebagai khuntSAM.hiv dan khunt_SECURITY.hiv .Registry hive yang dieksfiltrasi dapat digunakan secara offline untuk mengekstrak dan mendekode hash password untuk semua akun lokal di sistem .
Investigasi Huntress mengungkap beberapa titik buta kritis yang memungkinkan serangan ini berhasil dan lolos dari deteksi:
Berdasarkan serangan ini, Huntress merekomendasikan beberapa mitigasi :
Serangan ini menjadi pengingat bahwa mesin database dengan lingkungan pemrograman bawaan (seperti JVM Oracle) dapat berubah menjadi platform serangan yang senyap ketika dikombinasikan dengan satu bidang input yang tidak divalidasi. Tim keamanan harus memperluas pemantauan mereka melampaui sistem operasi hingga menyertakan lapisan objek database.