Analisis Kerentanan 0day Sistem Windows Microsoft: Dapat Mengendalikan Sistem Secara Penuh
Baru-baru ini, Microsoft merilis patch keamanan yang memperbaiki kerentanan eskalasi hak istimewa Win32k yang sedang dieksploitasi secara jahat. Kerentanan ini hanya ada di versi awal sistem Windows dan tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan kerentanan ini dalam konteks peningkatan perlindungan keamanan saat ini.
Latar Belakang Kerentanan
Ini adalah kerentanan 0day di tingkat sistem Windows, yang memungkinkan hacker untuk mendapatkan kontrol penuh atas Windows. Bahaya setelah dikendalikan termasuk pencurian informasi pribadi, kerusakan sistem dan kehilangan data, kerugian finansial, dan penyisipan perangkat lunak jahat. Dari pencurian kunci pribadi dan transfer aset digital, hingga dampak yang mungkin memengaruhi seluruh ekosistem Web3 yang berjalan di infrastruktur berbasis Web2.
Analisis Patch
Analisis patch menemukan bahwa ini adalah masalah penghitungan referensi objek yang diproses secara berlebihan. Dari komentar kode awal, diketahui bahwa kode sebelumnya hanya mengunci objek jendela, tidak mengunci objek menu di dalam objek jendela, yang dapat menyebabkan objek menu direferensikan secara salah.
Prinsip Kerentanan
Analisis lebih lanjut menunjukkan bahwa menu yang diteruskan ke xxxEnableMenuItem() biasanya telah dikunci di fungsi tingkat atas. Sedangkan fungsi MenuItemState dalam xxxEnableMenuItem mengembalikan dua kemungkinan menu: menu utama jendela atau submenu dalam menu.
Validasi Konsep ( PoC ) Implementasi
PoC membangun struktur menu khusus empat lapisan dan menetapkan beberapa kondisi spesifik untuk melalui deteksi dalam fungsi xxxEnableMenuItem. Langkah kunci adalah menghapus hubungan referensi menu C dan menu B serta melepaskan menu C saat xxxRedrawTitle mengembalikan lapisan pengguna. Dengan cara ini, ketika menu C dirujuk dalam fungsi xxxEnableMenuItem berikutnya, objek tersebut sudah tidak valid.
Eksploitasi Kerentanan ( Exp ) Implementasi
Ada dua pendekatan utama: mengeksekusi kode shellcode atau menggunakan primitif baca/tulis untuk memodifikasi alamat token. Mengingat kompatibilitas, pendekatan kedua dipilih. Secara keseluruhan dibagi menjadi dua langkah: mengendalikan nilai cbwndextra menggunakan kerentanan UAF, lalu membangun primitif baca/tulis yang stabil.
Poin kunci termasuk:
Menggunakan objek menu yang dialokasikan dan dibebaskan oleh objek nama kelas jendela
Temukan lokasi yang dapat ditulis data dalam fungsi xxxRedrawWindow
Membangun tata letak memori yang stabil, termasuk tiga objek HWND yang berurutan
Menggunakan GetMenuBarInfo() dan SetClassLongPtr() untuk implementasi baca tulis primitif
Ringkasan
Microsoft sedang merekonstruksi kode terkait Win32k menggunakan Rust, di masa depan jenis kerentanan ini mungkin dapat dihilangkan.
Proses pemanfaatan kerentanan tidak terlalu sulit, terutama bergantung pada kebocoran alamat pegangan tumpukan desktop.
Penemuan kerentanan mungkin bergantung pada deteksi cakupan kode yang lebih baik.
Deteksi terhadap tata letak memori yang tidak normal dan pembacaan serta penulisan data jendela membantu menemukan kerentanan serupa
Meskipun celah ini secara bertahap diperbaiki dalam sistem baru, namun masih menjadi ancaman keamanan bagi sistem lama. Memperbaiki mekanisme deteksi dan perlindungan celah tetap penting.
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.
8 Suka
Hadiah
8
4
Bagikan
Komentar
0/400
UncleLiquidation
· 9jam yang lalu
Sistem lama bahkan tidak digunakan oleh anjing.
Lihat AsliBalas0
CommunityLurker
· 9jam yang lalu
Kesempatan untuk menghasilkan uang datang lagi
Lihat AsliBalas0
ser_ngmi
· 9jam yang lalu
Juga hanya karena otak Microsoft yang cacat bisa menghasilkan celah seperti ini.
Lihat AsliBalas0
AirdropHunter9000
· 10jam yang lalu
Sistem lama belum diperbarui? Tidak melakukan tidak akan mati
Analisis kerentanan 0day tingkat sistem Windows: Penyerang dapat sepenuhnya mengendalikan sistem lama
Analisis Kerentanan 0day Sistem Windows Microsoft: Dapat Mengendalikan Sistem Secara Penuh
Baru-baru ini, Microsoft merilis patch keamanan yang memperbaiki kerentanan eskalasi hak istimewa Win32k yang sedang dieksploitasi secara jahat. Kerentanan ini hanya ada di versi awal sistem Windows dan tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan kerentanan ini dalam konteks peningkatan perlindungan keamanan saat ini.
Latar Belakang Kerentanan
Ini adalah kerentanan 0day di tingkat sistem Windows, yang memungkinkan hacker untuk mendapatkan kontrol penuh atas Windows. Bahaya setelah dikendalikan termasuk pencurian informasi pribadi, kerusakan sistem dan kehilangan data, kerugian finansial, dan penyisipan perangkat lunak jahat. Dari pencurian kunci pribadi dan transfer aset digital, hingga dampak yang mungkin memengaruhi seluruh ekosistem Web3 yang berjalan di infrastruktur berbasis Web2.
Analisis Patch
Analisis patch menemukan bahwa ini adalah masalah penghitungan referensi objek yang diproses secara berlebihan. Dari komentar kode awal, diketahui bahwa kode sebelumnya hanya mengunci objek jendela, tidak mengunci objek menu di dalam objek jendela, yang dapat menyebabkan objek menu direferensikan secara salah.
Prinsip Kerentanan
Analisis lebih lanjut menunjukkan bahwa menu yang diteruskan ke xxxEnableMenuItem() biasanya telah dikunci di fungsi tingkat atas. Sedangkan fungsi MenuItemState dalam xxxEnableMenuItem mengembalikan dua kemungkinan menu: menu utama jendela atau submenu dalam menu.
Validasi Konsep ( PoC ) Implementasi
PoC membangun struktur menu khusus empat lapisan dan menetapkan beberapa kondisi spesifik untuk melalui deteksi dalam fungsi xxxEnableMenuItem. Langkah kunci adalah menghapus hubungan referensi menu C dan menu B serta melepaskan menu C saat xxxRedrawTitle mengembalikan lapisan pengguna. Dengan cara ini, ketika menu C dirujuk dalam fungsi xxxEnableMenuItem berikutnya, objek tersebut sudah tidak valid.
Eksploitasi Kerentanan ( Exp ) Implementasi
Ada dua pendekatan utama: mengeksekusi kode shellcode atau menggunakan primitif baca/tulis untuk memodifikasi alamat token. Mengingat kompatibilitas, pendekatan kedua dipilih. Secara keseluruhan dibagi menjadi dua langkah: mengendalikan nilai cbwndextra menggunakan kerentanan UAF, lalu membangun primitif baca/tulis yang stabil.
Poin kunci termasuk:
Ringkasan
Meskipun celah ini secara bertahap diperbaiki dalam sistem baru, namun masih menjadi ancaman keamanan bagi sistem lama. Memperbaiki mekanisme deteksi dan perlindungan celah tetap penting.