

Patch od Microsoftu nie chroni skutecznie przed PrintNightmare
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...