Analisis Kerentanan Zero-Day Sistem Windows Microsoft: Mungkin Mengancam Keamanan Ekosistem Web3
Belakangan ini, patch keamanan yang dirilis oleh Microsoft memperbaiki celah eskalasi hak akses di sistem Windows yang sedang dimanfaatkan oleh peretas. Celah ini terutama ada di versi Windows yang lebih awal dan tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan celah ini dalam konteks mekanisme keamanan yang terus diperkuat.
Latar Belakang Kerentanan
Ini adalah kerentanan zero-day, yaitu kerentanan sistem yang telah dieksploitasi sebelum dipublikasikan. Melalui kerentanan ini, hacker dapat mendapatkan kontrol penuh atas sistem Windows, yang dapat menyebabkan kebocoran informasi pribadi, keruntuhan sistem, kehilangan data, kerugian finansial, dan konsekuensi serius lainnya. Bagi pengguna Web3, kunci pribadi dapat dicuri, dan aset digital menghadapi risiko dipindahkan. Dari perspektif yang lebih luas, kerentanan ini bahkan dapat mempengaruhi seluruh ekosistem Web3 yang berjalan di atas infrastruktur Web2.
Analisis Kerentanan
Analisis patch menunjukkan bahwa ini adalah masalah terkait dengan penghitungan referensi objek jendela di win32k. Dengan menganalisis komentar kode sumber sebelumnya, ditemukan bahwa kode sebelumnya hanya mengunci objek jendela, tanpa mengunci objek menu di dalam jendela, yang menyebabkan objek menu mungkin direferensikan secara salah.
Analisis lebih lanjut menunjukkan bahwa masalah terletak pada fungsi xxxEnableMenuItem. Objek menu yang dikembalikan oleh fungsi ini bisa jadi adalah menu utama jendela, atau bisa juga submenu atau bahkan submenu dari submenu. Dengan membangun struktur menu berlapis yang bersarang secara khusus, seseorang dapat melepaskan objek menu tengah tertentu saat fungsi mengembalikan lapisan pengguna, sehingga menyebabkan kerentanan saat dirujuk di kemudian hari.
Eksploitasi Kerentanan
Ada dua pendekatan utama untuk memanfaatkan kerentanan ini:
Menjalankan kode shellcode. Namun, pada versi Windows yang lebih tinggi, cara ini menghadapi beberapa tantangan teknis.
Mengubah alamat token menggunakan primitif baca-tulis. Metode ini memiliki fleksibilitas yang lebih baik, terutama perlu menyelesaikan masalah bagaimana mengontrol nilai cbwndextra.
Solusi yang diadopsi akhirnya adalah:
Dengan mengontrol tata letak memori objek jendela, gunakan operasi bit pada flag dalam fungsi xxxRedrawWindow untuk menulis nilai cb-extra dari HWNDClass.
Rancang tata letak memori objek HWND yang berurutan, lepaskan objek tengah dan gunakan objek HWNDClass.
Menggunakan alamat handle kernel yang bocor di memori heap untuk mengontrol susunan objek dengan tepat.
Menggunakan GetMenuBarInfo() untuk membaca sembarang, SetClassLongPtr() untuk menulis sembarang.
Akhirnya, hak akses dapat ditingkatkan dengan mengubah alamat token.
Ringkasan
Microsoft sedang merekonstruksi kode terkait win32k menggunakan Rust, di masa depan kemungkinan kerentanan semacam ini akan berkurang.
Proses eksploitasi kerentanan ini relatif sederhana, terutama bergantung pada kebocoran alamat handle tumpukan desktop.
Menemukan kerentanan ini mungkin bergantung pada deteksi cakupan kode yang lebih baik.
Mendeteksi tata letak memori yang abnormal dan operasi baca/tulis membantu dalam menemukan celah serupa.
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.
13 Suka
Hadiah
13
3
Bagikan
Komentar
0/400
ApeWithNoChain
· 8jam yang lalu
Akibat tidak memperbarui sistem terlalu lama
Lihat AsliBalas0
Rekt_Recovery
· 13jam yang lalu
hilang 90% dengan leverage tetapi masih bertahan... berbagi cerita pertempuran dari parit sejujurnya
Lihat AsliBalas0
TokenTherapist
· 13jam yang lalu
Jangan selalu membuat hal-hal yang rumit dalam web3
Kerentanan nol hari Windows mengancam keamanan Web3: Kerentanan infrastruktur Web2 dapat mempengaruhi aset digital
Analisis Kerentanan Zero-Day Sistem Windows Microsoft: Mungkin Mengancam Keamanan Ekosistem Web3
Belakangan ini, patch keamanan yang dirilis oleh Microsoft memperbaiki celah eskalasi hak akses di sistem Windows yang sedang dimanfaatkan oleh peretas. Celah ini terutama ada di versi Windows yang lebih awal dan tidak dapat dipicu di Windows 11. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan celah ini dalam konteks mekanisme keamanan yang terus diperkuat.
Latar Belakang Kerentanan
Ini adalah kerentanan zero-day, yaitu kerentanan sistem yang telah dieksploitasi sebelum dipublikasikan. Melalui kerentanan ini, hacker dapat mendapatkan kontrol penuh atas sistem Windows, yang dapat menyebabkan kebocoran informasi pribadi, keruntuhan sistem, kehilangan data, kerugian finansial, dan konsekuensi serius lainnya. Bagi pengguna Web3, kunci pribadi dapat dicuri, dan aset digital menghadapi risiko dipindahkan. Dari perspektif yang lebih luas, kerentanan ini bahkan dapat mempengaruhi seluruh ekosistem Web3 yang berjalan di atas infrastruktur Web2.
Analisis Kerentanan
Analisis patch menunjukkan bahwa ini adalah masalah terkait dengan penghitungan referensi objek jendela di win32k. Dengan menganalisis komentar kode sumber sebelumnya, ditemukan bahwa kode sebelumnya hanya mengunci objek jendela, tanpa mengunci objek menu di dalam jendela, yang menyebabkan objek menu mungkin direferensikan secara salah.
Analisis lebih lanjut menunjukkan bahwa masalah terletak pada fungsi xxxEnableMenuItem. Objek menu yang dikembalikan oleh fungsi ini bisa jadi adalah menu utama jendela, atau bisa juga submenu atau bahkan submenu dari submenu. Dengan membangun struktur menu berlapis yang bersarang secara khusus, seseorang dapat melepaskan objek menu tengah tertentu saat fungsi mengembalikan lapisan pengguna, sehingga menyebabkan kerentanan saat dirujuk di kemudian hari.
Eksploitasi Kerentanan
Ada dua pendekatan utama untuk memanfaatkan kerentanan ini:
Menjalankan kode shellcode. Namun, pada versi Windows yang lebih tinggi, cara ini menghadapi beberapa tantangan teknis.
Mengubah alamat token menggunakan primitif baca-tulis. Metode ini memiliki fleksibilitas yang lebih baik, terutama perlu menyelesaikan masalah bagaimana mengontrol nilai cbwndextra.
Solusi yang diadopsi akhirnya adalah:
Dengan mengontrol tata letak memori objek jendela, gunakan operasi bit pada flag dalam fungsi xxxRedrawWindow untuk menulis nilai cb-extra dari HWNDClass.
Rancang tata letak memori objek HWND yang berurutan, lepaskan objek tengah dan gunakan objek HWNDClass.
Menggunakan alamat handle kernel yang bocor di memori heap untuk mengontrol susunan objek dengan tepat.
Menggunakan GetMenuBarInfo() untuk membaca sembarang, SetClassLongPtr() untuk menulis sembarang.
Akhirnya, hak akses dapat ditingkatkan dengan mengubah alamat token.
Ringkasan
Microsoft sedang merekonstruksi kode terkait win32k menggunakan Rust, di masa depan kemungkinan kerentanan semacam ini akan berkurang.
Proses eksploitasi kerentanan ini relatif sederhana, terutama bergantung pada kebocoran alamat handle tumpukan desktop.
Menemukan kerentanan ini mungkin bergantung pada deteksi cakupan kode yang lebih baik.
Mendeteksi tata letak memori yang abnormal dan operasi baca/tulis membantu dalam menemukan celah serupa.