Microsoft Windows Sisteminde Ciddi Güvenlik Açığı Analizi: Web3 Güvenliğinde Önemli Risklere Yol Açabilir
Geçen ay Microsoft'un güvenlik yamanında, hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık, esas olarak erken Windows sürümlerinde mevcuttur ve Windows 11'de tetiklenemez. Bu tür açıklar yıllardır var olsa da, mevcut güvenlik önlemlerinin sürekli olarak geliştirilmesi bağlamında, saldırganların bunu nasıl kullanmaya devam ettiği derinlemesine analiz edilmeye değer.
Bu analiz, Windows Server 2016 sistemi temel alınarak yapılmıştır. Bu, hackerların Windows sistemini tamamen kontrol etmesine olanak tanıyan, kamuya açıklanmayan bir sıfır gün açığıdır. Sistem kontrol altına alındığında, sonuçlar kişisel bilgilerin sızdırılması, sistem çökmesi, veri kaybı, mali kayıplar gibi durumları içerebilir. Web3 kullanıcıları için, özel anahtarlar çalınabilir ve dijital varlıklar transfer edilebilir. Daha geniş bir perspektiften bakıldığında, bu açık, Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini bile etkileyebilir.
Yamanın analizi yoluyla, sorunun nesne referans sayımının yönetiminde olduğunu buldum. Önceki kaynak kodu yorumları, önceki kodun yalnızca pencere nesnesini kilitlediğini, ancak penceredeki menü nesnesini kilitlemediğini gösteriyor; bu da menü nesnesinin yanlış bir şekilde referans alınmasına yol açabiliyor.
Bu açığı yeniden oluşturmak için özel bir çok katmanlı iç içe menü yapısı oluşturduk ve her menüye sistemin ilgili kontrollerinden geçmek için belirli özellikler atadık. Anahtar nokta, kullanıcı katmanına döndüğümüzde menüler arasındaki referans ilişkisini kaldırmak ve hedef menü nesnesini başarılı bir şekilde serbest bırakmaktır. Böylece, çekirdek işlevi bu menüyü yeniden referans aldığında geçersiz bir nesneye erişilecektir.
Gerçek kullanımdaki, iki ana seçenek üzerinde durduk: shellcode çalıştırmak ve okuma/yazma ilkelere token adresini değiştirmek. Yüksek sürüm Windows'un güvenlik mekanizmasını göz önünde bulundurarak, ikinci seçeneği tercih ettik. Tüm süreç iki adıma ayrılabilir: öncelikle UAF açığını kullanarak cbwndextra değerini kontrol ediyoruz, ardından buna dayanarak kararlı bir okuma/yazma ilkesini oluşturuyoruz.
Stabil bir bellek düzeni sağlamak için, ardışık üç HWND nesnesinin yapısını tasarladık, orta nesneyi serbest bıraktık ve HWNDClass nesnesi ile doldurduk. Önceki ve sonraki HWND nesneleri, sistem kontrolü için ve nihai okuma/yazma aracı olarak kullanılmaktadır. Ayrıca, nesne diziliminin beklenildiği gibi olup olmadığını kesin olarak belirlemek için sızan çekirdek tanıtıcı adreslerini kullandık.
Okuma ve yazma işlemlerinde, GetMenuBarInfo() ile rastgele okuma, SetClassLongPtr() ile rastgele yazma işlemleri gerçekleştiriyoruz. TOKEN değiştirme işlemleri dışında, diğer tüm yazma işlemleri ilk pencere nesnesinin sınıf nesnesini kullanarak yapılmaktadır.
Genel olarak, Microsoft'un güvenliği artırmak için Rust ile ilgili çekirdek kodunu yeniden yapılandırmasına rağmen, mevcut sistemler için bu tür açıklar hala ciddi bir tehdit oluşturmaktadır. Açıkların istismar süreci görece basit olup, esasen masaüstü yığın işleme adresinin sızdırılmasına dayanmaktadır. Gelecekte, olağandışı bellek düzeni ve pencere işlemlerinin tespiti, benzer açıkların bulunmasına yardımcı olabilir.
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
5
Share
Comment
0/400
GasFeeCry
· 08-02 20:43
Win kaybetti
View OriginalReply0
MiningDisasterSurvivor
· 08-02 20:43
Yine bir grup enayi insanları enayi yerine koymak üzere. Tıpkı 18 yılında Özel Anahtar'ın çalındığı dönem gibi.
Windows açığı Web3 güvenliğini tehdit ediyor: Hackerlar sistemi kontrol ederek Özel Anahtarları çalabiliyor.
Microsoft Windows Sisteminde Ciddi Güvenlik Açığı Analizi: Web3 Güvenliğinde Önemli Risklere Yol Açabilir
Geçen ay Microsoft'un güvenlik yamanında, hackerlar tarafından istismar edilen bir Windows sistem yükseltme açığı düzeltildi. Bu açık, esas olarak erken Windows sürümlerinde mevcuttur ve Windows 11'de tetiklenemez. Bu tür açıklar yıllardır var olsa da, mevcut güvenlik önlemlerinin sürekli olarak geliştirilmesi bağlamında, saldırganların bunu nasıl kullanmaya devam ettiği derinlemesine analiz edilmeye değer.
Bu analiz, Windows Server 2016 sistemi temel alınarak yapılmıştır. Bu, hackerların Windows sistemini tamamen kontrol etmesine olanak tanıyan, kamuya açıklanmayan bir sıfır gün açığıdır. Sistem kontrol altına alındığında, sonuçlar kişisel bilgilerin sızdırılması, sistem çökmesi, veri kaybı, mali kayıplar gibi durumları içerebilir. Web3 kullanıcıları için, özel anahtarlar çalınabilir ve dijital varlıklar transfer edilebilir. Daha geniş bir perspektiften bakıldığında, bu açık, Web2 altyapısı üzerinde çalışan tüm Web3 ekosistemini bile etkileyebilir.
Yamanın analizi yoluyla, sorunun nesne referans sayımının yönetiminde olduğunu buldum. Önceki kaynak kodu yorumları, önceki kodun yalnızca pencere nesnesini kilitlediğini, ancak penceredeki menü nesnesini kilitlemediğini gösteriyor; bu da menü nesnesinin yanlış bir şekilde referans alınmasına yol açabiliyor.
Bu açığı yeniden oluşturmak için özel bir çok katmanlı iç içe menü yapısı oluşturduk ve her menüye sistemin ilgili kontrollerinden geçmek için belirli özellikler atadık. Anahtar nokta, kullanıcı katmanına döndüğümüzde menüler arasındaki referans ilişkisini kaldırmak ve hedef menü nesnesini başarılı bir şekilde serbest bırakmaktır. Böylece, çekirdek işlevi bu menüyü yeniden referans aldığında geçersiz bir nesneye erişilecektir.
Gerçek kullanımdaki, iki ana seçenek üzerinde durduk: shellcode çalıştırmak ve okuma/yazma ilkelere token adresini değiştirmek. Yüksek sürüm Windows'un güvenlik mekanizmasını göz önünde bulundurarak, ikinci seçeneği tercih ettik. Tüm süreç iki adıma ayrılabilir: öncelikle UAF açığını kullanarak cbwndextra değerini kontrol ediyoruz, ardından buna dayanarak kararlı bir okuma/yazma ilkesini oluşturuyoruz.
Stabil bir bellek düzeni sağlamak için, ardışık üç HWND nesnesinin yapısını tasarladık, orta nesneyi serbest bıraktık ve HWNDClass nesnesi ile doldurduk. Önceki ve sonraki HWND nesneleri, sistem kontrolü için ve nihai okuma/yazma aracı olarak kullanılmaktadır. Ayrıca, nesne diziliminin beklenildiği gibi olup olmadığını kesin olarak belirlemek için sızan çekirdek tanıtıcı adreslerini kullandık.
Okuma ve yazma işlemlerinde, GetMenuBarInfo() ile rastgele okuma, SetClassLongPtr() ile rastgele yazma işlemleri gerçekleştiriyoruz. TOKEN değiştirme işlemleri dışında, diğer tüm yazma işlemleri ilk pencere nesnesinin sınıf nesnesini kullanarak yapılmaktadır.
Genel olarak, Microsoft'un güvenliği artırmak için Rust ile ilgili çekirdek kodunu yeniden yapılandırmasına rağmen, mevcut sistemler için bu tür açıklar hala ciddi bir tehdit oluşturmaktadır. Açıkların istismar süreci görece basit olup, esasen masaüstü yığın işleme adresinin sızdırılmasına dayanmaktadır. Gelecekte, olağandışı bellek düzeni ve pencere işlemlerinin tespiti, benzer açıkların bulunmasına yardımcı olabilir.