Przed paroma dniami Microsoft zaczął udostępnianie łatki krytycznej podatności PrintNightmare, która ma na celu zablokowanie możliwości ataku exploitem. Podatność uznawana jest za krytyczną i pozwala atakującym na zdalne wykonanie kodu na komputerze ofiary. Po wydaniu patcha hakerzy szybko zaczęli udowadniać, że jest on kompletnie nieskuteczny. Spotkało się to z odpowiedzią Microsoftu, jednak ona też została podana w wątpliwość.
Luka w usłudze Windows Print Spooler, oznaczona identyfikatorem CVE-2021-34527, ma najwyższy stopień "dotkliwości", a co za tym idzie, Microsoft nie czekał z wydaniem łatki do lipcowego Patch Tuesday. Pośpiech jest więc uzasadniony, tyle że patch jest nieskuteczny. Jak udowadniają badacze zabezpieczeń, wprowadzone środki zapobiegawcze można całkowicie obejść. Zostało to pokazane na przykładzie w pełni załatanych systemów, w których możliwe jest wykonanie RCE i LPE.
Dealing with strings & filenames is hard😉
— 🥝 Benjamin Delpy (@gentilkiwi) July 7, 2021
New function in #mimikatz 🥝to normalize filenames (bypassing checks by using UNC instead of \\server\share format)
So a RCE (and LPE) with #printnightmare on a fully patched server, with Point & Print enabled
> https://t.co/Wzb5GAfWfd pic.twitter.com/HTDf004N7r
Biorąc pod uwagę, że ta podatność zero-day i jej exploity są powszechnie udostępniane "in the wild", systemy z aktywną usługą Print Spooler są narażone na przejęcie. Najlepszą opcją na zabezpieczenie systemu jest więc ręczne wyłączenie usługi albo zablokowanie przychodzącego drukowania zdalnego poprzez zasadę grupy. Microsoft podał, że w tym celu należy upewnić się, że następujące ustawienia rejestru są ustawione na "0" lub są niezdefiniowane:
- HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint
- NoWarningNoElevationOnInstall = 0 (DWORD) lub niezdefiniowane (ustawienie domyślne)
- NoWarningNoElevationOnUpdate = 0 (DWORD) lub niezdefiniowane (ustawienie domyślne)
Co ciekawe, badacz zabezpieczeń z CERT, Will Dormann, twierdzi, że drugie z powyższych ustawień wcale nie zapobiega możliwości wykorzystania luki:
Also, the @msftsecresponse description for how Point and Print is related seems to be just wrong. In my testing setting NoWarningNoElevationOnInstall = 0 does NOT prevent exploitation
— Will Dormann (@wdormann) July 6, 2021
Can we get some MSRC love to get the official publication as accurate as the Twitter volunteers? pic.twitter.com/rXaLU0P5tx
A co na to wszystko Microsoft? Twierdzi on, że jego dochodzenie pokazało, iż aktualizacja zabezpieczeń OOB [poza zakresem] działa zgodnie z tym, jak została zaprojektowana oraz że wszystkie zbadane raporty opierały się na zmianie domyślnego ustawienia rejestru związanego z Point and Print, prowadzącej do niebezpiecznej konfiguracji. Innymi słowy Microsoft umywa ręce i sugeruje, że to użytkownicy korzystają z Windows w nieodpowiedni sposób, który umożliwia atak exploitem.
Jak widać, problem nie został do końca rozwiązany i dyskusja Microsoftu z badaczami zabezpieczeń pewnie jeszcze trochę potrwa. Ci drudzy na pewno nie dadzą za wygraną i będą podważać naniesione poprawki. I bardzo dobrze, bo zmusi to producenta do przyjrzenia się wszystkim wyjątkom. Pytanie tylko, czy weźmie je pod uwagę, czy dalej będzie się tłumaczył tak, jak w cytatach powyżej...