Microsoft Windows Sistemi Ciddi Güvenlik Açığı Analizi: Sistemi Tamamen Kontrol Etme ve Web3 Güvenliğini Tehdit Etme
Geçen ay Microsoft'un yayımladığı güvenlik yamasında, hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık, esasen eski Windows sürümlerinde bulunuyor ve Windows 11'de tetiklenemiyor.
Bu tür Windows sistemlerinin alt düzeydeki açıkları uzun süre mevcuttur, bu makalede mevcut güvenlik koruma önlemlerinin sürekli güçlendiği bir bağlamda, hackerların bu açığı nasıl kullanmaya devam edebileceğini analiz edeceğiz. Analiz ortamımız Windows Server 2016'dır.
Bu açık, henüz kamuya açıklanmamış ve düzeltilmemiş bir sıfır gün açığıdır. Sıfır gün açığı keşfedildikten sonra kullanıcılar fark etmeden kötü niyetli bir şekilde kullanılabilir ve büyük yıkıcı etkileri olabilir. Bu Windows sistem açığı aracılığıyla, hackerlar sistemin tam kontrolünü elde edebilir.
Hackerlar tarafından kontrol edilen sistemlerin sonuçları ciddi, kişisel bilgilerin çalınması, sistem çökmesi ve veri kaybı, mali kayıplar, kötü amaçlı yazılımların yerleştirilmesi gibi durumları içerir. Bireysel kullanıcılar için, kripto para özel anahtarları çalınabilir ve dijital varlıklar transfer edilebilir. Daha geniş bir açıdan bakıldığında, bu açık, Web2 altyapısına bağımlı olan Web3 projelerini tehlikeye atabilir.
Yaman kodunu analiz et, sorun görünüşe göre bir nesnenin referans sayısı bir kez daha işlenmiş. Önceki win32k kaynak kodu yorumlarına göre, orijinal kod yalnızca pencere nesnesini kilitliyordu, pencere nesnesindeki menü nesnesini kilitlemiyordu, bu da menü nesnesinin yanlış bir şekilde referans alınmasına neden olabiliyordu.
Bir güvenlik açığı kanıtı ( PoC ) gerçekleştirdiğimizde, xxxEnableMenuItem fonksiyonundaki menü nesnesinin işlenmesinde bir sorun bulduk. Dönen menü ana pencere menüsü, alt menü veya hatta alt alt menü olabilir. Açığı tetikleyecek özel bir dört katmanlı menü yapısı oluşturduk.
(Exp)'i kullanmadan önce, iki ana yönü dikkate aldık: shellcode kodunu çalıştırmak ve okuma/yazma ilkelere kullanarak token adresini değiştirmek. Uygulanabilirliği göz önünde bulundurarak, ikincisini seçtik. Tüm sömürü süreci iki aşamaya ayrıldı: UAF açığını kullanarak cbwndextra değerini kontrol etmek ve ardından stabil bir okuma/yazma ilkesini kurmak.
İlk veri yazımını gerçekleştirmek için, WNDClass penceresi içinde bulunan pencere adı nesnesini serbest bırakılmış menü nesnesini kullanarak ayarlıyoruz. Bellek düzenini dikkatlice oluşturarak, bitişik nesnelerin bellek verilerini kontrol edebiliriz, böylece HWNDClass'ın cb-extra değerini değiştirebiliriz.
Üç ardışık HWND nesnesinin bellek düzenini tasarladık, ortadaki nesne serbest bırakıldıktan sonra HWNDClass nesnesi ile kaplanıyor. Önceki HWND nesnesi, fonksiyon aracılığıyla kontrol için kullanılırken, sonraki nesne nihai okuma/yazma işlemleri için kullanılıyor. Sızdırılan çekirdek tanıtıcısının adresi aracılığıyla, nesne dizilim sırasını hassas bir şekilde kontrol edebiliyoruz.
Okuma ve yazma işlemlerinde, GetMenuBarInfo() ile rastgele okuma, SetClassLongPtr() ile rastgele yazma gerçekleştiriyoruz. Token yazımı dışında, diğer tüm yazma işlemleri ilk pencere nesnesinin sınıf nesnesi kaydırmasını kullanarak gerçekleştirilir.
Genel olarak, Windows 11 önizleme sürümü win32k kodunu Rust ile yeniden yapılandırmaya başlamış olsa da, eski sistemler için bu tür açıklar hala bir güvenlik tehdidi oluşturmaktadır. Açıkların istismar süreci görece basit olup, esas olarak masaüstü yığın işaretçisi adresinin sızdırılmasına dayanmaktadır. Bu açığın keşfi, daha gelişmiş kod kapsama testlerine bağlı olabilir. Açık tespiti için, tetikleyici fonksiyonların kritik noktalarına odaklanmanın yanı sıra, anormal bellek düzeni ve veri okuma/yazma işlemlerine de dikkat edilmelidir.
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.
17 Likes
Reward
17
6
Share
Comment
0/400
FlashLoanLord
· 8h ago
Yine elma değiştirme zamanı geldi.
View OriginalReply0
LightningSentry
· 8h ago
Win11'i güncellemeden enayiler olmaya cesaret mi ediyorsun? Bi' şekilde soyulmalısın.
Windows ciddi bir güvenlik açığı Web3 güvenliğini tehdit ediyor, Hacker sistemin tamamen kontrolünü ele geçirebilir.
Microsoft Windows Sistemi Ciddi Güvenlik Açığı Analizi: Sistemi Tamamen Kontrol Etme ve Web3 Güvenliğini Tehdit Etme
Geçen ay Microsoft'un yayımladığı güvenlik yamasında, hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık, esasen eski Windows sürümlerinde bulunuyor ve Windows 11'de tetiklenemiyor.
Bu tür Windows sistemlerinin alt düzeydeki açıkları uzun süre mevcuttur, bu makalede mevcut güvenlik koruma önlemlerinin sürekli güçlendiği bir bağlamda, hackerların bu açığı nasıl kullanmaya devam edebileceğini analiz edeceğiz. Analiz ortamımız Windows Server 2016'dır.
Bu açık, henüz kamuya açıklanmamış ve düzeltilmemiş bir sıfır gün açığıdır. Sıfır gün açığı keşfedildikten sonra kullanıcılar fark etmeden kötü niyetli bir şekilde kullanılabilir ve büyük yıkıcı etkileri olabilir. Bu Windows sistem açığı aracılığıyla, hackerlar sistemin tam kontrolünü elde edebilir.
Hackerlar tarafından kontrol edilen sistemlerin sonuçları ciddi, kişisel bilgilerin çalınması, sistem çökmesi ve veri kaybı, mali kayıplar, kötü amaçlı yazılımların yerleştirilmesi gibi durumları içerir. Bireysel kullanıcılar için, kripto para özel anahtarları çalınabilir ve dijital varlıklar transfer edilebilir. Daha geniş bir açıdan bakıldığında, bu açık, Web2 altyapısına bağımlı olan Web3 projelerini tehlikeye atabilir.
Yaman kodunu analiz et, sorun görünüşe göre bir nesnenin referans sayısı bir kez daha işlenmiş. Önceki win32k kaynak kodu yorumlarına göre, orijinal kod yalnızca pencere nesnesini kilitliyordu, pencere nesnesindeki menü nesnesini kilitlemiyordu, bu da menü nesnesinin yanlış bir şekilde referans alınmasına neden olabiliyordu.
Bir güvenlik açığı kanıtı ( PoC ) gerçekleştirdiğimizde, xxxEnableMenuItem fonksiyonundaki menü nesnesinin işlenmesinde bir sorun bulduk. Dönen menü ana pencere menüsü, alt menü veya hatta alt alt menü olabilir. Açığı tetikleyecek özel bir dört katmanlı menü yapısı oluşturduk.
(Exp)'i kullanmadan önce, iki ana yönü dikkate aldık: shellcode kodunu çalıştırmak ve okuma/yazma ilkelere kullanarak token adresini değiştirmek. Uygulanabilirliği göz önünde bulundurarak, ikincisini seçtik. Tüm sömürü süreci iki aşamaya ayrıldı: UAF açığını kullanarak cbwndextra değerini kontrol etmek ve ardından stabil bir okuma/yazma ilkesini kurmak.
İlk veri yazımını gerçekleştirmek için, WNDClass penceresi içinde bulunan pencere adı nesnesini serbest bırakılmış menü nesnesini kullanarak ayarlıyoruz. Bellek düzenini dikkatlice oluşturarak, bitişik nesnelerin bellek verilerini kontrol edebiliriz, böylece HWNDClass'ın cb-extra değerini değiştirebiliriz.
Üç ardışık HWND nesnesinin bellek düzenini tasarladık, ortadaki nesne serbest bırakıldıktan sonra HWNDClass nesnesi ile kaplanıyor. Önceki HWND nesnesi, fonksiyon aracılığıyla kontrol için kullanılırken, sonraki nesne nihai okuma/yazma işlemleri için kullanılıyor. Sızdırılan çekirdek tanıtıcısının adresi aracılığıyla, nesne dizilim sırasını hassas bir şekilde kontrol edebiliyoruz.
Okuma ve yazma işlemlerinde, GetMenuBarInfo() ile rastgele okuma, SetClassLongPtr() ile rastgele yazma gerçekleştiriyoruz. Token yazımı dışında, diğer tüm yazma işlemleri ilk pencere nesnesinin sınıf nesnesi kaydırmasını kullanarak gerçekleştirilir.
Genel olarak, Windows 11 önizleme sürümü win32k kodunu Rust ile yeniden yapılandırmaya başlamış olsa da, eski sistemler için bu tür açıklar hala bir güvenlik tehdidi oluşturmaktadır. Açıkların istismar süreci görece basit olup, esas olarak masaüstü yığın işaretçisi adresinin sızdırılmasına dayanmaktadır. Bu açığın keşfi, daha gelişmiş kod kapsama testlerine bağlı olabilir. Açık tespiti için, tetikleyici fonksiyonların kritik noktalarına odaklanmanın yanı sıra, anormal bellek düzeni ve veri okuma/yazma işlemlerine de dikkat edilmelidir.