Analisis Kerentanan 0day Sistem Windows Microsoft: Mungkin Berpengaruh Besar terhadap Ekosistem Web3
Bulan lalu, patch keamanan Microsoft mencakup kerentanan eskalasi hak istimewa win32k yang dieksploitasi di alam. Kerentanan ini tampaknya tidak dapat dipicu di versi sistem Windows 11, hanya ada di sistem awal. Artikel ini akan menganalisis bagaimana penyerang mungkin terus mengeksploitasi kerentanan ini dalam konteks perbaikan mitigasi baru yang terus berkembang. Proses analisis dilakukan di lingkungan Windows Server 2016.
Vuln 0day adalah celah yang belum diungkap dan diperbaiki, dapat dimanfaatkan oleh penyerang secara diam-diam dengan niat jahat, sering kali memiliki potensi kerusakan yang besar. Vuln 0day yang ditemukan kali ini ada di tingkat sistem Windows, hacker dapat menggunakan celah ini untuk mendapatkan kontrol penuh atas Windows. Ini bisa mengakibatkan pencurian informasi pribadi, keruntuhan sistem kehilangan data, kerugian finansial, penyisipan malware, dan sebagainya. Dari sudut pandang Web3, kunci pribadi pengguna dapat dicuri, aset digital dapat dipindahkan. Dalam skala yang lebih besar, celah ini bahkan dapat mempengaruhi seluruh ekosistem Web3 yang berjalan di infrastruktur berbasis Web2.
Analisis patch menemukan, masalah terletak pada penghitungan referensi sebuah objek yang diproses lebih dari sekali. Melalui komentar kode sumber awal dapat dilihat, kode sebelumnya hanya mengunci objek jendela, tidak mengunci objek menu di dalam objek jendela, di sini objek menu mungkin direferensikan secara salah.
Untuk memverifikasi celah, kami telah mengimplementasikan bukti konsep (PoC). Dengan membangun menu bertingkat yang terstruktur khusus, celah dapat dipicu dalam fungsi xxxEnableMenuItem. Kuncinya adalah menghapus hubungan referensi antara menu C dan menu B pada waktu yang tepat, untuk berhasil membebaskan objek menu C. Dengan cara ini, ketika fungsi xxxEnableMenuItem mengembalikan, objek menu C yang akan dirujuk sudah tidak valid.
Dalam mewujudkan eksploitasi (Exp), kami terutama mempertimbangkan dua skema: mengeksekusi kode shell dan memanfaatkan primitif baca/tulis untuk memodifikasi alamat token. Akhirnya kami memilih yang terakhir, karena metode ini masih memiliki eksploitasi publik yang dapat dirujuk dalam dua tahun terakhir. Seluruh proses eksploitasi dibagi menjadi dua langkah: pertama, memanfaatkan kerentanan UAF untuk mengontrol nilai cbwndextra, kemudian membangun primitif baca/tulis yang stabil.
Dengan merancang tata letak memori dengan cermat, kita dapat mencapai kontrol yang tepat terhadap objek target. Menggunakan fungsi GetMenuBarInfo() dan SetClassLongPtr() untuk masing-masing melakukan operasi baca sembarang dan tulis sembarang. Selain operasi tulis TOKEN yang menggantikan objek class jendela kedua, semua operasi tulis lainnya menggunakan objek class jendela pertama dengan menggunakan offset untuk menulis.
Secara keseluruhan, meskipun kerentanan win32k sudah ada sejak lama, Microsoft sedang berusaha untuk merestrukturisasi bagian kode inti tersebut menggunakan Rust, dan di sistem baru di masa depan, kemungkinan besar akan menghilangkan kerentanan semacam ini. Saat ini, proses pemanfaatan kerentanan semacam ini pada dasarnya tidak terlalu sulit, terutama bergantung pada kebocoran alamat pegangan tumpukan desktop. Bagi sistem yang sudah tua, ini masih merupakan risiko yang tidak aman.
Dari sudut pandang penemuan kerentanan, deteksi cakupan kode yang lebih lengkap mungkin dapat membantu dalam menemukan kerentanan semacam itu. Untuk deteksi eksploitasi kerentanan, selain memperhatikan titik kunci dari fungsi pemicu kerentanan, juga harus melakukan deteksi yang ditargetkan terhadap anomali tata letak memori dan pembacaan/penulisan offset data tambahan dari kelas jendela, ini mungkin menjadi salah satu cara yang efektif untuk menemukan kerentanan tipe yang sama.
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.
Windows 0day kerentanan mengancam keamanan Web3 Risiko pencurian Kunci Pribadi Naik
Analisis Kerentanan 0day Sistem Windows Microsoft: Mungkin Berpengaruh Besar terhadap Ekosistem Web3
Bulan lalu, patch keamanan Microsoft mencakup kerentanan eskalasi hak istimewa win32k yang dieksploitasi di alam. Kerentanan ini tampaknya tidak dapat dipicu di versi sistem Windows 11, hanya ada di sistem awal. Artikel ini akan menganalisis bagaimana penyerang mungkin terus mengeksploitasi kerentanan ini dalam konteks perbaikan mitigasi baru yang terus berkembang. Proses analisis dilakukan di lingkungan Windows Server 2016.
Vuln 0day adalah celah yang belum diungkap dan diperbaiki, dapat dimanfaatkan oleh penyerang secara diam-diam dengan niat jahat, sering kali memiliki potensi kerusakan yang besar. Vuln 0day yang ditemukan kali ini ada di tingkat sistem Windows, hacker dapat menggunakan celah ini untuk mendapatkan kontrol penuh atas Windows. Ini bisa mengakibatkan pencurian informasi pribadi, keruntuhan sistem kehilangan data, kerugian finansial, penyisipan malware, dan sebagainya. Dari sudut pandang Web3, kunci pribadi pengguna dapat dicuri, aset digital dapat dipindahkan. Dalam skala yang lebih besar, celah ini bahkan dapat mempengaruhi seluruh ekosistem Web3 yang berjalan di infrastruktur berbasis Web2.
Analisis patch menemukan, masalah terletak pada penghitungan referensi sebuah objek yang diproses lebih dari sekali. Melalui komentar kode sumber awal dapat dilihat, kode sebelumnya hanya mengunci objek jendela, tidak mengunci objek menu di dalam objek jendela, di sini objek menu mungkin direferensikan secara salah.
Untuk memverifikasi celah, kami telah mengimplementasikan bukti konsep (PoC). Dengan membangun menu bertingkat yang terstruktur khusus, celah dapat dipicu dalam fungsi xxxEnableMenuItem. Kuncinya adalah menghapus hubungan referensi antara menu C dan menu B pada waktu yang tepat, untuk berhasil membebaskan objek menu C. Dengan cara ini, ketika fungsi xxxEnableMenuItem mengembalikan, objek menu C yang akan dirujuk sudah tidak valid.
Dalam mewujudkan eksploitasi (Exp), kami terutama mempertimbangkan dua skema: mengeksekusi kode shell dan memanfaatkan primitif baca/tulis untuk memodifikasi alamat token. Akhirnya kami memilih yang terakhir, karena metode ini masih memiliki eksploitasi publik yang dapat dirujuk dalam dua tahun terakhir. Seluruh proses eksploitasi dibagi menjadi dua langkah: pertama, memanfaatkan kerentanan UAF untuk mengontrol nilai cbwndextra, kemudian membangun primitif baca/tulis yang stabil.
Dengan merancang tata letak memori dengan cermat, kita dapat mencapai kontrol yang tepat terhadap objek target. Menggunakan fungsi GetMenuBarInfo() dan SetClassLongPtr() untuk masing-masing melakukan operasi baca sembarang dan tulis sembarang. Selain operasi tulis TOKEN yang menggantikan objek class jendela kedua, semua operasi tulis lainnya menggunakan objek class jendela pertama dengan menggunakan offset untuk menulis.
Secara keseluruhan, meskipun kerentanan win32k sudah ada sejak lama, Microsoft sedang berusaha untuk merestrukturisasi bagian kode inti tersebut menggunakan Rust, dan di sistem baru di masa depan, kemungkinan besar akan menghilangkan kerentanan semacam ini. Saat ini, proses pemanfaatan kerentanan semacam ini pada dasarnya tidak terlalu sulit, terutama bergantung pada kebocoran alamat pegangan tumpukan desktop. Bagi sistem yang sudah tua, ini masih merupakan risiko yang tidak aman.
Dari sudut pandang penemuan kerentanan, deteksi cakupan kode yang lebih lengkap mungkin dapat membantu dalam menemukan kerentanan semacam itu. Untuk deteksi eksploitasi kerentanan, selain memperhatikan titik kunci dari fungsi pemicu kerentanan, juga harus melakukan deteksi yang ditargetkan terhadap anomali tata letak memori dan pembacaan/penulisan offset data tambahan dari kelas jendela, ini mungkin menjadi salah satu cara yang efektif untuk menemukan kerentanan tipe yang sama.