PrintNightmare Zafiyeti

2020 yılında ortaya çıkan PrintDemon zafiyetinin devamı niteliğini taşıyan PrintNightmare zafiyeti, ilk olarak CVE-2021-1675 koduyla, yerel ağda saldırganın Windows makinelerde yetki yükseltmesine sebep olması ile tanınmıştır.

2021 yılının Haziran ayında açığı kapadıklarına dair yama yayımlayan Microsoft’un ardından Çin asıllı SangFor Teknoloji şirketinde çalışan iki güvenlik uzmanı, uzaktan kod çalıştırmaya yarayan zafiyetin kavram ispatını da (PoC) yayımladılar.

Ancak Microsoft’un henüz bu zafiyet için yama çıkaramadıklarını anladıktan sonra PoC’yi silmek zorunda kalsalar da kaynak kodları artık İnternette yayıldığı için yeni bir türü yaratıldı ve yayımlandı. Bu dönüşüm ile uzaktan kod çalıştırma özelliğini de alarak artık CVE-2021-34527 zafiyeti ile tanınmaya başladı. Uzun bir süre bu açık kapatılamadığı için de kabuslara sebep olduğu ve Windows makinelerin PrintSpooler servisinden zafiyet meydana geldiği için “PrintNightmare” adını aldı.

Saldırganın makine üzerinde kullanıcı hesabı erişimine ihtiyacı olan zafiyet, Windows işletim sistemlerinde bulunan RpcAddPrinterDriverEx() fonksiyonunu sömürerek dll enjeksiyonuna sebep olup bulunduğu makinede NT AUTHORITY / SYSTEM yetkilerine sahip kullanıcı oluşturabiliyor ve alanda yönetici rolünü üstlenebiliyor.

Kaynak: Twitter akışı

PrintNightmare’den Sistemlerimizi Nasıl Koruyabiliriz?

Windows işletim sistemleriyle hayatımıza giren Active Directory’nin tasarımından kaynaklanan sömürü, Microsoft’un yayımladığı yamalara rağmen hala çalışır vaziyette. Güvenlik uzmanlarının yaptığı çalışmalar sonucu sistemlerimizi bu zafiyete karşı korumak için uzmanlarımız tarafından onaylanmış önerileri aşağıda bulabilirsiniz:

  • Öncelikli olarak 6 Temmuz 2021’den sonra gelen güncellemeleri yapın.
  • İhtiyaç olmayan sunucu ve kullanıcılarda PrintSpooler servisini devre dışı bırakın.
  • PowerShell’i yönetici yetkileri ile çalıştırıp aşağıdaki komutları girin:
  1. Stop-Service -Name Spooler -Force
  2. Set-Service -Name Spooler -StartupType Disabled
  • EnableLUA girdisini açın.

SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA DWORD 0 olan anahtar değerini 1 ile değiştirin.

  • PointAntPrint fonksiyonunda uyarısız sürücü yükleme değerlerini 0’a çekin.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint

  1. NoWarningNoElevationOnInstall anahtar değerini 0’a çekin (DWORD).
  2. UpdatePromptSettings anahtar değerini 0’a çekin (DWORD).
  • Sürücü kurulumunu sadece yöneticilere özel yapın.

RestrictDriverInstallationToAdministrators değeri 0 ise 1’e getirin.

Yazar: A. Sencer KILIÇ