Windows Server pozwala ominąć uwierzytelnianie i przejąć kontrolę nad domeną
Wada projektowa w implementacji protokołu MS-EFSR umożliwia przejęcie kontrolerów domeny Active Directory bez uwierzytelniania. Aby dokonać ataku z jej użyciem, konieczna jest obecność nieco egzotycznych warunków wstępnych, a kluczową kwestią jest włączony przestarzały sposób uwierzytelniania: NTLM. Microsoft sugeruje go wyłączyć. Udziela niniejszej rady już od wielu lat, od niedawna całkiem wprost. Problem w tym, że bardzo często to kompletnie niewykonalne.
Windows ostatnio nie ma szczęścia. Microsoft zmuszony był załatać dziurę w buforze wydruku (PrintNightmare), by wkrótce potem okazało się, że stworzona łatka nie rozwiązuje problemu w całości, w buforze znajdują się dwa inne błędy, a instalacja aktualizacji psuje niektóre drukarki. Wkrótce potem przyszło naprawiać serwer DNS, w którym odkryto kilka bardzo niebezpiecznych podatności. A na koniec odkryto, że systemowy plik z bazą poświadczeń jest niechroniony i przecieka przez kopie VSS.
Kradzież NTLM
Problem z MS-EFSR występuje, gdy na kontrolerze domeny pracuje rola Usług Certyfikacji Active Directory (ADCS). EFS jest związany z ADCS, bowiem szyfrowanie w nim przebiega za pomocą kluczy i certyfikatów (EFS oznacza Encrypting File System). EFS jest jednak mocno skomplikowany, czy wręcz "przekombinowany". Złożone rozwiązania są podatne na błędy w implementacji.
Tak też jest z MS-EFSR: dokumentacja mówi, że komunikacja RPC z usługą musi być uwierzytelniona. Praktyka dowodzi, że wcale tak nie jest i usługa odpowiada od razu. Można ją poprosić o uwierzytelnienie NTLM i wykraść wystawiane poświadczenia (NTLM hashes).
Zdobyte poświadczenia NTLM (ważne) można wykorzystać w wystawieniu żądania stworzenia certyfikatu, który zostanie wystawiony przez ADCS. W rezultacie otrzymamy... funkcjonujący certyfikat kontrolera domeny, którego można użyć by "logować się jako komputer" do usług domenowych. Na prawach kontrolera. Sztuczkę nazwano 'PetitPotam'.
Kompatybilność
Mimo, że Active Directory to "cud techniki", wiele jego elementów pochodzi z czasów, gdy nikt nie projektował pod kątem odporności na włamania. Uwierzytelnianie w Windows może być bezpieczne, ale bardzo trudno osiągnąć taki stan, gdy działa w nim NTLM. Mechanizm poświadczania tożsamości z czasów rozwiązania LAN Manager jest bezpieczny tylko na papierze: teoretycznie spełnia wymagania bezpieczeństwa. W praktyce jego implementacja to horror - słabe szyfry, naiwne założenia, brak kontroli przed zatruciem, łatwe "odkręcenie".
Wyłączenie NTLM wiąże się jednak z problemami z kompatybilnością. Dlatego domyślnie kontrolery domeny akceptują łączność NTLM. Wskazane jest jej zakazać, ale bardzo szybko może się okazać, że kluczowe firmowe oprogramowanie nie działa.
Microsoft wydał notatkę KB5005413, ale póki co zawiera ona jedynie mitygację, a nie łatkę.