Uruchom jako inny użytkownik bez hasła z podniesionego monitu w systemie Windows

13

Istnieje kilka narzędzi do pracy jako inny użytkownik (np: runas, cpau, psexec), ale wszystkie z nich wymagają hasła dla danego użytkownika, nawet jeśli są już uruchomiony z podwyższonymi uprawnieniami.

Chciałbym osiągnąć następujące cele:

  1. Mam już podniesione zapytanie ( Administrator)
  2. Chciałbym, aby wykonać polecenie (np calc.exe) jak johnbez wpisywania / przekazując swoje hasło do uruchamiania narzędzia.

Na przykład w systemie Unix możesz po prostu:

root@server:~# su - john
Razvan
źródło

Odpowiedzi:

3

Używam tego cały czas. Wprowadzenie uwierzytelnienia wymaga pierwszego użycia (i kiedy hasło się zmienia), ale to wszystko.

runas /user:yourusernamehere /savecred "Your Executable Here"

Jeśli zapiszesz to polecenie jako część pliku nietoperza, możesz utworzyć skrót, który uruchomi to z uprawnieniami administracyjnymi, używając celu jak poniżej.

C:\Windows\System32\cmd.exe /c "C:\yourbatfilehere.bat"
Tim Brigham
źródło
3
Dziękuję za podpowiedź, ale niestety / savecred nie ma zastosowania w moim przypadku, ponieważ 1) dane logowania użytkownika mogą ulec zmianie ORAZ 2) polecenia do wykonania są generowane dynamicznie (więc musiałbym wpisać hasło dla każdego polecenia). Powinno to również działać w tle, bez interakcji użytkownika.
Razvan
@Razvan możesz zawijać swoje polecenia w pliku skryptu, tak długo, jak nazwa jest taka sama, twoje komendy mogą się łatwo zmieniać. Jeśli chodzi o zmianę poświadczeń ... musisz przekazać nowe poświadczenia naszą kopię w pamięci podręcznej. Nie ma trzeciej opcji.
Tim Brigham,
3

Nie, niemożliwe w systemie Windows. Zawsze musisz podać hasło przynajmniej raz, gdy uruchamiasz aplikacje na innym koncie użytkownika. Nawet jako administrator.

Zapobiega zabawnym wydarzeniom i umożliwia czystą kontrolę. Jeśli coś dzieje się na koncie użytkownika, użytkownicy nie mogą winić administratorów za zrobienie tego bez ich zgody.

Daniel
źródło
Ale czy to ograniczenie techniczne? Mógłbym pomyśleć, że niektóre odpowiednie pliki użytkownika wymagane do ustanowienia nowej sesji są szyfrowane przy użyciu poświadczeń użytkownika, dlatego nie byłoby możliwe uzyskanie nowej sesji bez podania odpowiednich poświadczeń (to tylko przypuszczenie).
Razvan
Nie rozumiem twojego komentarza. Jest to techniczne ograniczenie w tym sensie, że Microsoft postanowił zaplanować system Windows w taki sposób, aby nie można było podszyć się pod konto użytkownika bez znajomości jego hasła. Dlaczego i jak to nie ma znaczenia. Jedyną opcją jest podanie hasła lub zaakceptowanie faktu, że bez niego nie można podszywać się pod żadne konto.
Daniel
1
@Daniel, czy możesz podać link referencyjny do twierdzenia, że ​​jest to celowa, strategiczna decyzja?
ivan_pozdeev
Czy nie ma ACL, aby to umożliwić?
RandomInsano,
3

W systemie Windows można to zrobić tylko wtedy, gdy istnieje bieżąca sesja logowania użytkownika, którego próbujesz podszyć się. Wynika to z lokalnych zasad grupy „Podszywanie się pod klienta po uwierzytelnieniu”, które pozwalają członkom grupy Administratorzy robić to dokładnie (Znajduje się w sekcji Zasady lokalne> Przypisania praw użytkownika).

Jednym ze znanych mi narzędzi, które pozwala ci to zrobić, jest Process Hacker 2. Uruchom narzędzie jako lokalny administrator i znajdź proces działający jako użytkownik, którego chcesz podszyć się. Kliknij go prawym przyciskiem myszy, wybierz Różne> Uruchom jako ten użytkownik ..., a następnie wpisz ścieżkę binarną, którą chcesz uruchomić jako ten użytkownik, na przykład cmd. CMD otworzyłoby się wtedy jako ten użytkownik bez pytania o hasło tego użytkownika.

Bogaty
źródło
-3

Jeśli umieścisz plik .exe w folderze startowym, być może będziesz mógł go uruchomić jako taki.

KevinKTI
źródło
3
opracowanie: nie uruchamiasz go tak jak oni ... zmuszasz ich do uruchomienia go dla ciebie.
KevinKTI
2
Ponieważ użytkownik wpisuje hasło podczas logowania, wydaje się, że nie odpowiada na pytanie.
pisklęta