Uwaga: podstawowym problemem jest dla mnie dostęp do udziału sieciowego, który ja (administrator systemu Win 7) skonfigurowałem po uruchomieniu podwyższonego programu. Zwykle podniesiony program nie będzie miał dostępu do moich nie podwyższonych udziałów sieciowych.
Według Microsoft ustawienie rejestru EnableLinkedConnections pozwoli podwyższonym procesom uzyskać dostęp do udziału sieciowego aktualnie zalogowanego (nie podwyższonego) procesu eksploratora.
To wyjaśnienie ma sens:
[...] Gdy jesteś członkiem grupy Administratorzy i logujesz się, Twoje konto zostaje zablokowane przez użytkownika nieuprzywilejowanego przez UAC. Ten działający kontekst jest całkowicie oddzielony od kontekstu, który otrzymujesz po kliknięciu Wiersza polecenia prawym przyciskiem myszy i uruchomieniu jako administrator. Jak zapewne zauważyłeś, dyski sieciowe podłączone w jednym kontekście nie są widoczne w drugim. [...]
W tym wątku na forum jest mowa o lukach otwartych przez to ustawienie. Odpowiedź zawiera linki do artykułu na temat wyłączania monitów UAC (a przynajmniej tak rozumiem).
Teraz powstaje pytanie, co robi EnableLinkedConnections ustawienie rejestru nie lub zezwolić na systemie Windows 7, biorąc pod uwagę, że jesteśmy nie działa w środowisku domeny .
Edycja: Jedną z rzeczy, które szczególnie mnie interesują, jest to, czy to ustawienie wpływa tylko na (widoczność) dysków sieciowych, czy też ma inne konsekwencje.
źródło
Odpowiedzi:
Nie mając dostępu do źródła systemu Windows trudno jest powiedzieć coś, co nie jest spekulacją. Poza tym zastrzeżeniem, oto, co udało mi się zebrać, czytając o tym:
Kontrola konta użytkownika tworzy dwa tokeny bezpieczeństwa podczas logowania: token z podwyższonym poziomem zawierający pełne członkostwo w grupie użytkownika i token ograniczony, do którego należy członkostwo w grupie „Administratorzy”. Każdy token zawiera odrębny lokalnie unikalny identyfikator (LUID), który identyfikuje sesję logowania. Są to dwie osobne i odrębne sesje logowania.
Począwszy od systemu Windows 2000 Server SP2, zamapowane dyski (które są reprezentowane jako dowiązania symboliczne w przestrzeni nazw menedżera obiektów) są oznaczane LUID tokenu, który je utworzył (niektóre odniesienia Microsoft do tego zachowania można znaleźć w tym artykule KBase , i można to zrobić dowiedz się więcej o mechanice tej funkcji w tym blogu ). Istotą tej funkcji jest to, że zamapowane dyski utworzone przez jedną sesję logowania nie są dostępne dla innej sesji logowania.
Ustawienie wartości EnableLinkedConnections wyzwala zachowanie w usłudze LanmanWorkstation i podsystemie bezpieczeństwa LSA (LSASS.EXE) w celu spowodowania przez LSA kopiowania dysków zmapowanych z jednego z tokenów użytkownika do kontekstu drugiego tokena. Dzięki temu dyski zmapowane z podniesionym tokenem będą widoczne dla tokena z ograniczeniami i odwrotnie. Nie ma osobliwości w zachowaniu tej funkcji w odniesieniu do środowiska w porównaniu do środowiska innego niż domena. Jeśli użytkownicy korzystają z kont „Administrator” w środowisku innym niż domena, ich tokeny zastrzeżone i podwyższone będą domyślnie miały niezależne mapowania dysków.
Pod względem podatności wydaje się, że brakuje oficjalnej dokumentacji firmy Microsoft. Znalazłem komentarz i odpowiedź pracownika Microsoftu pytającego o potencjalne luki w rozmowie na temat UAC z 2007 roku. Biorąc pod uwagę, że odpowiedź pochodzi od Jona Schwartza, który w tym czasie nosił tytuł „Architekt UAC”, zwykle uważają swoją odpowiedź za wiarygodną. Oto sedno jego odpowiedzi na następujące zapytanie: „... Nie znalazłem żadnych informacji, które mogłyby opisać, co faktycznie dzieje się technicznie lub czy powoduje to jakiekolwiek luki w UAC. Czy możesz to skomentować?”
Osobiście nie mogę wymyślić sposobu na „wykorzystanie” tej luki, ponieważ „wysiewanie” podniesionego tokena za pomocą mapowania dysku nadal wymagałoby od użytkownika podniesienia i wykonania czegoś złośliwego z tego „zaszczepionego” mapowania dysku. Nie jestem jednak badaczem bezpieczeństwa i być może nie podchodzę do tego z dobrym nastawieniem, aby wymyślić potencjalne exploity.
Mam uniknął pomocą EnableLinkedConnections wartości w moich stron klientowi przez kontynuując trend, który rozpoczęliśmy, gdy klienci zaczęli wdrażania systemu Windows NT 4.0-- konieczności logowania użytkowników o ograniczonych kontach użytkowników. To działało dla nas dobrze od lat i nadal działa dobrze w systemie Windows 7.
źródło
Mówiąc najprościej, łączy on poświadczenia superużytkownika z normalnymi poświadczeniami. Jest to oczywiście bardziej złożone, ale w zasadzie nawet twoje konto „administratora” w systemie Windows 7 nie jest administratorem, ale musi wykonać odpowiednik SUDO w systemie Linux, aby wykonać wiele operacji. Podczas mapowania dysku sieciowego należy to zrobić, ale dysk sieciowy zostanie zamapowany tylko dla superużytkownika, a nie dla zwykłego użytkownika. To ustawienie rejestru łączy poświadczenia superużytkownika ze standardowymi na potrzeby mapowanych dysków. W ten sposób oboje mogą uzyskać dostęp do zamapowanego dysku zamiast tylko superużytkownika.
źródło