Microsoft, Temmuz 2022’de ilk olarak Ionescu ve Forshaw tarafından keşfedilen iyi bilinen bir PPL atlama açığını düzeltti.
Bu, çekirdek kodu yürütülmeden koruma ihlaline izin veriyordu ve bu güncelleme artık PPLdump PoC’yi bozdu.
Orange Cyberdefense’deki SCRT Ekibi araştırmacıları yakın zamanda tehdit aktörlerinin LSASS korumasını aşmasını sağlayan yeni bir istismar keşfetti. Bu yeni istismara “BYOVDLL” (Kendi Savunmasız DLL’nizi Getirin) adı verildi.
Teknik Analiz
Ancak Ekim 2022’de Gabriel Landau, güvenlik açığının “Kendi Güvenlik Açığı DLL’nizi Getirin” yaklaşımıyla yamalanmadan kaldığını ve herhangi bir gerekli ayarlama yapılmadan PPLdump’ı başarıyla çalıştırdığını açıkladı.
Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot
Bu gösteri, özellikle Microsoft’un yama çabalarına karşı sistem yeniden başlatma gerektirmeyen, farklı DLL’ler tarafından korunan süreçlerde keyfi kod yürütülmesinin incelenmesine yönelik ilgiyi tetikledi.
Windows sistem korumasının, güvenliğin derecesini veya sıralamasını tanımlayan farklı imzalayıcılarla Korunan İşlem (PP) ve Korunan İşlem Hafif (PPL) olmak üzere iki katmanı vardır.
Bir PPL olan LSASS, diğer üst seviye PP’lere kıyasla daha geniş bir saldırı yüzeyine sahip olması nedeniyle bellek içi kimlik bilgisi çıkarmada birincil odak noktası olarak karşımıza çıkmaktadır.
LSASS içindeki KeyIso servisinde iki ciddi güvenlik açığı vardı:-
Bu açığın kullanılabilmesi için hem keyiso.dll hem de ncryptprov.dll’nin güvenlik açığı bulunan sürümlerinin LSASS’ye yüklenmesi gerekiyordu.
Bu, keyiso.dll adlı güvenlik açığını yüklemek için kayıt defteri ayarlarını değiştirme, DLL’yi çıkarma ve düzgün bir şekilde imzalama ve ardından güvenlik açığı olan ncryptprov.dll dosyasını yüklemek için özel bir Anahtar Depolama Sağlayıcısı kaydetme gibi çeşitli adımlarla yapıldı.
Bu istismar yönteminin, sistemin yeniden başlatılmasına gerek kalmadan Windows’un güvenlik önlemlerini aşması, sistemlerinizi güvenli hale getirirken istismara açık alanları da korumanın ne kadar hassas bir denge olduğunu gösteriyor.
Bu istismarın başarılı bir şekilde gerçekleştirilmesi, görünüşte korunan süreçlerden kimlik bilgisi hırsızlığını hedefleyenler gibi karmaşık saldırı vektörlerine karşı kritik sistem süreçlerini savunmada yaşanan sürekli zorlukları ortaya koymaktadır.
Korunan LSASS süreci içerisinde, keyiso.dll ve ncryptprov.dll’nin güvenlik açığı bulunan sürümleri kullanılarak istismar zinciri başarıyla test edildi.
İmzalanmamış DLL’lerin yüklenmesini engelleyen PPL kısıtlamalarını aşmak için orijinal LoadLibraryW çağrısı OutputDebugStringW ile değiştirildi.
Bu değişiklik, dosya sistemi olaylarını algılamak için Process Monitor’a güvenmek yerine DebugView aracılığıyla bir yürütme onayı yapılabileceği anlamına geliyordu.
İstismar adımları KeyIso hizmetini yeniden başlatmayı ve özel bir Anahtar Depolama Sağlayıcısı kaydetmeyi içeriyordu.
Kavram kanıtı kodunu çalıştırdıktan sonra, “LSASS’deyim!!!” hata ayıklama mesajı, bu güvenli ortamda başarılı bir şekilde rastgele kod yürütülmesini doğruladı.
Bu gösteri, kendi güvenlik açığı bulunan dll’nizi getirmenin, yüksek güvenlik açıklarına (CVE-2023-36906 ve CVE-2023-28229) karşı yamaları yeniden tanıtmak ve istismar etmek için geçerli bir teknik olduğunu kanıtladı.
Sadece bir hata ayıklama mesajı göstermesine rağmen, güvenli süreçler içerisinde daha karmaşık istismar tekniklerinin temelini de attı.
Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Acces