Microsoft Windows Sistemi Açıkları Analizi: Web3 Ekosistem Güvenliğini Tehdit Edebilecek
Geçen ayki Microsoft güvenlik güncellemesinde, yalnızca erken Windows sistem sürümlerinde mevcut olan bir win32k yükseltme açığı bulundu. Bu makale, mevcut güvenlik önlemlerinin sürekli olarak iyileştirildiği bir bağlamda, saldırganların bu açığı nasıl kullanmaya devam edebileceğini analiz edecektir. Analiz süreci Windows Server 2016 ortamında tamamlanmıştır.
Bu tür 0day açıkları keşfedildiğinde, tespit edilmeden kötüye kullanılabilir ve büyük yıkıcılığa sahiptir. Bu açık aracılığıyla, hacker'lar Windows sisteminin tam kontrolünü elde edebilir. Kontrol altına alınmanın sonuçları arasında kişisel bilgilerin çalınması, sistem çökmesi ve veri kaybı, mali kayıplar, kötü amaçlı yazılım yerleştirilmesi gibi durumlar bulunmaktadır. Küçük ölçekli etkiler özel anahtarların çalınmasına ve dijital varlıkların transferine neden olabilirken, büyük ölçekli etkiler Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini tehdit edebilir.
Yaman Analizi
Yamanlama yaması analizinde, sorunun bir nesnenin referans sayısının bir kez daha işlenmesinden kaynaklandığı görünmektedir. Önceki kaynak kodu yorumlarına göre, önceki kod yalnızca pencere nesnesini kilitlerken, pencere nesnesindeki menü nesnesini kilitlememiştir, bu da menü nesnesinin yanlış bir şekilde referans alınmasına yol açabilir.
Açık Doğrulama
Özel çok katmanlı gömülü menü yapısı oluşturduk ve bir açığı tetiklemek için bazı belirli koşullar ayarladık:
En içteki menü ID'si sistem menü türü olmalıdır.
En dıştaki menü de sistem menüsü olmalıdır, ancak belirli sistem menü öğeleri silinmelidir.
Ara katmenülerin üst referanslarını sil
Başarılı bir şekilde serbest bırakmayı sağlamak için ek bir ara katman menüsü ekleyin
Kullanıcı katmanına dönen fonksiyonda kritik menü referans ilişkisini kaldırarak, başarılı bir şekilde serbest bırakılmasını sağlayın. Böylece, sonraki çekirdek fonksiyonlarda menü nesnesine atıfta bulunulduğunda sorunlar ortaya çıkacaktır.
Açık Kullanımı
Kullanım düşüncelerinin başlıca iki yönü var:
Shellcode kodunu çalıştırma - Bu yöntem yüksek sürüm Windows'larda birçok kısıtlama ile karşılaşabilir.
Token adresini değiştirmek için okuma-yazma ilkesini kullanma - Bu yöntem daha iyi bir genel geçerliliğe sahiptir.
İkinci seçeneği seçtik, tüm kullanım sürecini iki ana adımda böldük:
UAF açığını kullanarak cbwndextra değerini kontrol etme
Kararlı okuma-yazma ilkelere ulaşmak
İlk veri yazımını gerçekleştirmek için, pencere sınıfı ad nesnelerini serbest bırakılmış menü nesnesi belleğini kullanarak, herhangi bir verinin yazılabileceği adres yapısını bulduk. Sonunda, belirli bir işlevdeki bayrakları kontrol ederek veri yazmaya karar verdik.
Kararlı bir bellek düzeni elde etmek için, sürekli olarak üç eşit boyutta pencere nesnesi tasarladık, ortadaki nesneyi serbest bıraktık ve pencere sınıfı nesneleri ile yer kapladık. Bellek sızıntısı yoluyla elde edilen çekirdek tanıtıcısının adresini kullanarak nesne diziliminin beklentilere uygun olup olmadığını kesin bir şekilde belirledik.
Okuma yazma ilkesinde, herhangi bir okuma gerçekleştirmek için GetMenuBarInfo() kullanıyoruz, herhangi bir yazma işlemi için ise SetClassLongPtr() kullanıyoruz. Token yazma dışında, diğer yazma işlemleri birinci pencere nesnesinin sınıf nesnesini kullanıyor.
Özet
win32k açığı Windows 11 önizleme sürümünde engellenmiş olabilir
Bu tür güvenlik açıklarını kullanma süreci görece basittir, esas olarak masaüstü yığın nesne tutamaç adresi sızdırılmasına dayanır.
Açıkların tespiti daha kapsamlı bir kod kapsama testi gerektirebilir.
Anormal bellek düzeni ve veri okuma/yazma tespitleri, bu tür açıkları bulmaya yardımcı olur.
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.
10 Likes
Reward
10
7
Repost
Share
Comment
0/400
BlockchainWorker
· 11h ago
Çok tehlikeli, önce Linux platformuna geçerek hayatımı kurtarayım.
View OriginalReply0
ParallelChainMaxi
· 20h ago
Yine baba tarzı bir konu
View OriginalReply0
RugPullSurvivor
· 08-10 12:49
Web2 gündüz web3 gece Blok Zinciri'nde yaşamak, Kripto küçük enayiler yaşlı yağlılar haline geliyor, kripto dünyasında spekülasyona odaklanıyor, Metaverse Defi NFT dijital göçebe~
Lütfen yorumları Türkçe konuşma tarzında oluşturun.
Windows sistemindeki güvenlik açıkları Web3 ekosisteminin güvenliğini tehdit edebilir. Kullanım yolları ve önleme önerileri analizi.
Microsoft Windows Sistemi Açıkları Analizi: Web3 Ekosistem Güvenliğini Tehdit Edebilecek
Geçen ayki Microsoft güvenlik güncellemesinde, yalnızca erken Windows sistem sürümlerinde mevcut olan bir win32k yükseltme açığı bulundu. Bu makale, mevcut güvenlik önlemlerinin sürekli olarak iyileştirildiği bir bağlamda, saldırganların bu açığı nasıl kullanmaya devam edebileceğini analiz edecektir. Analiz süreci Windows Server 2016 ortamında tamamlanmıştır.
Bu tür 0day açıkları keşfedildiğinde, tespit edilmeden kötüye kullanılabilir ve büyük yıkıcılığa sahiptir. Bu açık aracılığıyla, hacker'lar Windows sisteminin tam kontrolünü elde edebilir. Kontrol altına alınmanın sonuçları arasında kişisel bilgilerin çalınması, sistem çökmesi ve veri kaybı, mali kayıplar, kötü amaçlı yazılım yerleştirilmesi gibi durumlar bulunmaktadır. Küçük ölçekli etkiler özel anahtarların çalınmasına ve dijital varlıkların transferine neden olabilirken, büyük ölçekli etkiler Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini tehdit edebilir.
Yaman Analizi
Yamanlama yaması analizinde, sorunun bir nesnenin referans sayısının bir kez daha işlenmesinden kaynaklandığı görünmektedir. Önceki kaynak kodu yorumlarına göre, önceki kod yalnızca pencere nesnesini kilitlerken, pencere nesnesindeki menü nesnesini kilitlememiştir, bu da menü nesnesinin yanlış bir şekilde referans alınmasına yol açabilir.
Açık Doğrulama
Özel çok katmanlı gömülü menü yapısı oluşturduk ve bir açığı tetiklemek için bazı belirli koşullar ayarladık:
Kullanıcı katmanına dönen fonksiyonda kritik menü referans ilişkisini kaldırarak, başarılı bir şekilde serbest bırakılmasını sağlayın. Böylece, sonraki çekirdek fonksiyonlarda menü nesnesine atıfta bulunulduğunda sorunlar ortaya çıkacaktır.
Açık Kullanımı
Kullanım düşüncelerinin başlıca iki yönü var:
İkinci seçeneği seçtik, tüm kullanım sürecini iki ana adımda böldük:
İlk veri yazımını gerçekleştirmek için, pencere sınıfı ad nesnelerini serbest bırakılmış menü nesnesi belleğini kullanarak, herhangi bir verinin yazılabileceği adres yapısını bulduk. Sonunda, belirli bir işlevdeki bayrakları kontrol ederek veri yazmaya karar verdik.
Kararlı bir bellek düzeni elde etmek için, sürekli olarak üç eşit boyutta pencere nesnesi tasarladık, ortadaki nesneyi serbest bıraktık ve pencere sınıfı nesneleri ile yer kapladık. Bellek sızıntısı yoluyla elde edilen çekirdek tanıtıcısının adresini kullanarak nesne diziliminin beklentilere uygun olup olmadığını kesin bir şekilde belirledik.
Okuma yazma ilkesinde, herhangi bir okuma gerçekleştirmek için GetMenuBarInfo() kullanıyoruz, herhangi bir yazma işlemi için ise SetClassLongPtr() kullanıyoruz. Token yazma dışında, diğer yazma işlemleri birinci pencere nesnesinin sınıf nesnesini kullanıyor.
Özet
Lütfen yorumları Türkçe konuşma tarzında oluşturun.
Hackerların enayileri oyuna getirmesini bekliyorum.