Analisis kerentanan Windows 0day: dari UAF menu ke eskalasi hak istimewa sistem

robot
Pembuatan abstrak sedang berlangsung

Analisis dan Pemanfaatan Kerentanan 0day Sistem Windows Microsoft

Pendahuluan

Patch keamanan Microsoft bulan lalu menyertakan kerentanan eskalasi hak istimewa win32k yang dieksploitasi di alam liar, yang hanya ada di sistem Windows awal. Artikel ini akan menganalisis bagaimana penyerang terus mengeksploitasi kerentanan tersebut meskipun langkah-langkah keamanan saat ini terus ditingkatkan. Lingkungan analisis adalah Windows Server 2016.

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

Latar Belakang Kerentanan

Kerentanan 0day merujuk pada kerentanan yang belum diungkapkan dan diperbaiki, yang dapat dimanfaatkan oleh penyerang untuk menyebabkan kerusakan besar. Kerentanan 0day yang ditemukan di sistem Windows ini dapat memungkinkan hacker untuk mendapatkan kontrol penuh atas sistem, akibatnya termasuk tetapi tidak terbatas pada:

  • Pencurian informasi pribadi
  • Sistem crash kehilangan data
  • Kerugian finansial
  • Penanaman perangkat lunak berbahaya
  • Kunci privat kripto dicuri
  • Aset digital dipindahkan

Dari sudut pandang yang lebih luas, kerentanan ini dapat mempengaruhi seluruh ekosistem Web3 yang berjalan pada infrastruktur Web2.

Numen Eksklusif: Kerentanan 0day Microsoft dapat mengungkapkan lapisan sistem + fisik dalam permainan Web3

Analisis Patch

Patching memperbaiki masalah pemrosesan beberapa kali pada penghitungan referensi objek. Analisis komentar kode sumber awal menemukan bahwa, kode asli hanya mengunci objek jendela, tidak mengunci objek menu di dalam jendela, yang mungkin menyebabkan objek menu direferensikan secara salah.

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

Analisis Eksploitasi Kerentanan

Analisis menunjukkan bahwa dalam fungsi xxxEnableMenuItem, ada dua kemungkinan menu yang dikembalikan oleh fungsi MenuItemState: menu utama jendela atau submenu dalam menu.

Membangun struktur menu bertingkat yang terlipat dengan khusus, dan mengatur atribut tertentu, dapat melewati deteksi fungsi. Ketika fungsi xxxRedrawTitle mengembalikan lapisan pengguna, hapus hubungan referensi menu dan bebaskan objek menu target. Pada akhirnya, dalam fungsi xxxEnableMenuItem, rujukan ke objek menu yang sudah tidak valid.

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

Implementasi Eksploitasi Kerentanan

Pemikiran keseluruhan

Pertimbangkan dua jenis penggunaan:

  1. Menjalankan kode shellcode
  2. Menggunakan primitif baca-tulis untuk mengubah alamat token

Pilih opsi kedua, bagi proses penggunaan menjadi dua masalah:

  • Bagaimana memanfaatkan kerentanan UAF untuk mengontrol nilai cbwndextra
  • Bagaimana cara mencapai primitif baca/tulis yang stabil

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

Penulisan data awal

Manfaatkan objek nama jendela dalam kelas jendela WNDClass untuk membebaskan objek menu yang terpakai. Temukan kesempatan untuk menulis data dalam fungsi xxxRedrawWindow.

Akhirnya memilih untuk menulis parameter cb-extra HWNDClass melalui operasi bitwise AND 2.

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

tata letak memori yang stabil

Desain tiga objek HWND secara berurutan, lepaskan objek tengah dan gunakan objek HWNDClass untuk mengisi. Objek HWND di depan dan belakang digunakan untuk:

  • Menyediakan parameter pemeriksaan tanda
  • Menyediakan media primitif untuk membaca dan menulis

Menentukan urutan penataan objek dengan tepat melalui alamat pegangan kernel yang bocor.

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

implementasi read-write primitive

  • Baca sembarang: GetMenuBarInfo()
  • Tulis sembarangan:SetClassLongPtr()

Selain penulisan TOKEN, operasi penulisan lainnya menggunakan objek class dari objek jendela pertama.

Ringkasan

  1. Kerentanan win32k mungkin telah diatasi dalam versi baru Windows

  2. Proses pemanfaatan kerentanan relatif sederhana, terutama bergantung pada kebocoran alamat pegangan tumpukan desktop.

  3. Penemuan kerentanan mungkin bergantung pada deteksi cakupan kode yang lebih baik.

  4. Deteksi pembacaan dan penulisan memori yang tidak normal membantu menemukan kerentanan sejenis.

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

TOKEN3.87%
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
  • 3
  • Posting ulang
  • Bagikan
Komentar
0/400
MidnightTradervip
· 23jam yang lalu
Satu lubang besar lagi, Windows benar-benar tidak berfungsi!
Lihat AsliBalas0
TokenDustCollectorvip
· 23jam yang lalu
Kerentanan ini dari Microsoft agak parah, Kunci Pribadi bisa dicuri.
Lihat AsliBalas0
HalfIsEmptyvip
· 23jam yang lalu
Aduh, terbalik lagi~
Lihat AsliBalas0
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)