Przez bufor wydruku do admina. Microsoftu przygody z Windows Print Spooler

Przez bufor wydruku do admina. Microsoftu przygody z Windows Print Spooler

Bufor wydruku w Windowsie jest ciekawą rzeczą. Wprowadzony już chyba w Windows 95 pozostaje z nami nawet w Dziesiątce. Przy czym cały czas można znaleźć w nim przeróżne błędy bezpieczeństwa.

To już nie pierwszy raz, kiedy drukarki mogą stanowić dla Windowsów problem. W 2016 roku okazało się, że sterowniki tych urządzeń wcale nie muszą być sterownikami, tylko dowolnym kodem. Luka opatrzona identyfikatorem CVE-2016-3238 nie wydaje się jednak być aż tak poważna, jak występujący teraz PrintingNightmare (CVE-2021-34527).

Nawiasem mówiąc, PrintingNightmare może nie jest taki groźny jak Stuxnet, który też wykorzystywał błędy Spoolera już w 2010 roku, ale to nadal 8.8 w skali CVSS3!

Shut it down, shut it down!

PrintingNightmare to podatność, którą można wykorzystać na dwa różne sposoby - zdalnie wykonać kod (Remote Code Execution - RCE) lub lokalnie podnieść sobie uprawnienia (Local Privilege Escalation). W tym przypadku można dostać uprawnienia nawet nie Administratora, lecz samego SYSTEMu.

SYSTEM ponad wszystko (i wszystkimi)!

Exploit został opublikowany podobno przypadkowo.

Opublikowany kod na GitHubie, który potem wycofano, został niestety już skopiowany przez innych. Nic już nie mogło zatrzymać nadchodzącej małej katastrofy.

Google Cache dalej trzyma to w pamięci.

Zgodnie z chronologią wydarzeń znajdujemy się w momencie, gdzie exploit już wyciekł, a łatki jeszcze nie ma. Co robić, jak żyć?

Przede wszystkim - wyłączyć na serwerach usługę buforu wydruku. Można to zrobić Powershellem albo Zasadami grupy. Warto też zainstalować łatki od 0patch Team. A co na to Microsoft?

Wydanie łatki nic nie dało, nie dało nic.

Microsoft stosowną łatkę wydał. Szkoda, że na początku blokowała tylko zdalne wykonywanie kodu.

Potem jednak okazało się, że i "załatane" RCE można obejść.

Aby zabezpieczyć się przed nową wersją ataku, można pobawić się zasadą "Point and Print Restrictions", ale nadal lepszym wyjściem jest całkowite wyłączenie usługi buforu wydruku.

Tutaj można wyłączyć to dziadostwo. Oczywiście nie wolno zapomnieć o przestawieniu typu uruchomienia.

Na co należy czekać?

Należy czekać, aż Microsoft weźmie się w garść i załata PrintingNightmare jak trzeba. Łatka KB5004945 okazała się być wydana za szybko, gdyż w prosty sposób można ją obejść. Do momentu "ogarnięcia się", należy zastosować ww. obejścia. Ciekawe, czy nową łatkę też trzeba będzie poprawiać.