info:dobreprogramy.plPrzeglądając dziś rosyjskojęzyczny Internet natrafiliśmy na bardzo ciekawe odkrycie, dotyczące kwestii bezpieczeństwa Windowsów. Tkwiąca od 19 lat w Windowsach umiarkowanie groźna luka w mechanizmie sieciowego uwierzytelniania zyskała dziś kły i szpony – pozwala ujawnić hasło do konta Microsoftu, a nawet przejąć dane logowania do VPN-ów.
Na łamach serwisu habrahabr.ruZaloguj lub Zarejestruj się aby zobaczyć!użytkownik ValdikSS przedstawia historię buga, który pamięta jeszcze czasy jednordzeniowych pecetów z 256 MB RAM i dotyczy mechanizmu pojedynczego logowania (Single Sign-On). Użytkownik loguje się po uruchomieniu komputera, a potem system operacyjny wykorzystuje te dane do uzyskania dostępu do wszelkich zasobów lokalnej sieci, po protokole NTLM. Przesyłane są w ten sposób nazwa domeny, nazwa konta i kryptograficzny skrót hasła. Jeśli dane są poprawne, dostęp zostaje przyznany. Jeśli nie, system wyświetla okno dialogowe z prośbą o nowe dane dostępowe.
I w zasadzie nie byłoby tu problemu, gdyby nie dostęp do zasobów spoza sieci lokalnej. Wystarczy spróbować otworzyć zasób SMB w Internet Explorerze, Edge lub jakiejkolwiek innej aplikacji korzystającej z Windows API – podczas zapytania zostaną wysłane aktualne dane konta, jeszcze przed wyświetleniem okna dialogowego z pytaniem o dane dostępowe. Przeprowadzenie ataku jest trywialne – wystarczy np. osadzić na stronie internetowej klikalny obrazek z linkiem do zasobu SMB, lub e-maila z takim obrazkiem wysłać użytkownikowi Outlooka. Jedno kliknięcie ofiary w obrazek i już dane logowania do sieci lokalnej są w rękach napastnika.
Uważano dotąd, że to nic strasznego, co z tego, że ktoś pozna dane logowania w lokalnej sieci, i to bez hasła. Gorzej jednak, jak zaatakowany komputer wykorzystywany jest w firmowej domenie – jak zauważa ValdikSS, z nazwy domeny nietrudno zrozumieć, o jaką organizację chodzi, a później wykorzystać te dane do uwierzytelniania się do korporacyjnych zasobów dostępnych z Internetu. Czasem nawet nie potrzeba tu hasła. Odpowiednio zestawiając przy ataku na uwierzytelnienie NTLM serwer proxy, można nawet uwierzytelnić się bez hasła – taki atak na Active Directory (LDAP) z wykorzystaniem sniffera Intercepter-NG zaprezentowano już dwa lata temuZaloguj lub Zarejestruj się aby zobaczyć!.
Sytuacja pogorszyła się wraz z nastaniem Windowsa 8, w którym Microsoft zaczął zachęcać użytkowników do logowania się do systemu nie poprzez lokalne konto, lecz poprzez konto Microsoftu. Oczywiście wciąż można było korzystać z systemu z kontem lokalnym, lecz wiele systemowych usług, na czele z Windows Store czy OneDrive było wówczas niedostępnych. Wspomniany wyżej atak, przeprowadzony przeciwko użytkownikom Windowsa 8, 8.1 czy 10, którzy korzystają z konta Microsoftu, da napastnikowi więc nie bezużyteczne w zasadzie dane lokalnego konta, lecz znacznie atrakcyjniejsze dane konta Microsoftu. To już jednak też było wiadome od jakiegoś czasu.
Wkładem ValdikaSS w tę metodę ataku jest odkrycie ciekawego zachowania Windowsa 10. Otóż jeśli nazwy NetBIOS i stacji roboczej są takie same, podczas próby dostępu do zasobu Windows używa danych aktualnego konta (czy to lokalnego, czy Konta Microsoftu). Jeśli nazwy się nie zgadzają, a użytkownik korzysta z VPN-u wykorzystującego standardowy protokół uwierzytelniania MSCHAPv2, to system operacyjny przesyła nazwę użytkownika i skrót kryptograficzny hasła do VPN-u. Co z tym można zrobić? ValdikSS pokazuje to na poniższym wideo, z atakiem przeciwko użytkownikom Internet Explorera, ale zauważa, że atak można spreparować tak, by zadziałał też na ofiary korzystające z Chrome (wykorzystując ścieżkę dostępu file://).
Podstawowym zastosowaniem jest oczywiście wykradanie dostępu do VPN-ów, jak autor odkrycia podkreśla, wielu dostawców stosuje te same loginy i hasła do kont co do uwierzytelnienia VPN. Wystarczy zlokalizować usługę po adresie IP. A w wypadku przejęcia hasha hasła do konta Microsoftu, to zawsze można spróbować sił z tęczowymi tablicami. W razie odtworzenia hasła, napastnik zyskuje pełen dostęp do wszystkiego, co ofiara umieściła w microsoftowych usługach.
Co robić, jak się ochronić?
Samo wyrzucenie Internet Explorera nie rozwiązuje problemu. Wiele innych aplikacji próbuje uzyskać dostęp do zasobów SMB poprzez API Windowsa. Najrozsądniej jest więc skorzystać z zapory sieciowej. ValdikSS radzi by domyślnie zablokować dostęp do portu 445 dla wszystkich klas adresów poza:
192.168.0.0/16
169.254.0.0/16
172.16.0.0/12
10.0.0.0/8
fd00 :: / 8
fe80 :: / 10
Z kolei inni użytkownicy wskazali, że mechanizm wyciekania danych można zablokować też w Rejestrze, wpisem:
Zaloguj lub Zarejestruj się aby zobaczyć!
Jeśli chcecie sprawdzić, czy Wasze systemy są na atak podatne, wypróbujcie usługę WitchZaloguj lub Zarejestruj się aby zobaczyć!, która taki właśnie atak na protokół NTLM przeprowadza.
Zaloguj
lub
Zarejestruj się
aby zobaczyć!