Analisis kerentanan 0day versi awal Microsoft Windows: dari eskalasi hak akses hingga proses pemanfaatan

robot
Pembuatan abstrak sedang berlangsung

Analisis dan Pemanfaatan Kerentanan 0day Sistem Windows Microsoft

Baru-baru ini, patch keamanan yang dirilis oleh Microsoft memperbaiki kerentanan eskalasi hak istimewa win32k yang sedang dieksploitasi. Kerentanan ini hanya ada di versi awal sistem Windows, dan tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang terus memanfaatkan kerentanan semacam itu dalam konteks perlindungan keamanan yang terus ditingkatkan.

Numen Eksklusif: Kerentanan 0day Microsoft dapat menghapus papan permainan Web3 di level sistem + fisik

Latar Belakang Kerentanan

Vuln 0day merujuk pada celah keamanan yang belum dipublikasikan dan belum diperbaiki, mirip dengan konsep perdagangan T+0 di pasar keuangan. Begitu celah semacam ini ditemukan, ia dapat dieksploitasi secara jahat tanpa terdeteksi, menyebabkan kerugian besar.

Kerentanan 0day sistem Windows yang ditemukan kali ini dapat memungkinkan penyerang untuk mendapatkan kontrol penuh atas sistem. Ini dapat menyebabkan kebocoran informasi pribadi, keruntuhan sistem, kehilangan data, kerugian properti, dan konsekuensi serius lainnya. Dari sudut pandang Web3, ini dapat menyebabkan pencurian kunci pribadi, pemindahan aset digital, dan bahkan mempengaruhi seluruh ekosistem Web3 yang berbasis pada infrastruktur Web2.

Numen Eksklusif: Kerentanan 0day Microsoft dapat mengguncang permainan Web3 di tingkat sistem + fisik

Analisis Patch

Analisis kode patch menunjukkan bahwa masalah terletak pada pengolahan beberapa kali dari penghitung referensi objek. Dengan melihat komentar kode sumber yang lebih awal, dapat diketahui bahwa kode sebelumnya hanya mengunci objek jendela, namun tidak mengunci objek menu di dalam jendela, yang dapat menyebabkan objek menu salah dirujuk.

Numen Eksklusif: Kerentanan 0day Microsoft dapat mengungkap permainan Web3 di tingkat sistem + fisik

Reproduksi Kerentanan

Dengan menganalisis konteks fungsi kerentanan, ditemukan bahwa menu yang diteruskan xxxEnableMenuItem() biasanya telah dikunci di fungsi tingkat atas. Analisis lebih lanjut menunjukkan bahwa menu yang dikembalikan oleh fungsi MenuItemState bisa jadi adalah menu utama jendela, atau bisa juga merupakan sub-menu atau sub-sub-menu.

Untuk memicu celah, dibangun struktur menu empat lapis khusus dan diatur dengan fitur-fitur berikut:

  1. ID menu dasar D harus berupa jenis menu sistem
  2. Menu tingkat atas A juga harus menjadi menu sistem, tetapi harus menghapus jenis menu sistem yang sesuai.
  3. Hapus referensi menu C di menu B
  4. Keberadaan menu B tampaknya membantu peluncuran menu C

Saat xxxRedrawTitle mengembalikan lapisan pengguna, hapus hubungan referensi antara menu C dan B serta bebaskan menu C. Dengan cara ini, saat fungsi xxxEnableMenuItem kembali ke titik, objek menu C yang dirujuk sudah tidak berlaku.

Numen Eksklusif: Kerentanan 0day Microsoft dapat mengungkap lapisan sistem+fisik dari permainan Web3

Eksploitasi Kerentanan

Eksploitasi kerentanan terutama mempertimbangkan dua arah:

  1. Menjalankan kode shellcode: merujuk pada kerentanan awal seperti CVE-2017-0263, tetapi mungkin menghadapi masalah mekanisme keamanan seperti titik masuk dan SMEP di versi Windows yang lebih tinggi.

  2. Memodifikasi alamat token menggunakan primitif baca/tulis: Dalam beberapa tahun terakhir, ada beberapa eksp publik yang dapat dijadikan referensi, yang memiliki universalitas terhadap tata letak memori tumpukan desktop dan primitif baca/tulis. Kuncinya adalah menganalisis bagaimana untuk pertama kali mengontrol cbwndextra menjadi nilai yang sangat besar saat penggunaan ulang memori UAF.

Penggunaan kali ini mengadopsi skema kedua, membagi seluruh proses menjadi dua langkah:

  1. Menggunakan kerentanan UAF untuk mengontrol nilai cbwndextra
  2. Mengontrol cbwndextra untuk mencapai primitif baca/tulis yang stabil

![Numen Eksklusif: Kerentanan 0day Microsoft Dapat Mengguncang Permainan Web3 dari Sistem + Tingkat Fisik](https://img-cdn.gateio.im/webp-social/moments-1cc94ddafacec491507491eef9195858.webp01

) Penulisan data pertama

Setelah pemicu celah, sistem mungkin salah menggunakan data objek jendela yang terkontrol dalam MNGetPopupFromMenu###( dan xxxMNUpdateShownMenu)(. Kami menggunakan objek nama jendela dalam kelas jendela WNDClass yang menguasai objek menu yang dibebaskan.

Kuncinya adalah menemukan posisi di dalam struktur alamat yang dapat kami bangun yang memungkinkan untuk menulis data secara sembarangan, bahkan jika hanya satu byte. Akhirnya, kami memilih skema dalam fungsi xxxRedrawWindow, dengan mengontrol data memori objek sebelumnya melalui tata letak memori untuk menentukan melalui penanda objek dalam fungsi.

) tata memori yang stabil

Rancang setidaknya tiga objek HWND 0x250 byte yang berurutan, lepas yang tengah dan gunakan objek HWNDClass untuk mengisi. Data ekor dari objek HWND sebelumnya digunakan untuk memeriksa melalui bendera dalam xxxRedrawWindow, objek menu dari objek HWND berikutnya dan objek HWNDClass digunakan sebagai media untuk operasi baca tulis akhir.

Dengan menggunakan alamat kernel handle yang bocor di dalam memori, untuk secara akurat menentukan apakah objek jendela yang diminta disusun sesuai urutan yang diharapkan.

Membaca dan menulis primitif

Gunakan GetMenuBarInfo###( untuk membaca sembarang primitif, gunakan SetClassLongPtr)( untuk menulis sembarang primitif. Selain penulisan penggantian TOKEN, penulisan lainnya menggunakan objek kelas dari objek jendela pertama dengan menggunakan offset untuk menulis.

![Numen Eksklusif: Kerentanan 0day Microsoft dapat membongkar tingkat sistem + fisik dari permainan Web3])https://img-cdn.gateio.im/webp-social/moments-697c5814db02534f63b44c0d1d692f83.webp(

Ringkasan

  1. Kerentanan win32k telah ada sejak lama, tetapi Microsoft sedang mencoba untuk merekonstruksi kode terkait menggunakan Rust, kemungkinan kerentanan semacam itu akan dihilangkan dalam sistem baru di masa depan.

  2. Proses pemanfaatan celah ini relatif sederhana, dengan tantangan utama terletak pada bagaimana mengontrol penulisan pertama. Sangat bergantung pada kebocoran alamat pegangan tumpukan desktop, yang tetap menjadi risiko keamanan pada sistem lama.

  3. Penemuan kerentanan ini mungkin berkat deteksi cakupan kode yang lebih baik.

  4. Untuk deteksi eksploitasi kerentanan, selain memperhatikan titik kunci fungsi pemicu, juga harus memperhatikan tata letak memori yang tidak biasa dan pembacaan/tulisan offset data jendela.

![Numen Eksklusif: Kerentanan 0day Microsoft dapat mengungkapkan permainan Web3 pada tingkat sistem + fisik])https://img-cdn.gateio.im/webp-social/moments-b0942592135ac96c6279544a62022329.webp(

![Numen Eksklusif: Kerentanan 0day Microsoft dapat membongkar permainan Web3 di tingkat sistem + fisik])https://img-cdn.gateio.im/webp-social/moments-b06b098af4f07260fdc03a75da160706.webp(

TOKEN3.73%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
FarmToRichesvip
· 9jam yang lalu
Untungnya 11 tidak terpengaruh
Lihat AsliBalas0
ChainSauceMastervip
· 08-05 20:25
Apa yang terjadi dengan win tua? Setiap hari ada celah.
Lihat AsliBalas0
FloorPriceWatchervip
· 08-05 20:23
win11 selamat dari bencana
Lihat AsliBalas0
MEVSandwichVictimvip
· 08-05 20:21
Celana yang bocor, banyak drama. Siapa yang berinvestasi, siapa yang dipermainkan.
Lihat AsliBalas0
CryptoCrazyGFvip
· 08-05 20:13
11 sudah tidak menarik lagi ya
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)