Microsoft Windows sisteminde ciddi bir 0day açığı var, Web3 güvenliğini tehdit edebilir.
Son günlerde, Microsoft'un yayınladığı güvenlik yamanında hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık esas olarak daha eski Windows sistem sürümlerinde mevcut olup, Windows 11'de tetiklenememektedir.
Bu tür win32k yükseltme açıkları uzun zamandır mevcut. Mevcut çeşitli güvenlik önlemlerinin sürekli olarak geliştiği bir ortamda, saldırganların bu açığı nasıl kullanmaya devam edeceği dikkat çekici. Bu açığı Windows Server 2016 ortamında derinlemesine analiz ettik.
0day açığı, henüz kamuya açıklanmamış ve düzeltilmemiş sistem açığıdır, bu durum hackerların sessizce faydalanabilmesine olanak tanır ve büyük bir yıkıcılığa sahiptir. Bu Windows sistem düzeyindeki 0day açığı aracılığıyla, hackerlar sistemin tam kontrolünü ele geçirebilir.
Sistem bir hacker tarafından kontrol altına alındığında, sonuçlar kişisel bilgi sızıntısı, sistem çökmesi, veri kaybı, mali kayıplar, kötü amaçlı yazılım yerleştirilmesi gibi durumlarla sınırlı olmamak üzere çok çeşitli olabilir. Bireysel kullanıcılar için, kripto para özel anahtarları çalınabilir, dijital varlıklar transfer edilebilir; daha geniş bir perspektiften bakıldığında, bu güvenlik açığı, Web2 altyapısına dayalı çalışan tüm Web3 ekosistemini bile etkileyebilir.
Yaman kodu analiz ederek, bir nesnenin referans sayısının bir kez daha işlenmesinin sorun olduğunu keşfettik. Önceki kaynak kodu yorumlarına dayanarak, önceki kod yalnızca pencere nesnesini kilitledi, pencere nesnesindeki menü nesnesini kilitlemedi, bu da menü nesnesinin yanlış bir şekilde referans alınmasına neden olabileceğini gösteriyor.
Bu açığı tetiklemek için özel çok katmanlı bir iç içe menü yapısı oluşturduk. Menü özelliklerini ve referans ilişkilerini titizlikle tasarlayarak, bazı fonksiyonlar kullanıcı katmanına döndüğünde belirli menü nesnelerini başarıyla serbest bırakabiliriz, bu da sonraki kodun geçersiz nesnelere referans vermesine neden olur.
Bu açığı kullanmanın anahtarı, cbwndextra parametresini çok büyük bir değere nasıl kontrol edeceğimizdir. Nihayetinde, bu hedefe ulaşmak için bellek düzenlemesi yaparak komşu nesnelerin bellek verilerini kontrol etmeyi seçtik.
Kararlı bir güvenlik açığı oluşturmak için, ardışık birden fazla pencere nesnesi ve pencere sınıfı nesnesini içeren özel bir bellek düzeni tasarladık. Belirli nesneleri serbest bırakıp yeniden kullanarak, kritik parametreler üzerinde kontrol sağlanabilir.
Okuma ve yazma işlemleri açısından, GetMenuBarInfo() ile her türlü okuma işlemi yapıyoruz, SetClassLongPtr() ile de her türlü yazma işlemi gerçekleştiriyoruz. TOKEN'ın yazma işlemi dışında, diğer yazma işlemleri ilk pencere nesnesinin sınıf nesnesinin ofset kullanılarak gerçekleştirilmesiyle tamamlanıyor.
Microsoft, Rust kullanarak win32k ile ilgili kodları yeniden yapılandırmaya çalışsa da, mevcut Windows sistemleri için bu tür açıklar hâlâ ciddi bir tehdit oluşturmaktadır. Açıkların istismar süreci oldukça basittir ve esasen masaüstü yığın tanıtıcı adresinin sızdırılmasına dayanmaktadır.
Bu açığın keşfinin, daha gelişmiş kod kapsama testi teknolojilerine bağlı olabileceğini düşünüyoruz. Gelecekte bu tür açıkların tespiti için, yalnızca açığı tetikleyen fonksiyonların kritik noktalarına odaklanmakla kalmayıp, aynı zamanda anormal bellek düzenleri ve veri okuma/yazma tespiti üzerinde de durulmalıdır.
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.
20 Likes
Reward
20
8
Share
Comment
0/400
ForumLurker
· 8h ago
Yine sistemi güncelleyelim.
View OriginalReply0
SurvivorshipBias
· 10h ago
Mac'e geçiyorum, hoşça kal!
View OriginalReply0
MEVHunter
· 15h ago
Yine bir Arbitraj fırsatı boş bir şekilde gelmiyor.
View OriginalReply0
ConsensusDissenter
· 15h ago
Çaylak, rol yapmayı bırak. Hiçbir etkisi yok.
View OriginalReply0
MEVSandwichVictim
· 15h ago
Yine Win'in deliği, kalbim çarpıyor.
View OriginalReply0
GasFeeTears
· 15h ago
Saçmalık, yine benden gas mı alıyor?
View OriginalReply0
tokenomics_truther
· 15h ago
Korktum korktum, hemen cüzdanı yedeklemeye gidiyorum.
Windows 0day açığı Web3 varlık güvenliği için tehdit oluşturuyor Uzmanlar saldırı prensibini detaylandırıyor
Microsoft Windows sisteminde ciddi bir 0day açığı var, Web3 güvenliğini tehdit edebilir.
Son günlerde, Microsoft'un yayınladığı güvenlik yamanında hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık esas olarak daha eski Windows sistem sürümlerinde mevcut olup, Windows 11'de tetiklenememektedir.
Bu tür win32k yükseltme açıkları uzun zamandır mevcut. Mevcut çeşitli güvenlik önlemlerinin sürekli olarak geliştiği bir ortamda, saldırganların bu açığı nasıl kullanmaya devam edeceği dikkat çekici. Bu açığı Windows Server 2016 ortamında derinlemesine analiz ettik.
0day açığı, henüz kamuya açıklanmamış ve düzeltilmemiş sistem açığıdır, bu durum hackerların sessizce faydalanabilmesine olanak tanır ve büyük bir yıkıcılığa sahiptir. Bu Windows sistem düzeyindeki 0day açığı aracılığıyla, hackerlar sistemin tam kontrolünü ele geçirebilir.
Sistem bir hacker tarafından kontrol altına alındığında, sonuçlar kişisel bilgi sızıntısı, sistem çökmesi, veri kaybı, mali kayıplar, kötü amaçlı yazılım yerleştirilmesi gibi durumlarla sınırlı olmamak üzere çok çeşitli olabilir. Bireysel kullanıcılar için, kripto para özel anahtarları çalınabilir, dijital varlıklar transfer edilebilir; daha geniş bir perspektiften bakıldığında, bu güvenlik açığı, Web2 altyapısına dayalı çalışan tüm Web3 ekosistemini bile etkileyebilir.
Yaman kodu analiz ederek, bir nesnenin referans sayısının bir kez daha işlenmesinin sorun olduğunu keşfettik. Önceki kaynak kodu yorumlarına dayanarak, önceki kod yalnızca pencere nesnesini kilitledi, pencere nesnesindeki menü nesnesini kilitlemedi, bu da menü nesnesinin yanlış bir şekilde referans alınmasına neden olabileceğini gösteriyor.
Bu açığı tetiklemek için özel çok katmanlı bir iç içe menü yapısı oluşturduk. Menü özelliklerini ve referans ilişkilerini titizlikle tasarlayarak, bazı fonksiyonlar kullanıcı katmanına döndüğünde belirli menü nesnelerini başarıyla serbest bırakabiliriz, bu da sonraki kodun geçersiz nesnelere referans vermesine neden olur.
Bu açığı kullanmanın anahtarı, cbwndextra parametresini çok büyük bir değere nasıl kontrol edeceğimizdir. Nihayetinde, bu hedefe ulaşmak için bellek düzenlemesi yaparak komşu nesnelerin bellek verilerini kontrol etmeyi seçtik.
Kararlı bir güvenlik açığı oluşturmak için, ardışık birden fazla pencere nesnesi ve pencere sınıfı nesnesini içeren özel bir bellek düzeni tasarladık. Belirli nesneleri serbest bırakıp yeniden kullanarak, kritik parametreler üzerinde kontrol sağlanabilir.
Okuma ve yazma işlemleri açısından, GetMenuBarInfo() ile her türlü okuma işlemi yapıyoruz, SetClassLongPtr() ile de her türlü yazma işlemi gerçekleştiriyoruz. TOKEN'ın yazma işlemi dışında, diğer yazma işlemleri ilk pencere nesnesinin sınıf nesnesinin ofset kullanılarak gerçekleştirilmesiyle tamamlanıyor.
Microsoft, Rust kullanarak win32k ile ilgili kodları yeniden yapılandırmaya çalışsa da, mevcut Windows sistemleri için bu tür açıklar hâlâ ciddi bir tehdit oluşturmaktadır. Açıkların istismar süreci oldukça basittir ve esasen masaüstü yığın tanıtıcı adresinin sızdırılmasına dayanmaktadır.
Bu açığın keşfinin, daha gelişmiş kod kapsama testi teknolojilerine bağlı olabileceğini düşünüyoruz. Gelecekte bu tür açıkların tespiti için, yalnızca açığı tetikleyen fonksiyonların kritik noktalarına odaklanmakla kalmayıp, aynı zamanda anormal bellek düzenleri ve veri okuma/yazma tespiti üzerinde de durulmalıdır.