Analisis kerentanan 0day sistem Windows: dari eskalasi hak istimewa win32k hingga risiko keamanan Web3

robot
Pembuatan abstrak sedang berlangsung

Analisis dan Pemanfaatan Kerentanan 0day Sistem Windows Microsoft

Baru-baru ini, patch keamanan yang dirilis oleh Microsoft telah memperbaiki kerentanan eskalasi hak akses win32k yang sedang aktif dieksploitasi. Kerentanan ini terutama mempengaruhi versi awal sistem Windows, dan tampaknya tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang mungkin terus mengeksploitasi kerentanan semacam ini dalam lingkungan keamanan saat ini. Analisis berikut dilakukan di lingkungan Windows Server 2016.

Numen Eksklusif: Kerentanan 0day Microsoft Dapat Mengguncang Permainan Web3 di Tingkat Sistem + Fisik

Latar Belakang Kerentanan

Kerentanan 0day merujuk pada kerentanan keamanan yang belum dipublikasikan dan belum diperbaiki, mirip dengan konsep perdagangan T+0 di pasar keuangan. Kerentanan semacam ini, jika dimanfaatkan secara jahat, dapat menyebabkan kerusakan serius. Kerentanan 0day yang ditemukan pada sistem Windows ini memungkinkan penyerang untuk mendapatkan kendali penuh atas sistem, yang kemudian dapat digunakan untuk melakukan pencurian informasi, penghancuran sistem, penanaman perangkat lunak berbahaya, dan serangan lainnya. Dari sudut pandang Web3, ini dapat menyebabkan pencurian kunci pribadi, pemindahan aset digital, bahkan membahayakan seluruh ekosistem Web3 yang berbasis pada infrastruktur Web2.

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

Analisis Patch

Analisis kode patch menemukan bahwa, perbaikan utama adalah masalah pengelolaan hitungan referensi objek. Berdasarkan komentar sumber kode win32k sebelumnya, diketahui bahwa kode asli hanya mengunci objek jendela, tetapi tidak mengunci objek menu di dalam jendela, yang dapat menyebabkan objek menu dirujuk secara tidak benar.

Numen Eksklusif: Kerentanan 0day Microsoft dapat meruntuhkan papan permainan Web3 secara sistematis + fisik

Pembuktian Konsep Eksploitasi ( PoC )

Analisis menunjukkan bahwa fungsi xxxEnableMenuItem dapat mengembalikan MenuItemState dari menu utama atau submenu jendela. Kami telah membangun struktur menu khusus dengan empat lapisan, yang mencakup fitur-fitur berikut:

  1. ID menu tingkat terendah D harus berupa jenis menu sistem.
  2. Menu tingkat atas A juga harus merupakan menu sistem, tetapi harus menghapus item dengan ID yang sama dengan menu D.
  3. Hapus referensi menu C di menu B.
  4. Keberadaan Menu B tampaknya membantu peluncuran Menu C.

Saat memicu kerentanan, hapus asosiasi menu C dan B saat xxxRedrawTitle mengembalikan lapisan pengguna, dan lepaskan menu C. Ini menyebabkan referensi objek menu C yang tidak valid setelah fungsi xxxEnableMenuItem.

Numen Eksklusif: Kerentanan 0day Microsoft dapat membongkar Web3 secara sistemik+fisik

Eksploitasi Kerentanan(Exp)

Pemikiran keseluruhan

Pertimbangkan dua arah pemanfaatan yang mungkin:

  1. Eksekusi shellcode: merujuk pada kerentanan awal seperti CVE-2017-0263, namun mungkin menghadapi banyak hambatan di versi baru Windows.

  2. Menggunakan primitif baca-tulis untuk memodifikasi token: Dalam beberapa tahun terakhir, masih ada eksp terbuka yang dapat dijadikan referensi, terutama perlu menyelesaikan masalah bagaimana mengontrol nilai cbwndextra untuk pertama kalinya.

Kami mengadopsi skema kedua, membagi exp menjadi dua langkah yaitu mengontrol nilai cbwndextra dan membangun primitif baca-tulis yang stabil.

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

Penulisan data pertama kali

Menggunakan objek nama kelas jendela WNDClass untuk mengalokasikan dan membebaskan memori objek menu. Temukan lokasi yang dapat ditulis data dalam fungsi xxxRedrawWindow, dengan mengontrol data memori objek sebelumnya untuk memenuhi pemeriksaan tanda dalam fungsi.

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

tata memori yang stabil

Rancang tata letak memori untuk tiga objek HWND berukuran 0x250 byte secara berurutan, bebaskan objek tengah dan gunakan objek HWNDClass untuk mengisi. Objek HWND di depan dan belakang digunakan untuk memeriksa dan menerapkan primitif baca/tulis melalui fungsi. Lokasi penyusunan objek ditentukan secara tepat melalui kebocoran alamat pegangan kernel.

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

Implementasi primitif baca-tulis

Baca sembarangan menggunakan fungsi GetMenuBarInfo, tulis sembarangan menggunakan fungsi SetClassLongPtr. Kecuali penulisan TOKEN, operasi tulis lainnya dilakukan melalui objek class dari objek jendela pertama.

Numen Eksklusif: Kerentanan 0day Microsoft dapat mengguncang sistem + lapisan fisik Web3

Kesimpulan

  1. Microsoft sedang menggunakan Rust untuk merombak kode win32k, yang mungkin dapat sepenuhnya menyelesaikan kerentanan semacam ini di masa depan.

  2. Eksploitasi jenis ini terutama bergantung pada kebocoran alamat pegangan tumpukan desktop, yang masih menjadi ancaman keamanan bagi sistem lama.

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

  4. Pemantauan terhadap tata letak memori yang tidak biasa dan pembacaan serta penulisan data jendela membantu dalam menemukan kerentanan yang serupa.

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 6
  • Bagikan
Komentar
0/400
TestnetNomadvip
· 13jam yang lalu
Apa yang kamu bicarakan tentang Rust?
Lihat AsliBalas0
StealthDeployervip
· 13jam yang lalu
Sudah lama beralih ke linux, bijak.
Lihat AsliBalas0
CryptoMotivatorvip
· 13jam yang lalu
Sekali lagi ada masalah, bug Microsoft ini memang sudah tradisional.
Lihat AsliBalas0
LiquidatedDreamsvip
· 13jam yang lalu
Selalu menggunakan Microsoft itu hanya jebakan.
Lihat AsliBalas0
MondayYoloFridayCryvip
· 14jam yang lalu
Saya adalah investor ritel terburuk di Web3

Komentar untuk artikel:

Apakah rust bisa menyelamatkan win? Itu membuat saya tertawa.
Lihat AsliBalas0
CrashHotlinevip
· 14jam yang lalu
Sampah winxp lagi ada masalah
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)