Analisis Kerentanan Sistem Windows Microsoft: Mungkin Mengancam Keamanan Ekosistem Web3
Pembaruan keamanan Microsoft bulan lalu menyertakan sebuah kerentanan eskalasi hak akses win32k yang dapat dieksploitasi, yang tampaknya hanya ada di versi awal sistem Windows. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan kerentanan ini di tengah perbaikan terus-menerus terhadap langkah-langkah keamanan saat ini. Proses analisis dilakukan di lingkungan Windows Server 2016.
Setelah ditemukan, kerentanan 0day jenis ini dapat dimanfaatkan secara jahat tanpa terdeteksi dan memiliki dampak yang sangat merusak. Melalui kerentanan ini, hacker dapat mendapatkan kontrol penuh atas sistem Windows. Konsekuensi dari penguasaan ini termasuk pencurian informasi pribadi, keruntuhan sistem dan kehilangan data, kerugian finansial, serta penanaman perangkat lunak berbahaya. Dampak dalam skala kecil dapat menyebabkan pencurian kunci pribadi dan pemindahan aset digital, sementara dampak dalam skala besar dapat mengancam seluruh ekosistem Web3 yang berjalan di atas infrastruktur Web2.
Analisis Patch
Analisis patch menunjukkan bahwa masalah tampaknya disebabkan oleh penghitungan referensi objek yang diproses lebih dari sekali. Berdasarkan komentar kode awal, kode sebelumnya hanya mengunci objek jendela, tanpa mengunci objek menu di dalam objek jendela, yang dapat menyebabkan objek menu direferensikan secara tidak benar.
Verifikasi Kerentanan
Kami telah membangun struktur menu bertingkat khusus dan menetapkan beberapa kondisi spesifik untuk memicu kerentanan:
ID menu terluar harus berupa tipe menu sistem
Menu terluar juga harus merupakan menu sistem, tetapi perlu menghapus item menu sistem tertentu
Hapus referensi induk menu lapisan tengah
Tambahkan menu lapisan tengah tambahan untuk memastikan keberhasilan rilis
Hapus referensi hubungan menu kunci saat fungsi mengembalikan lapisan pengguna, agar menu tersebut berhasil dibebaskan. Dengan cara ini, akan muncul masalah saat merujuk objek menu tersebut dalam fungsi kernel selanjutnya.
Eksploitasi Kerentanan
Ada dua arah utama untuk memanfaatkan pemikiran:
Menjalankan kode shellcode - Metode ini mungkin memiliki banyak batasan di Windows versi tinggi.
Menggunakan primitif baca-tulis untuk mengubah alamat token - Metode ini memiliki generalitas yang lebih baik
Kami memilih opsi kedua, membagi seluruh proses pemanfaatan menjadi dua langkah kunci:
Menggunakan kerentanan UAF untuk mengontrol nilai cbwndextra
Mendapatkan primitif baca-tulis yang stabil
Untuk mencapai penulisan data pertama kali, kami menggunakan objek nama kelas jendela untuk mengalihkan memori objek menu yang dilepaskan, dan menemukan struktur alamat yang dapat ditulisi dengan data apa pun. Akhirnya, kami memilih untuk menulis data dengan menggunakan pemeriksaan bit flag dalam fungsi tertentu.
Untuk mendapatkan tata letak memori yang stabil, kami merancang tiga objek jendela dengan ukuran yang sama secara berurutan, membebaskan objek tengah dan menggunakan objek kelas jendela untuk menempati. Dengan menggunakan alamat pegangan kernel yang bocor di memori heap untuk secara akurat menentukan apakah susunan objek sesuai dengan yang diharapkan.
Dalam hal membaca dan menulis primitif, kami menggunakan GetMenuBarInfo() untuk melakukan pembacaan sembarangan, dan menggunakan SetClassLongPtr() untuk melakukan penulisan sembarangan. Selain penulisan token, semua operasi penulisan lainnya memanfaatkan objek kelas dari objek jendela pertama.
Ringkasan
Kerentanan win32k mungkin telah diatasi dalam versi prabaca Windows 11
Proses eksploitasi celah jenis ini relatif sederhana, terutama bergantung pada kebocoran alamat pegangan tumpukan desktop.
Penemuan kerentanan mungkin bergantung pada deteksi cakupan kode yang lebih lengkap.
Deteksi terhadap tata letak memori yang tidak normal dan pembacaan serta penulisan data membantu menemukan kerentanan semacam itu.
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.
11 Suka
Hadiah
11
9
Posting ulang
Bagikan
Komentar
0/400
MoneyBurnerSociety
· 6jam yang lalu
Baiklah, Kunci Pribadi Dompet sudah hilang, masih belajar apa itu Web3... Jebakan Cold Wallet tidak lebih baik?
Lihat AsliBalas0
OnChainDetective
· 13jam yang lalu
baru saja melacak kerentanan win32k ini... kelemahan infrastruktur web2 yang khas smh. bukan kuncimu bukan koinmu folks
Lihat AsliBalas0
BlockchainWorker
· 08-12 11:32
Terlalu berbahaya, ganti platform linux demi keselamatan.
Lihat AsliBalas0
ParallelChainMaxi
· 08-12 02:25
Ini adalah topik yang terasa seperti ayah.
Lihat AsliBalas0
RugPullSurvivor
· 08-10 12:49
Web2 siang, web3 malam, hidup di Blockchain, Crypto kecil yang jadi tua, fokus pada dunia kripto dan spekulasi, Metaverse Defi NFT digital nomad~
Silakan buat komentar dengan gaya percakapan dalam bahasa Mandarin.
Menunggu hacker play people for suckers.
Lihat AsliBalas0
metaverse_hermit
· 08-10 12:43
Juga mengurus pemain tunggal ya
Lihat AsliBalas0
SillyWhale
· 08-10 12:42
Siapa yang berani mengganggu dompet saya, coba saja!
Lihat AsliBalas0
DogeBachelor
· 08-10 12:32
Bergumul di garis depan web3 para suckers
Lihat AsliBalas0
TxFailed
· 08-10 12:30
momen klasik windows... belajar ini dengan cara yang sulit sejujurnya
Kerentanan sistem Windows dapat membahayakan keamanan ekosistem Web3. Analisis jalur pemanfaatan dan saran pencegahan.
Analisis Kerentanan Sistem Windows Microsoft: Mungkin Mengancam Keamanan Ekosistem Web3
Pembaruan keamanan Microsoft bulan lalu menyertakan sebuah kerentanan eskalasi hak akses win32k yang dapat dieksploitasi, yang tampaknya hanya ada di versi awal sistem Windows. Artikel ini akan menganalisis bagaimana penyerang mungkin terus memanfaatkan kerentanan ini di tengah perbaikan terus-menerus terhadap langkah-langkah keamanan saat ini. Proses analisis dilakukan di lingkungan Windows Server 2016.
Setelah ditemukan, kerentanan 0day jenis ini dapat dimanfaatkan secara jahat tanpa terdeteksi dan memiliki dampak yang sangat merusak. Melalui kerentanan ini, hacker dapat mendapatkan kontrol penuh atas sistem Windows. Konsekuensi dari penguasaan ini termasuk pencurian informasi pribadi, keruntuhan sistem dan kehilangan data, kerugian finansial, serta penanaman perangkat lunak berbahaya. Dampak dalam skala kecil dapat menyebabkan pencurian kunci pribadi dan pemindahan aset digital, sementara dampak dalam skala besar dapat mengancam seluruh ekosistem Web3 yang berjalan di atas infrastruktur Web2.
Analisis Patch
Analisis patch menunjukkan bahwa masalah tampaknya disebabkan oleh penghitungan referensi objek yang diproses lebih dari sekali. Berdasarkan komentar kode awal, kode sebelumnya hanya mengunci objek jendela, tanpa mengunci objek menu di dalam objek jendela, yang dapat menyebabkan objek menu direferensikan secara tidak benar.
Verifikasi Kerentanan
Kami telah membangun struktur menu bertingkat khusus dan menetapkan beberapa kondisi spesifik untuk memicu kerentanan:
Hapus referensi hubungan menu kunci saat fungsi mengembalikan lapisan pengguna, agar menu tersebut berhasil dibebaskan. Dengan cara ini, akan muncul masalah saat merujuk objek menu tersebut dalam fungsi kernel selanjutnya.
Eksploitasi Kerentanan
Ada dua arah utama untuk memanfaatkan pemikiran:
Kami memilih opsi kedua, membagi seluruh proses pemanfaatan menjadi dua langkah kunci:
Untuk mencapai penulisan data pertama kali, kami menggunakan objek nama kelas jendela untuk mengalihkan memori objek menu yang dilepaskan, dan menemukan struktur alamat yang dapat ditulisi dengan data apa pun. Akhirnya, kami memilih untuk menulis data dengan menggunakan pemeriksaan bit flag dalam fungsi tertentu.
Untuk mendapatkan tata letak memori yang stabil, kami merancang tiga objek jendela dengan ukuran yang sama secara berurutan, membebaskan objek tengah dan menggunakan objek kelas jendela untuk menempati. Dengan menggunakan alamat pegangan kernel yang bocor di memori heap untuk secara akurat menentukan apakah susunan objek sesuai dengan yang diharapkan.
Dalam hal membaca dan menulis primitif, kami menggunakan GetMenuBarInfo() untuk melakukan pembacaan sembarangan, dan menggunakan SetClassLongPtr() untuk melakukan penulisan sembarangan. Selain penulisan token, semua operasi penulisan lainnya memanfaatkan objek kelas dari objek jendela pertama.
Ringkasan
Silakan buat komentar dengan gaya percakapan dalam bahasa Mandarin.
Menunggu hacker play people for suckers.