Microsoft Windows sistem düzeyinde 0day açığı analizi: sistemi tamamen kontrol etme
Son günlerde, Microsoft'un yayımladığı güvenlik yaması, kötü niyetli olarak kullanılmakta olan bir Win32k yetki yükseltme açığını düzeltmiştir. Bu açık yalnızca eski Windows sistem sürümlerinde bulunmaktadır ve Windows 11'de tetiklenemez. Bu makalede, mevcut güvenlik önlemlerinin sürekli artış gösterdiği bir ortamda, saldırganların bu açığı nasıl kullanmaya devam edebileceği analiz edilecektir.
Açığın Arka Planı
Bu, Windows sistem düzeyinde bir 0day açığıdır; hackerlar bu açığı kullanarak Windows'un tam kontrolünü elde edebilir. Kontrol altına alındıktan sonraki zararlar arasında kişisel bilgi hırsızlığı, sistem çökmesi, veri kaybı, mali kayıplar ve kötü amaçlı yazılım yerleştirilmesi bulunmaktadır. Özel anahtarların çalınması ve dijital varlıkların aktarılması gibi küçük sorunlardan, Web2 altyapısı üzerine inşa edilmiş Web3 ekosistemini etkileyebilecek büyük sorunlara kadar uzanabilir.
Yaman Analizi
Yamanlama yaması, bu bir nesne referans sayımının aşırı işlenmesi sorunu olduğunu ortaya koydu. Önceki kaynak kodu yorumlarından anlaşıldığı üzere, eski kod sadece pencere nesnesini kilitledi, pencere nesnesindeki menü nesnesini kilitlemedi, bu da menü nesnesinin yanlış bir şekilde referans almasına neden olabilir.
Açık Prensibi
Daha fazla analiz, xxxEnableMenuItem()'e geçirilen menülerin genellikle üst düzey fonksiyonlar tarafından kilitlendiğini ortaya koydu. xxxEnableMenuItem içindeki MenuItemState fonksiyonu iki olası menü döndürmektedir: pencere ana menüsü veya menüdeki alt menü.
Kavramsal Kanıt ( PoC ) Uygulaması
PoC, özel bir dört katmanlı menü yapısı oluşturdu ve xxxEnableMenuItem fonksiyonundaki kontrol ile belirli koşullar ayarladı. Ana adım, xxxRedrawTitle kullanıcı katmanını döndürdüğünde, Menü C ve Menü B'nin referans ilişkisini kaldırmak ve Menü C'yi serbest bırakmaktır. Böylece sonraki xxxEnableMenuItem fonksiyonu içinde Menü C'ye yapılan referanslarda, bu nesne geçersiz hale gelmiş olur.
Açık Kullanımı (Exp) Gerçekleştirme
Kullanım düşüncesi esasen iki türdür: shellcode kodunu çalıştırmak veya okuma/yazma ilkelere token adresini değiştirmek. Uyumluluğu göz önünde bulundurarak, ikincisi seçildi. Genel olarak iki adımdan oluşur: UAF açığını kullanarak cbwndextra değerini kontrol etmek ve ardından kararlı okuma/yazma ilkelere oluşturmak.
Anahtar noktalar şunlardır:
Pencere sınıfı adı nesnesi ile işgal edilen menü nesnesinin serbest bırakılması
xxxRedrawWindow fonksiyonunda yazılabilir veri konumunu bulun
Sürekli üç HWND nesnesini içeren kararlı bir bellek düzeni oluşturun.
GetMenuBarInfo() ve SetClassLongPtr() kullanarak okuma/yazma ilkesini gerçekleştirin.
Özet
Microsoft, Win32k ile ilgili kodları Rust ile yeniden yapılandırıyor, gelecekte bu tür açıkların önüne geçilebilir.
Açık istismar süreci çok zor değil, esasen masaüstü yığın işaretçisi adresinin sızdırılmasına dayanıyor.
Açıkların tespiti daha kapsamlı kod kapsama testlerine bağlı olabilir.
Anormal bellek düzeni ve pencere verisi okuma/yazma tespitleri benzer güvenlik açıklarını bulmaya yardımcı olur.
Bu tür açıklar yeni sistemlerde yavaş yavaş kapatılırken, eski sistemler için hâlâ bir güvenlik tehdidi oluşturmaktadır. Açık tespit ve koruma mekanizmalarının geliştirilmesi hala önemlidir.
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.
8 Likes
Reward
8
4
Share
Comment
0/400
UncleLiquidation
· 9h ago
Eski sistem köpek gibi kullanılmıyor.
View OriginalReply0
CommunityLurker
· 9h ago
Yine para kazanma fırsatı geldi.
View OriginalReply0
ser_ngmi
· 9h ago
Yani Microsoft'un beyin felci pump ile bu tür bir açığı ortaya çıkarabileceği.
View OriginalReply0
AirdropHunter9000
· 10h ago
Eski sistem hala güncellenmedi mi? Hiçbir şey yapmazsan ölmezsin.
Windows sistem düzeyinde 0day açığı analizi: Saldırganlar eski sistemleri tamamen kontrol edebilir.
Microsoft Windows sistem düzeyinde 0day açığı analizi: sistemi tamamen kontrol etme
Son günlerde, Microsoft'un yayımladığı güvenlik yaması, kötü niyetli olarak kullanılmakta olan bir Win32k yetki yükseltme açığını düzeltmiştir. Bu açık yalnızca eski Windows sistem sürümlerinde bulunmaktadır ve Windows 11'de tetiklenemez. Bu makalede, mevcut güvenlik önlemlerinin sürekli artış gösterdiği bir ortamda, saldırganların bu açığı nasıl kullanmaya devam edebileceği analiz edilecektir.
Açığın Arka Planı
Bu, Windows sistem düzeyinde bir 0day açığıdır; hackerlar bu açığı kullanarak Windows'un tam kontrolünü elde edebilir. Kontrol altına alındıktan sonraki zararlar arasında kişisel bilgi hırsızlığı, sistem çökmesi, veri kaybı, mali kayıplar ve kötü amaçlı yazılım yerleştirilmesi bulunmaktadır. Özel anahtarların çalınması ve dijital varlıkların aktarılması gibi küçük sorunlardan, Web2 altyapısı üzerine inşa edilmiş Web3 ekosistemini etkileyebilecek büyük sorunlara kadar uzanabilir.
Yaman Analizi
Yamanlama yaması, bu bir nesne referans sayımının aşırı işlenmesi sorunu olduğunu ortaya koydu. Önceki kaynak kodu yorumlarından anlaşıldığı üzere, eski kod sadece pencere nesnesini kilitledi, pencere nesnesindeki menü nesnesini kilitlemedi, bu da menü nesnesinin yanlış bir şekilde referans almasına neden olabilir.
Açık Prensibi
Daha fazla analiz, xxxEnableMenuItem()'e geçirilen menülerin genellikle üst düzey fonksiyonlar tarafından kilitlendiğini ortaya koydu. xxxEnableMenuItem içindeki MenuItemState fonksiyonu iki olası menü döndürmektedir: pencere ana menüsü veya menüdeki alt menü.
Kavramsal Kanıt ( PoC ) Uygulaması
PoC, özel bir dört katmanlı menü yapısı oluşturdu ve xxxEnableMenuItem fonksiyonundaki kontrol ile belirli koşullar ayarladı. Ana adım, xxxRedrawTitle kullanıcı katmanını döndürdüğünde, Menü C ve Menü B'nin referans ilişkisini kaldırmak ve Menü C'yi serbest bırakmaktır. Böylece sonraki xxxEnableMenuItem fonksiyonu içinde Menü C'ye yapılan referanslarda, bu nesne geçersiz hale gelmiş olur.
Açık Kullanımı (Exp) Gerçekleştirme
Kullanım düşüncesi esasen iki türdür: shellcode kodunu çalıştırmak veya okuma/yazma ilkelere token adresini değiştirmek. Uyumluluğu göz önünde bulundurarak, ikincisi seçildi. Genel olarak iki adımdan oluşur: UAF açığını kullanarak cbwndextra değerini kontrol etmek ve ardından kararlı okuma/yazma ilkelere oluşturmak.
Anahtar noktalar şunlardır:
Özet
Bu tür açıklar yeni sistemlerde yavaş yavaş kapatılırken, eski sistemler için hâlâ bir güvenlik tehdidi oluşturmaktadır. Açık tespit ve koruma mekanizmalarının geliştirilmesi hala önemlidir.