System operacyjny Windows zapewnia różne sposoby zarządzania zdalnymi systemami. Telnet, RDP, VNC to tylko niektóre z nich. Ale te opcje są zazwyczaj związane z GRAFICZNYM interfejsem użytkownika. Jeśli preferujemy interfejs wiersza poleceń, istnieje alternatywa o nazwie Psexec.
Psexec jest w rzeczywistości zestawem narzędzi składającym się z następujących narzędzi.,ed dla użytkowników w zdalnych systemach
PsLogList
używany do wyświetlania dzienników zdarzeń rezyduje w zdalnych systemachPsPasswd
używany do zmiany hasła użytkownika w zdalnym systemiePsPing
używany do pingowania ze zdalnego systemuPsServervice
używany do wyświetlania i zarządzania usługami systemu Windows w zdalnym systemiePsShutdown
używany do zamykania, wylogowywania, zawieszania i restartowania zdalnego systemu WindowsPsSuspend
używany do zawieszania i wznawiania procesów w zdalnym systemie Windows.,PsUptime
używane do wyświetlania zdalnego czasu pracy systemu większość tych narzędzi jest dostarczana w architekturze 32 i 64 bitowej. Pliki binarne mogą być odpowiednio używane.
Pobierz Psexec Tools
PStools został opracowany przez Marka Russinovich i można go pobrać z poniższego linku. PStools jest częścią pakietu „Sysinternals”, który zapewnia wiele narzędzi do zarządzania systemem i wewnętrznych funkcji. PStools można pobrać ze strony internetowej Sysinternals.,
Uruchom polecenie zdalny System
najbardziej podstawowe użycie polecenia Psexec jest po prostu uruchomienie simply command na zdalnym systemie. Aby uruchomić polecenie na zdalnym systemie, powinniśmy podać nazwę użytkownika i hasło wraz z poleceniem, które ma być uruchomione na zdalnym systemie. Składnia Ps exec jest jak poniżej.
psexec
w tym przykładzie uruchomimy ipconfig
polecenie w zdalnym systemie, gdzie jego adres IP jest 192.168.122.66
. Nazwa użytkownika to Administrator
, a hasło to 123456Ww
.,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig
Jak możemy patrz polecenie jest wykonywane w systemie zdalnym bez żadnego problemu.
przekierowanie wyjścia polecenia Psexec
Po uruchomieniu polecenia w zdalnym systemie, wyjście polecenia zostanie wydrukowane na bieżącym standardowym wyjściu, które jest naszą obecną powłoką. Wyjście To może zostać przekierowane do pliku >., Jeśli mamy dużo zdalnych systemów do uruchomienia polecenia ta opcja będzie bardzo przydatna.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig > 192.168.122.66_ifconfig
w tym przykładzie polecenieipconfig
jest zapisywane do pliku o nazwie192.168.122.66_ipcopnfig
.
podaj Hash
w poprzednim przykładzie podaliśmy hasło użytkownika. Jedyną opcją nie jest jasne hasło użytkownika tekstowego. Możemy również podać wartość hash tokena użytkownika. Idąc za przykładem, podajemy hash tokena użytkownika.,
$ psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t ipconfig
kopiowanie poleceń z lokalnego do Zdalnego Systemu
Uruchamianie poleceń na zdalnym systemie jest bardzo przydatną funkcją, ale jest jeszcze jedna przydatna funkcja, która ułatwi administratorom systemu i testerom zadań. Psexec może być użyty do skopiowania polecenia z systemu lokalnego do systemu zdalnego. Do kopiowania użyjemy opcji -c
. Po zakończeniu poleceń zdalna instancja zostanie usunięta.
w tym przykładzie skopiujemy cmd.exe
. Po zakończeniu operacji kopiowania cmd.,exe zostanie uruchomiony na zdalnym systemie.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -c cmd.exe
Jak widzę, że mamy powłokę cmd w zdalnym systemie.
Uruchom polecenie jako użytkownik systemowy
podczas uruchamiania poleceń w systemie zdalnym uprawnieniami i właścicielem procesu będzie podany użytkownik. Jeśli musimy zmienić zdalne polecenia właściciela użytkownika naSystem
użytkownika zapewnimy-s
opcja.,
w tym przykładzie użyjemy regedit.exe
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -s regedit.exe
Uruchom aplikację GUI na zdalnym systemie
systemy operacyjne Windows domyślnie dostarczają GUI. Psexec może być użyty do otwarcia aplikacji GUI na zdalnym systemie w określonej konsoli użytkownika. Konsola użytkownika oznacza po prostu pulpit użytkownika.
w tej aplikacji uruchomimy notepad.exe
na zdalnym systemie. Zdalny systemAdministrator
użytkownik może współdziałać z tym notatnikiem.,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -i notepad.exe
otrzymamy naszą lokalną powłokę po zamknięciu notatnika przez zdalnego użytkownika. Po zamknięciu kod zakończenia zostanie wydrukowany na konsoli psexec.
Utwórz interaktywną powłokę w zdalnym systemie
do tej pory wykonywaliśmy polecenia zdalnie. Po zakończeniu wykonywania polecenia zdalne połączenie systemowe zostanie zamknięte. To jest jak połączenie sesji., Psexec udostępnia zdalną powłokę lub wiersz poleceń. Psexec łączy remote i daje nam powłokę MS-DOS. Aby uzyskać zdalną powłokę, dostarczymy polecenie cmd.exe
w zdalnym systemie.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww cmd.exe
Uruchom regedit z uprawnieniami systemowymi
rejestr systemu Windows można zarządzać za pomocą narzędzia GUI o nazwie „regedit”., Regedit mogą być dostępne z aktualnym użytkownikiem, ale w niektórych przypadkach edycji lokalnego rejestru systemu z uprawnieniami „System” może być wymagane. Możemy otworzyć „Regedit” z uprawnieniami systemowymi za pomocą następującego polecenia psexec.
$ psexec -s -i regedit.exe
Psexec Tools
do tej pory udostępnialiśmy polecenia do uruchamiania zdalnych systemów. Jako administrator systemu codzienne operacje nie zmieniają się często. Psexec toolkit dostarcza kilka prostych poleceń do uruchomienia bezpośrednio bez dodawania polecenia jako parametru. Przyjrzymy się tym narzędziom poniżej.,
Lista plików w systemie zdalnym za pomocą polecenia PsFile
psfile może być używany do wyświetlania lub zamykania otwartych plików. Składnia jest bardzo podobna do polecenia PSexec. W tym przykładzie wymienimy pliki znajdujące się w C:\Users\
w zdalnym systemie.
$ psfile \\192.168.122.66 -u Administrator -p 123456Ww
lista Sid w systemie zdalnym z psgetsid
SID jest używany do identyfikacji użytkowników systemu Windows w bardziej szczegółowy sposób., We can list provided users SID with PsGetSid
command like below.
$ psgetsid \\192.168.122.66 -u Administrator -p 123456Ww
Get Remote System Information With PSInfo
PsInfo is a tool used to get remote system information like Uptime, Version, Windows variant etc.,
IE Version
pokazuje wersję programu Internet ExplorerSystem Root
pokaż, gdzie jest zainstalowany system operacyjnyProcessor
pokazuje liczbę procesorów lub wątkówProcessor Speed
Physical Memory
Video Driver
pokazuje aktualnie załadowaną nazwę sterownikawyświetla listę procesów w zdalnym systemie za pomocą pslist
procesy uruchomione w zdalnym systemie mogą być łatwo wymienione za pomocą PsList
Command.,
$ pslist \\192.168.122.66 -u Administrator -p 123456Ww
The output will provide following information about remote system processes.,
-
Name
jest nazwą pliku wykonywalnego -
Pid
jest identyfikatorem procesów, który identyfikuje procesy -
Pri
jest priorytetem, który wpływa na wydajność procesu w czasie dużego obciążenia -
Thd
jest numerem wątku -
Hnd
jest liczbą otwartych funkcji obsługi plików -
CPU Time
jest całkowitym zużyciem zasobów procesora jako czasu -
Elapsed Time
jest czasem od rozpoczęcia procesu.,
Zabij proces w zdalnym systemie za pomocą PsKill
procesy uruchomione w zdalnym systemie można łatwo zabić za pomocą poleceniaPsKill
. W celu zabicia procesu powinniśmy podać id procesu lub nazwę procesu jako argument. Zabijemy zdalny proces o ID procesu 2064
.,
$ pskill \\192.168.122.66 -u Administrator -p 123456Ww 2064
otrzymujemy komunikat, że Process 2064 on 192.168.122.66 killed....
wypisuje dzienniki zdarzeń w zdalnym systemie za pomocą psloglist
zdalne dzienniki systemowe mogą być łatwo wrzucane do lokalnego systemu za pomocą polecenia PsLogList
. Jeśli użyjemy tego polecenia bez żadnego dodatkowego parametru, zrzuci on wszystkie dzienniki zdarzeń ze zdalnego systemu, który wypełni wiersz poleceń., Tak więc dla przykładu ograniczymy dla ostatnich 5 minut dzienniki zdarzeń z opcją -m
.
$ psloglist \\192.168.122.66 -u Administrator -p 123456Ww -m 5
div
Zmień hasło w zdalnym systemie za pomocą polecenia pspasswd
hasła użytkowników zdalnego systemu można łatwo zmienić za pomocą poleceniaPSPasswd
. W tym przykładzie zmienimy hasło użytkownika Administrator
na 123456Aa
.,
$ pspasswd \\192.168.122.66 -u Administrator -p 123456Ww Administrator 123456Aa
ping z psping
innym użytecznym narzędziem jest PsPing
, które utworzy pakiety ICMP do ping . To polecenie uruchomi system lokalny.
$ psping google.com
Zarządzaj usługą w zdalnym systemie za pomocą PsService
PsService
polecenie służy do wyświetlania, uruchamiania i zatrzymywania usług w zdalnym systemie.,
List Services
We can list remote service with query
option.
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa query
Start Service Remotely
Remote service can be started with start
option. In this example we will start the service named ALG
service.,
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa start ALG
Po uruchomieniu usługi informacje o usłudze jest drukowana.
Zatrzymaj usługę zdalnie
zatrzymamy usługę ALG
w poniższym przykładzie.,
$ psservice \\192.168.122.66 -u Administrator -p 123456Aa stop ALG
Shutdown, Reboot, Suspend Remote System With PSShutdown
Remote system can be shut down with PSShutdown
command like below.
$ psshutdown \\192.168.122.66 -u Administrator -p 123456Aa -k