Hogyan védekezzünk a Windows Print Spooler elleni támadásokkal szemben?

 

A Microsoft májusi frissítési csomagjában befoltozta azt a Windows Print Spoolert (nyomtatási sorkezelő) érintő biztonsági hibát (CVE-2020-1048), amit például a hírhedt Stuxnet támadás során is kihasználtak a támadók. Az idei  Black Hat konferencián tartott előadásukban két kutató, Peleg Hadar és Tumar Bar ráadásul újabb biztonsági hibáról számoltak be a Spoolerrel kapcsoaltban, mindez rávilágít a nyomtatási folyamatok sérülékenységére.

A Print Spooler egy kis alkalmazás, amelynek feladata a nyomtatási feladatok kezelése. Amennyiben több nyomtatási feladat kerül kiküldésre egy nyomtatónak, a Print Spooler ezeket sorba rendezi és átmenetileg a memória pufferében tárolja, amíg a nyomtató dolgozik.

A „PrintDemonként” is hivatkozott sérülékenység a nyomtatási sorkezelő szolgáltatást (spoolsv.exe) érinti, amely egy közös interfészt nyújt az operációs rendszer, nyomtató szoftverek, nyomtató driverek és maguk a nyomtatók számára. A szolgáltatás 1996 óta minden Windows verzión megtalálható.

A sérülékenység három fő tényező miatt használható ki: nyomtató driver rendszergazdai jogosultság hiányában is telepíthető; fájlba is lehet nyomtatni; az alapvető nyomtatási szolgáltatások SYSTEM jogosultságokkal futnak.

A támadók például az alábbi támadási vektorokat [1] alkalmazhatják:

  • Egy privilegizált helyre történő fájlnyomtatás, abban a reményben, hogy a Spooler ezt majd végrehajtja.
  • Káros összetevőt tartalmazó nyomtató driver betöltése.
  • Távolról fájlok elhelyezése a Spooler RPC API-n keresztül.
  • Nyomtató driverek telepítése távolról.
  • EMF/XPS spooler fájlok parszolási hibáinak kihasználása kódfuttatás céljából.

 

Védekező lépések:

  • Mindig telepítsük az operációs rendszer és nyomtató driverek biztonsági frissítéseit.
  • Minden esetben kapcsoljuk ki a print spooler szolgáltatást, amennyiben arra nincs feltétlenül szükség (kivéve a domain controllert).
  • A „Get-PrinterPort” PowerShell parancs segítségével (vagy a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Ports kidumpolásával) ellenőrizhetjük a nyomtató port fájlokat. Különösen azok a portok gyanúsak, amelyek fájlútvonalakat tartalmaznak,  „.DLL”, vagy „.EXE” végződéssel.
  • Ne engedéylezzük a nyomtatók vezeték nélküli, illetve az Internet irányából történő elérését. (A Hewlett Packardtól elérhetők gyártói ajánlások a nyílt internet irányából történő eléréséhez.[2])

Források:

[1] PrintDemon: Print Spooler Privilege Escalation, Persistence & Stealth (CVE-2020-1048 & more) https://windows-internals.com/printdemon-cve-2020-1048/

[2] https://support.hp.com/us-en/document/c03687861

https://www.csoonline.com/article/3571420/how-to-secure-vulnerable-printers-on-a-windows-network.html?upd=1599045473506