Microsoft Windows sistem 0day açığı analizi ve kullanımı
Giriş
Geçen ayki Microsoft güvenlik yamanasında, yalnızca erken Windows sistemlerinde bulunan bir win32k yükseltme açığı yer alıyordu. Bu makalede, mevcut güvenlik önlemleri sürekli olarak iyileştirilirken, saldırganların bu açığı nasıl kullanmaya devam ettiğini analiz edeceğiz. Analiz ortamı Windows Server 2016'dır.
Açık Arka Plan
0day açığı, ifşa edilmemiş ve onarılmamış olan açıkları ifade eder; kötü niyetli bir şekilde kullanılabilir ve büyük zararlar verebilir. Bu sefer tespit edilen Windows sistemi 0day açığı, hackerların sisteme tam kontrol sağlamasına olanak tanımaktadır; sonuçları arasında ancak bunlarla sınırlı olmamak üzere:
Kişisel bilgi hırsızlığı
Sistem çökmesi veri kaybı
Mali kayıp
Kötü amaçlı yazılım yerleştirme
Şifreli özel anahtar çalındı
Dijital varlıklar transfer edildi
Daha geniş bir perspektiften bakıldığında, bu güvenlik açığı Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini etkileyebilir.
Yaman Analizi
Yaman, bir nesne referans sayımının birden fazla işlenmesi sorununu düzelten bir yamanın uygulandığını belirtti. Erken kaynak kodu açıklamalarını analiz ettiğimizde, orijinal kodun yalnızca pencere nesnesini kilitlediği, menü nesnesini kilitlemediği ve bunun menü nesnesinin yanlış referans almasına yol açabileceği tespit edildi.
Açık Kullanım Analizi
Analizler, xxxEnableMenuItem fonksiyonu içinde, MenuItemState fonksiyonunun döndürdüğü menünün iki olasılığı olduğunu gösteriyor: pencere ana menüsü veya menüdeki alt menü.
Özel çok katmanlı iç içe menü yapıları oluşturun ve belirli özellikler ayarlayın, böylece fonksiyon denetimini atlayabilirsiniz. xxxRedrawTitle fonksiyonu kullanıcı katmanına döndüğünde, menü arasındaki referans ilişkisini kaldırın ve hedef menü nesnesini serbest bırakın. Son olarak, xxxEnableMenuItem fonksiyonunda geçersiz hale gelmiş menü nesnesine atıfta bulunun.
Açık Kullanım Gerçekleştirme
Genel düşünce
İki kullanım yönünü dikkate alın:
shellcode kodunu çalıştır
Token adresini değiştirmek için okuma/yazma ilkelere kullanma
İkinci seçeneği seçin, kullanım sürecini iki soruya ayıracaktır:
UAF açığını nasıl kullanarak cbwndextra değerini kontrol edebilirim
Stabil okuma/yazma ilkesini nasıl gerçekleştirebiliriz
başlangıç verisi yazma
WNDClass içindeki pencere adı nesnesinin serbest bırakılan menü nesnesini kullanın. xxxRedrawWindow fonksiyonunda verilerin yazılabileceği zamanı bulun.
Son olarak, HWNDClass'ın cb-extra parametresine bayrak AND 2 işlemi ile yazmayı seçtik.
stabil bellek düzeni
Üç ardışık HWND nesnesi tasarlayın, orta nesneyi serbest bırakın ve HWNDClass nesnesi ile doldurun. Önceki ve sonraki HWND nesneleri sırasıyla şunlar için kullanılır:
Logo doğrulama parametreleri sağlar
Okuma yazma ilkel ortamı sağlamak
Sızdırılan çekirdek tutamaç adresi aracılığıyla nesne sıralama düzenini hassas bir şekilde belirlemek.
okuma yazma ilkel uygulaması
Herhangi bir okuma: GetMenuBarInfo()
Herhangi bir şey yaz: SetClassLongPtr()
TOKEN yazımı dışında, diğer yazma işlemleri ilk pencere nesnesinin sınıf nesnesini kullanır.
Özet
win32k açığı yeni Windows sürümünde ortadan kaldırılabilir.
Açık istismar süreci görece basittir, esasen masaüstü yığın tutucu adres sızıntısına dayanır.
Açıkların tespiti daha kapsamlı bir kod kapsamı tespiti gerektirebilir.
Anormal bellek okuma yazma tespitleri benzer açıkların bulunmasına 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.
13 Likes
Reward
13
3
Repost
Share
Comment
0/400
MidnightTrader
· 15h ago
Bir başka büyük delik, Windows gerçekten de hiç iyi değil.
View OriginalReply0
TokenDustCollector
· 15h ago
Microsoft'ın bu açığı biraz kötü, Özel Anahtar bile çalınabiliyor.
Windows 0day açığı analizi: Menü UAF'den sistem yetkilendirmesine
Microsoft Windows sistem 0day açığı analizi ve kullanımı
Giriş
Geçen ayki Microsoft güvenlik yamanasında, yalnızca erken Windows sistemlerinde bulunan bir win32k yükseltme açığı yer alıyordu. Bu makalede, mevcut güvenlik önlemleri sürekli olarak iyileştirilirken, saldırganların bu açığı nasıl kullanmaya devam ettiğini analiz edeceğiz. Analiz ortamı Windows Server 2016'dır.
Açık Arka Plan
0day açığı, ifşa edilmemiş ve onarılmamış olan açıkları ifade eder; kötü niyetli bir şekilde kullanılabilir ve büyük zararlar verebilir. Bu sefer tespit edilen Windows sistemi 0day açığı, hackerların sisteme tam kontrol sağlamasına olanak tanımaktadır; sonuçları arasında ancak bunlarla sınırlı olmamak üzere:
Daha geniş bir perspektiften bakıldığında, bu güvenlik açığı Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini etkileyebilir.
Yaman Analizi
Yaman, bir nesne referans sayımının birden fazla işlenmesi sorununu düzelten bir yamanın uygulandığını belirtti. Erken kaynak kodu açıklamalarını analiz ettiğimizde, orijinal kodun yalnızca pencere nesnesini kilitlediği, menü nesnesini kilitlemediği ve bunun menü nesnesinin yanlış referans almasına yol açabileceği tespit edildi.
Açık Kullanım Analizi
Analizler, xxxEnableMenuItem fonksiyonu içinde, MenuItemState fonksiyonunun döndürdüğü menünün iki olasılığı olduğunu gösteriyor: pencere ana menüsü veya menüdeki alt menü.
Özel çok katmanlı iç içe menü yapıları oluşturun ve belirli özellikler ayarlayın, böylece fonksiyon denetimini atlayabilirsiniz. xxxRedrawTitle fonksiyonu kullanıcı katmanına döndüğünde, menü arasındaki referans ilişkisini kaldırın ve hedef menü nesnesini serbest bırakın. Son olarak, xxxEnableMenuItem fonksiyonunda geçersiz hale gelmiş menü nesnesine atıfta bulunun.
Açık Kullanım Gerçekleştirme
Genel düşünce
İki kullanım yönünü dikkate alın:
İkinci seçeneği seçin, kullanım sürecini iki soruya ayıracaktır:
başlangıç verisi yazma
WNDClass içindeki pencere adı nesnesinin serbest bırakılan menü nesnesini kullanın. xxxRedrawWindow fonksiyonunda verilerin yazılabileceği zamanı bulun.
Son olarak, HWNDClass'ın cb-extra parametresine bayrak AND 2 işlemi ile yazmayı seçtik.
stabil bellek düzeni
Üç ardışık HWND nesnesi tasarlayın, orta nesneyi serbest bırakın ve HWNDClass nesnesi ile doldurun. Önceki ve sonraki HWND nesneleri sırasıyla şunlar için kullanılır:
Sızdırılan çekirdek tutamaç adresi aracılığıyla nesne sıralama düzenini hassas bir şekilde belirlemek.
okuma yazma ilkel uygulaması
TOKEN yazımı dışında, diğer yazma işlemleri ilk pencere nesnesinin sınıf nesnesini kullanır.
Özet
win32k açığı yeni Windows sürümünde ortadan kaldırılabilir.
Açık istismar süreci görece basittir, esasen masaüstü yığın tutucu adres sızıntısına dayanır.
Açıkların tespiti daha kapsamlı bir kod kapsamı tespiti gerektirebilir.
Anormal bellek okuma yazma tespitleri benzer açıkların bulunmasına yardımcı olur.