Odmowa dostępu do PsExec

11

Używam psexec.exedo uruchamiania programów w innym kontekście bezpieczeństwa. Jednak programy się uruchamiają, ale wydaje się, że nie działają w określonym kontekście bezpieczeństwa.

W minimalnej formie:

psexec -u wsadmin -p password cmd

Uruchamia nowe okno cmd, jeśli piszę w tym oknie whoami

C:\Windows\system32>whoami
win-k1r7g38nlkt\wsadmin

C:\Windows\system32>net localgroup administrators
Alias name     administrators
Comment        Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
wsadmin
The command completed successfully.

Jak widać, zdecydowanie jestem drugim użytkownikiem. I mogę potwierdzić, że ten użytkownik jest członkiem „grupy administratorów”

C:\Windows\system32>mkdir test
Access is denied.

Jeśli używam run z określonym użytkownikiem, działa to tak, jak powinno. Ale muszę podać hasło w wierszu polecenia.

Tuim
źródło

Odpowiedzi:

10

W systemie Windows Vista i nowszych, jeśli UAC jest włączony, proces uruchamiany przez psexec- nawet po uruchomieniu z konta administratora - musi mieć ustawiony token podniesienia, aby uzyskać pełne uprawnienia. Można to zrobić, przekazując -hatrybut w psexecwierszu polecenia. Więc zmień polecenie na:

psexec -h -u wsadmin -p password cmd

Aby uzyskać więcej informacji, uruchom psexec /?:

    -h    If the target system is Vista or higher, has the process
          run with the account's elevated token, if available.
nhinkle
źródło
9
Niestety daje mi to komunikat „Nie można zainstalować dostępu do usługi PSExec. Odmowa dostępu”
Tuim
Czy uruchamiasz również polecenie początkowe z wiersza polecenia z podwyższonym poziomem uprawnień, czy używasz go jako lokalnego programu uruchamiającego?
nhinkle
Oryginalne polecenie uruchamia kontekst bezpieczeństwa „użytkownika”. Nie mogę użyć Run-as z określonych powodów.
Tuim
1
Użyj „Podwyższonego wiersza polecenia” lub „Podwyższonego wiersza polecenia PowerShell” za pomocą polecenia „Start> Wpisz„ PowerShell ”> Kliknij prawym przyciskiem myszy„ Windows PowerShell ”> Wybierz„ Uruchom jako administrator ”, a następnie uruchom polecenie psexec wraz z -hopcją.
Podważ
@Underverse, Czy można używać psexec od CMD użytkownika, a nie od administratora PS? Chcę użyć psexec właśnie do przejścia CMD w kontekst administratora :)
Suncatcher
5

Zajęło mi to godziny, aby znaleźć sposób na pracę PsExecpomiędzy dwoma komputerami z systemem Windows 7 non-Admin użytkownik począwszy PsExec... Wyłączanie UAC ( EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) nie działa, wyłączenie Zapory nie działa ...

Tutaj znalazłem sposób działania - dzięki JelmerS: (Informacje z PSexec nie łączą się z maszyną przy użyciu podanej nazwy użytkownika i hasła )

Wynika to z faktu, że psexecnadal próbuje uzyskać dostęp do ADMIN$udziału przy użyciu lokalnych poświadczeń przed wykonaniem polecenia jako inny użytkownik. Zgodnie z tym wątkiem możesz buforować poświadczenia przed wykonaniem psexec:

cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE 
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE
Peter Feldhammer
źródło
Uwaga - jeśli nie chcesz hasła w historii wiersza poleceń, możesz po prostu użyć / pass bez hasła, a pojawi się monit o jego wprowadzenie.
Joe the Coder
1

Znalazłem rozwiązanie:

Okazuje się, że kiedy masz włączoną UAC, psexec nie działa zgodnie z planem.
Ilekroć HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUAjest ustawiony na 0psexec, działa zgodnie z oczekiwaniami.

Tuim
źródło
4
Innym sposobem, który nie wymaga zmiany rejestru, jest po prostu dodanie -hflagi do psexecpolecenia. To każe mu uruchomić polecenie z podniesionym tokenem, co jest równoważne z uruchomieniem procesu „jako administrator” z menu kontekstowego.
nhinkle
5
Ustawienie EnableLUAdo 0Wyłącza Admin Approval Mode, który jest w zasadzie podstawą ZAK. W rezultacie UAC zostanie wyłączony. Źródło .
Vlastimil Ovčáčík
Dla mnie flaga -h nie działała, a wyłączenie UAC było kłopotliwe, ale znalazłem lepszą alternatywę
mTorres
0

Oto, co działało dla mnie, nie pozbywa się całkowicie UAC, ale wyłącza go dla administratorów

Konfiguracja komputera \ Ustawienia systemu Windows \ Ustawienia zabezpieczeń \ Zasady lokalne \ Opcje zabezpieczeń \ Kontrola konta użytkownika: Uruchom wszystkich administratorów w trybie zatwierdzania przez administratora - wyłączone

cristobalhernandez
źródło
Co nie jest naprawdę świetnym pomysłem. Ponadto, w jaki sposób jest to poprawa w porównaniu z innymi dostępnymi rozwiązaniami?
Seth