W tym artykule opisano błąd polegający na tym, że wprowadzenie roota po wyświetleniu monitu o odblokowanie umożliwia każdemu użytkownikowi odblokowanie preferencji systemowych. Ostrzega, że:
Nie trzeba tego robić samodzielnie, aby to zweryfikować. Takie postępowanie tworzy konto „root”, z którego inni mogą korzystać, jeśli go nie wyłączysz.
W tym artykule nie opisano, co zrobić, jeśli nadmiernie chętny inżynier odtworzył problem i teraz musi usunąć lub wyłączyć konto root.
W jaki sposób można bezpiecznie wyłączyć lub usunąć to konto?
Ta strona Apple opisuje, jak wyłączyć konto, ale to nie chroni przed błędem, ponieważ błąd może po prostu ponownie włączyć konto. Będzie działać, aby przywrócić system do normalnego stanu z wyłączonym rootem po usunięciu błędu bezpieczeństwa.
Aktualizacja 29.11.2017, 16:43 UTC
Zobacz Informacje o zawartości związanej z zabezpieczeniami w aktualizacji zabezpieczeń 2017-001 w celu zaktualizowania systemu macOS High Sierra w celu ochrony przed obejściem uwierzytelnienia administratora bez podania hasła administratora.
źródło
Odpowiedzi:
Łatka jest dostępna, kliknij tutaj lub po prostu zaktualizuj na maszynie
Co ciekawe, o ile wiem, nie ma łatki dla wersji beta i deweloperskich OSX. Zaktualizuję tę odpowiedź, jak tylko o nich usłyszę.
Pobierz łatkę powyżej. Pozostawiając resztę postu dla historii :-)
CVE to CVE-2017-13872, a NIST zaktualizuje analizę w najbliższej przyszłości.
Oryginalna odpowiedź, bez poprawek
Po pierwsze, nie wyłączaj konta root za pomocą GUI, ponieważ przyczyną problemu jest posiadanie konta root „wyłączonego”.
Należy włączyć użytkownika root i podać mu hasło. Jest to ważne , ponieważ luka jest dostępna również zdalnie, za pośrednictwem VNC i Apple Remote Desktop (aby wymienić tylko kilka) (inne źródło) .
Można to zrobić na dwa podstawowe sposoby; GUI i terminal.
Po pierwsze, GUI
Aby włączyć konto roota, przejdź do „Directory Utility”, tj. Cmd + spacja i wyszukiwanie. Naciśnij blokadę, aby odblokować „tryb administratora”, a następnie włącz konto root poprzez edycję -> „Włącz użytkownika root”.
Powinien prosić o hasło roota, na razie wprowadź swoje normalne hasło (abyś go nie zapomniał). Jeśli nie prosi o hasło, użyj Edycji -> „Zmień hasło roota” powyżej.
Terminal
Jeśli jesteś bardziej osobą terminalną, skorzystaj z poniższych:
To wystarcza w przypadku terminala, problem ze sposobem GUI polega na tym, że musimy umożliwić konto ustawienie hasła, czego nie musimy robić z terminalem.
Notatki
Nawet jeśli masz ustawione hasło do konta root, twój komputer stanie się podatny, jeśli wyłączysz konto root. Sprawą wydaje się być wyłączenie konta root. Powtarzam, więc użytkownik root powinien być włączony i mieć hasło, jeśli używasz GUI, podczas gdy przez terminal tylko używając „passwd” jest „ok” (chociaż ten stan jest nieosiągalny tylko przez GUI). Wygląda na to, że „Wyłącz root użytkownika” w „Directory Utility” usuwa hasło do konta root, w pewnym sensie dając ci konto root bez hasła, które jest podatne na atak.
Wygląda na to, że próba zalogowania się przy użyciu „root” w oknie logowania do systemu włącza konto roota, jeśli zostało wcześniej wyłączone. Tj. Z wyłączonym kontem root musisz wprowadzić root dwa razy w okienkach logowania systemu, aby uzyskać dostęp do roota i (zgodnie z moimi testami) przy pierwszej próbie konto root jest włączone (bez hasła, jeśli nie zostało ustawione przez
passwd
), i przy drugiej próbie przejścia.Wygląda na to, że problem jest otwarty od co najmniej 13.11.2017 (13 listopada), kiedy wspomniano o nim na forum wsparcia Apple .
Proszę, udowodnij, że się mylę, naprawdę doceniłbym teraz, że się mylę.
Straszna aktualizacja
Po włączeniu konta roota bez hasła (tj. Za pomocą panelu preferencji systemowych i kliknięciu „blokady” i wpisaniu „root” pustym hasłem raz, dwa lub trzy razy (liczba razy zależy od stanu początkowego)) można zalogować się do komputer z głównego ekranu logowania przy użyciu „root” i pustego hasła (!). Wydaje się, że SSH / Telnet nie działa, ale Apple Remote Desktop, Screen Sharing i VNC są podatne na ataki.
Dlatego dla administratorów sieci może być interesujące tymczasowe upuszczenie pakietów do następujących portów:
Dodatkowe czytanie:
Odważna próba odniesienia się do innych źródeł zajmujących się tym problemem. Edytuj i zaktualizuj moją odpowiedź, jeśli masz więcej.
źródło
/dev/null
na root. W ten sposób dostęp do konta root odbywa się poprzezsu
syscalls dla użytkowników z tym uprawnieniem.Jeśli nie możesz zainstalować oficjalnej łaty lub nie chcesz ufać, że działała, to
Nie chcesz wyłączać użytkownika root tylko w High Sierra.
Aby zabezpieczyć komputer Mac, włącz root z długim bezpiecznym hasłem.
Nie zmieniamy tego w pracy, dopóki nie pojawi się kolejna pełna wersja wydania dla systemu macOS, która prawdopodobnie wynosiłaby 10.13.2
Jeśli nie podejmiesz żadnych działań, użytkownik root zostanie wyłączony po wyjęciu z pudełka, a to źle, jeśli komputer Mac nie zostanie poprawnie załatany.
Jeśli chcesz, opcjonalnie utwardzaj powłokę, aż Apple ma oficjalną łatkę lub poprawkę.
Oto świetny skrypt do ustawiania losowego hasła roota i zmiany / ustawiania powłoki roota
/usr/bin/false
tak, aby nawet jeśli hasło zostało odgadnięte, powłoka roota nie może się zalogować:Zasadniczo robi trzy kluczowe rzeczy:
Tworzenie UserShell ma miejsce, jeśli powłoka nie jest ustawiona, a pełny skrypt sprawdza istniejącą powłokę i
-change
es ją zamiast-create
ją ing.Jak chronić się przed podatnością na rootowanie w macOS High Sierra?
źródło
Uruchom aktualizację oprogramowania ze sklepu App Store. Firma Apple wydała dziś rano aktualizację zabezpieczeń.
Informacje o zawartości związanej z zabezpieczeniami w aktualizacji zabezpieczeń 2017-001
Aktualizacje bezpieczeństwa Apple
źródło
Musisz zalogować się jako użytkownik root i zmienić hasło na coś silnego. Jeśli faktycznie tworzy ono nowe konto (w przeciwieństwie do włączenia już istniejącego konta root), należy je najpierw usunąć.
źródło
Firma Apple właśnie wydała aktualizację, aby rozwiązać problem.
Aktualizacja zabezpieczeń 2017-001 https://support.apple.com/en-us/HT208315
Aby zapobiec nieautoryzowanemu dostępowi do komputerów Mac, należy włączyć konto użytkownika root i ustawić hasło specjalnie dla użytkownika root.
https://support.apple.com/en-ph/HT204012
Jeśli Twoje konto użytkownika root jest już aktywne, upewnij się, że zmieniłeś hasło, aby upewnić się, że nie jest ustawiona luka w zabezpieczeniach hasła pustego.
źródło
Nie! Nie usuwaj konta roota!
Przede wszystkim
root
był obecny we wszystkich wersjach macOS, Mac OS X, Mac OS, a nawet w starożytnych wersjach systemu operacyjnego. macOS nie utworzył ostatnio tego konta z powodu podatności. Po prostu odsłonił go przypadkiem.Usunięcie
root
byłoby bardzo złym pomysłem i powiem ci dlaczego.To całkowicie sparaliżuje macOS, ponieważ nie byłoby konta z wystarczającymi uprawnieniami do uruchamiania krytycznych usług (takich jak WindowServer, który uruchamia GUI). Istnieją zabezpieczenia zapobiegające usuwaniu nieświadomych użytkowników
root
i nie należy ich omijać.Dowiedzmy się, kto uruchamia pierwsze procesy w systemie, najważniejsze procesy (za pomocą Monitora aktywności):
Hej, to
root
znowu nasza przyjazna okolica ! Pierwszy proces (z PID 0) jest faktycznie kontrolowany przez jądro i prawdopodobnie będzie miał pełne uprawnienia, ale jego proces potomnylaunchd
(odpowiedzialny za uruchamianie usług takich jak okno logowania i sam serwer okien) jest uruchamiany z uprawnieniamiroot
. Gdybyroot
nie istniał, proces ten nigdy by się nie rozpoczął lub nie miałby żadnych uprawnień.Zabezpieczanie konta root
Inne odpowiedzi dostarczyły łatkę wydaną przez Apple, która powinna rozwiązać problem. Jeśli jednak nie możesz lub nie chcesz go zainstalować ...
Działa, ponieważ macOS ponownie hashuje wprowadzone hasło jako „aktualizację”, ponieważ wyłączone konto (root) zostało nieprawidłowo wykryte jako posiadające stary skrót. Nadal będzie mówić, że jest niepoprawny, ale następnym razem skróty będą pasować (ponieważ macOS to zmienił) i pozwoli ci wejść.
Aby zabezpieczyć
root
, będziesz musiał użyć Directory Utility. Istnieją dwa sposoby dostępu do niego:/System/Library/CoreServices/Applications/
i naciśnij Idź (lub naciśnij Enter). Następnie otwórz Narzędzie katalogu.Po otwarciu Directory Utility musisz to zrobić
Po wykonaniu tej czynności wybierz
Change Root Password
lubEnable Root User
z menu Edycja. Wyświetlam się,Change Root Password
ponieważ moje konto root jest już włączone z silnym hasłem.Wybierz hasło, a teraz puste hasło nie będzie już działać.
Gratulacje! Nie jesteś już podatny na włamanie do roota.
źródło
!
(który, jako typ UNIX, prawdopodobnie rozpoznasz) poprawnie.