Microsoft IIS Tilde Vulnerability

Microsoft Internet Information Server (IIS), dosya adlandırma düzeninin 8.3 sürümünde eşdeğeri olan dosya ve dizinlerin kısa adlarının algılanmasına olanak veren bir güvenlik açığı bulunmaktadır ve bu zafiyet ile ilgili bir update bulunmadığı için işlemler sizin tarafınızdan yapılması gerekmektedir.
Saldırgan, tilde ‘~’ karakterini içeren belirli istekler oluşturarak, normalde görünmeyen dosya veya dizinleri bulmak ve hassas bilgilere erişim sağlamak için bu güvenlik açığından yararlanmaktadır. Uzak sunucu tarafından oluşturulan temel dosya sistemi çağrıları göz önüne alındığında, saldırgan hedeflenen uygulamada hizmet reddi girişiminde de bulunabilir.
Bu güvenlik açığı, dosya/dizin adının ilk altı karakterini ve uzantı adının ilk üç karakterini gösterir.
IIS 8.3 Güvenlik Açığı Düzeltme Adımları
İlgili zafiyet için Microsoft tarafından bir güncellenme yayınlanmadığı için işlemleri Regedit üzerinden yapmamız gerekmektedir.
Key: HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
Name: NtfsDisable8dot3NameCreation
Value: 1
NtfsDisable8dot3NameCreation
İlgili anahtar için değerlerin açıklamasını aşağıda ki gibi yapabiliriz.
- 0 => Tüm Birimlerde 8Dot3 Oluşturmayı Etkinleştirmektedir
- 1 => Tüm Birimlerde 8Dot3 Oluşturmayı Devre Dışı Bırakmaktadır
- 2 => FSUTIL kullanarak birim başına 8Dot3 ad oluşturmayı ayarlar (Windows 7 veya üzeri)
- 3 => Sistem birimi dışındaki tüm birimlerde (Windows 8 veya üzeri) 3Dot7 ad oluşturmayı devre dışı bırakmaktadır
Önerilen değer “1” değeridir.
İlgili kaydı oluşturduktan sonra IIS root dizini içerisinde bulunan kısa isimli dosyalarımızı kontrol edelim.
C:\Users\cengiz>cd C:\inetpub\wwwroot
C:\inetpub\wwwroot>dir /x
Directory of C:\inetpub\wwwroot
03/23/2023 02:37 PM <DIR> .
03/23/2023 02:35 PM <DIR> ..
03/23/2023 01:03 PM <DIR> ASPNET~1 aspnet_client
03/23/2023 02:36 PM 0 FILE~2.ASP file.aspx
03/23/2023 02:36 PM 0 FILETH~3.ASP file1.aspx
03/23/2023 02:36 PM 0 FILETW~1.ASP file22.aspx
03/23/2023 02:35 PM <DIR> folder
03/23/2023 09:49 PM 703 iisstart.htm
03/23/2023 09:49 PM 99,710 iisstart.png
03/23/2023 03:43 PM 120 VARS~1.ASP v.aspx
03/23/2023 12:44 PM 155 WEB~1.CON web.config
7 File(s) 100,688 bytes
4 Dir(s) 86,399,369,216 bytes free
Çıktıda göründüğü gibi anahtar ekleme işleminden sonra değişiklik yaşanmadı ilgili değişikliklerin yaşanması için Root dizinin tekrar oluşturulması gerekmektedir.
Mevcut klasörün ismini değiştirerek bulunduğu yerde tekrar kopyala yapıştır yaparak ve tekrar aynı klasör isminin verilmesi sonrası sorun düzelecektir.
Bu işlemden sonra tekrar kontrol ettiğiniz zaman kısa isimler gözükmeyecektir.
IIS Üzerinde Request Filtering Module
IIS üzerinde bulunan Request Filtering modülünü kullanarak “~” karakteri içeren tüm istekleri engelleyebiliriz.
Bu işlemi Site veya Sunucu düzeyinde gerçekleştirebilirsiniz.
inetmgr üzerinden Request Filtering modülünü açıyoruz ve URL sekmesine geliyoruz.
Actions menüsü üzerinden “Deny Sequence” adımından “~” karakterini ekleyerek engelleme işlemini gerçekleştirebiliriz.
IIS URL Rewrite Module Kullanarak Yapılandırma İşlemi
Aynı şekilde, “~” karakteri içeren istekleri engelleyebiliriz. Bu, 8dot3 dosya adı oluşturmaya hiçbir şey yapmamakadır.
inetmgr üzerinden URL Rewrite Modülü üzerine geliyoruz yine bu işlemi site veya sunucu düzeyinde yapabilirsiniz.
IIS – URL Rewrite – Actions menüsü üzerinden Add Rule – Request Blocking adımlarını takip ediyoruz.

Add Request Blocking Rule adımıından yapılandırmayı aşağıdaki gibi yapabilirsiniz.
- Block access based on: URL Path.
- Block request that: Matched the Pattern: \~
- Using: Regular Expressions.
- How to block: Abort Request.
