Dopiero co pisaliśmy w dwóch artykułach o luce BlueKeep i namawialiśmy do aktualizacji Windows w przypadku podatności CVE-2019-0708, a już mamy kolejną związana z tym samym protokołem RDP. W zaleceniach Microsoft odnośnie zabezpieczenia komputerów pojawiło się między innymi zabezpieczenie logowania przy użyciu NLA (Network Level Authentication), czyli uwierzytelniania na poziomie sieci. Niestety jak się okazuje, ale i w tym przypadku Microsoft nie zagwarantuje nam 100% bezpieczeństwa.


NLA jednak nieskuteczne?

Reasearcher Joe Tammariello z Carnegie Mellon University Software Engineering Institute (SEI) ujawnił dzisiaj szczegóły na temat nowej i niezałatanej jeszcze luki w protokole Microsoft Windows Remote Desktop Protocol (RDP).
Luka została zgłoszona pod numerem CVE-2019-9510 i pozwala atakującym po stronie komputera klienckiego na ominięcie zablokowanego ekranu użytkownika zalogowanego w sesji pulpitu zdalnego (RDP) na serwerze Windows. Odkryta przez Joe podatności istnieje wówczas, gdy podczas logowania po RDP zaimplementowana jest funkcja Microsoft Windows Remote Desktop od klientów uwierzytelnienia za pomocą Network Level Authentication (NLA).


W czym tkwi problem?

W sytuacji, gdy wystąpi jakaś anomalia sieciowa np. atakujący wymusi rozłączenie sesji RDP w momencie, gdy klient był do niej połączony na serwerze lub administrator zamiar wylogowania się z sesji po prostu ją zamknie, pozostaje ona nadal aktywna, lecz ekran logowania pozostaje zablokowany (ang. locked). Po ponownym połączeniu sesja RDP zostanie automatycznie odblokowana, niezależnie od tego w jakim stanie został pozostawiony system zdalny.

Ciekawostką jest też to, że przy użyciu tego mechanizmu pomijane są dwuskładnikowe systemy uwierzytelniania, które integrują się z ekranem logowania Windows (np. MFA) oraz pomijane są wszelkie ekrany logowania wymuszone przez zabezpieczenia Microsoft w organizacji.


Scenariusz ataku

Scenariusz ataku jest następujący:

  1. Użytkownik zalogowany na komputerze łączy się z systemem Windows 10 lub Server 2019 za pośrednictwem RDS.
  2. Użytkownik blokuje sesję zdalną i pozostawia swój komputer bez jakiegokolwiek nadzoru.
  3. W tym momencie osoba atakująca z dostępem do komputera klienckiego może przerwać połączenie sieciowe i uzyskać dostęp do systemu zdalnego bez konieczności posiadania dodatkowych poświadczeń.

Widzimy, że wykorzystanie tej luki jest bardzo trywialne, ponieważ atakujący musi jedynie przerwać połączenie sieciowe systemu docelowego. Może to zrobić np. wyłączając na chwile połączenie sieciowe.

Jednakże, ponieważ atakujący wymaga fizycznego dostępu do takiego systemu docelowego (tj. aktywnej sesji z zablokowanym ekranem), sam scenariusz w większym stopniu ogranicza skalę ataku.


Jak sobie radzić z problemem?

Pomimo faktu, że 19 kwietnia Tammariello powiadomił firmę Microsoft o luce, producent w odpowiedzi stwierdził, że „Opisany scenariusz nie spełnia kryteriów Microsoft Security Servicing Criteria dla systemu Windows”, co oznacza, że nie planuje załatać problemu w najbliższym czasie.

Użytkownicy mogą jednak zabezpieczyć się przed potencjalnym wykorzystaniem tej luki, blokując swój własny system lokalny (pulpit) zamiast systemu zdalnego.

Zalecane jest wylogowywanie i niepozostawianie zablokowanych sesji RDP na serwerach.

Podziel się z innymi tym artykułem!