Windows-Betriebssystem bietet verschiedene Möglichkeiten, Remote-Systeme zu verwalten. Telnet, RDP, VNC sind einige von Ihnen. Diese Optionen sind jedoch im Allgemeinen an eine grafische Benutzeroberfläche gebunden. Wenn wir eine Befehlszeilenschnittstelle bevorzugen, gibt es eine Alternative namens Psexec.
Psexec ist eigentlich ein Toolset, das aus folgenden Tools besteht.,
PsLogList
zum Auflisten von Ereignisprotokollen auf den Remote-SystemenPsPasswd
zum Ändern des angegebenen Benutzerkennworts auf dem Remote-SystemPsPing
zum Pingen vom Remote-SystemPsServervice
zum Auflisten und Verwalten von Windows-Diensten auf dem Remote-SystemPsShutdown
zum Herunterfahren, Abmelden, Anhalten und Neustarten des Remote-Windows-SystemsPsSuspend
zum Anhalten und Fortsetzen von Prozessen auf dem Remote-Windows-System.,PsUptime
wird verwendet, um die Betriebszeit des Remote-Systems anzuzeigenDie meisten dieser Tools werden in der 32-und 64-Bit-Architektur bereitgestellt. Die Binärdateien können entsprechend verwendet werden.
Download Psexec Tools
PsTools wurde von Mark Russinovich entwickelt und kann unter folgendem Link heruntergeladen werden. PsTools ist Teil der“ Sysinternals “ – Suite, die viele Tools für die Systemverwaltung und interne Funktionen bietet. PsTools können von der Sysinternals-Website heruntergeladen werden.,
Run Command Remote System
Die grundlegendste Verwendung des Befehls Psexec besteht darin, einfach den Befehl auf dem Remote-System auszuführen. Um einen Befehl auf dem Remote-System auszuführen, sollten Sie einen Benutzernamen und ein Kennwort mit dem Befehl angeben, der auf einem Remote-System ausgeführt werden soll. Die Syntax des Ps exec ist wie folgt.
psexec
In diesem Beispiel führen wir den Befehl ipconfig
auf dem Remote-System aus, auf dem die IP-Adresse lautet 192.168.122.66
. Der Benutzername ist Administrator
und das Passwort ist 123456Ww
.,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig
Wie wir sehen können, wird der Befehl problemlos im Remote-System ausgeführt.
Psexec Befehlsausgabe umleiten
Nach dem Ausführen des Befehls auf dem Remote-System wird die Befehlsausgabe in die aktuelle Standardausgabe gedruckt, die unsere aktuelle Shell ist. Diese Ausgabe kann in eine Datei mit >umgeleitet werden., Wenn wir viele Remote-Systeme haben, um den Befehl auszuführen, ist diese Option sehr nützlich.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww ipconfig > 192.168.122.66_ifconfig
In diesem Beispiel wird die ipconfig
Befehlsausgabe in einer Datei mit dem Namen gespeichert .
Übergeben Sie den Hash
Im vorherigen Beispiel haben wir das Benutzerkennwort angegeben. Die einzige Option ist nicht das Klartext – Benutzerkennwort. Wir können auch den Hash-Wert des Benutzer-Tokens angeben. Im Anschluss an das Beispiel stellen wir den Hash des Benutzer-Token.,
$ psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t ipconfig
Copy-Befehl Von Lokal Auf Dem Remote-System
die Ausführung von Befehlen auf dem remote-system ist eine sehr nützliche Funktion, aber es ist ein weiteres nützliches feature, dass wird einfach Systemadministratoren und pen-Tester jobs. Psexec kann verwendet werden, um den Befehl vom lokalen System auf das Remote-System zu kopieren. Wir verwenden die option -c
kopieren. Sobald die Befehle beendet sind, wird die Remote-Instanz gelöscht.
In diesem Beispiel kopieren wir die cmd.exe
. Nach Kopiervorgang abgeschlossen ist cmd.,exe wird auf dem Remote-System gestartet werden.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -c cmd.exe
Wie wir sehen können, erhalten wir eine cmd-Shell auf dem Remote-System.
Befehl als Systembenutzer ausführen
Während der Ausführung von Befehlen auf dem Remote-System sind die Berechtigungen und der Prozessbesitzer der angegebene Benutzer. Wenn wir die Remote-Befehle owner user in System
user ändern müssen, stellen wir die Option -s
bereit.,
In diesem Beispiel verwenden wir regedit.exe
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -s regedit.exe
Führen Sie die GUI-Anwendung auf dem Remote-System aus
Windows-Betriebssysteme stellen standardmäßig eine GUI bereit. Psexec kann verwendet werden, um GUI-Anwendung auf dem Remote-System in der angegebenen Benutzerkonsole zu öffnen. Benutzerkonsole bedeutet einfach Benutzer Desktop.
In dieser Anwendung starten wir notepad.exe
auf dem Remote-System. Der Benutzer des Remote-Systems Administrator
kann mit diesem Notizblock interagieren.,
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww -i notepad.exe
Wir erhalten unsere lokale Shell nach dem Remote-Benutzer schließt den Notizblock. Nach dem Schließen wird der Exit-Code auf die psexec-Konsole gedruckt.
Interaktive Shell Auf dem Remote-System erstellen
Bisher haben wir Befehle remote ausgeführt. Nachdem die Ausführung des Befehls beendet ist, wird die Remotesystemverbindung geschlossen. Dies ist wie eine Sitzungsverbindung., Psexec bietet eine remote-shell oder Befehlszeile. Psexec verbindet Remote und gibt uns eine MS-DOS-Shell. Um eine Remote-Shell zu erhalten, stellen wir den Befehl cmd.exe
im Remote-System bereit.
$ psexec \\192.168.122.66 -u Administrator -p 123456Ww cmd.exe
Führen Sie Regedit mit Systemrechten aus
Die Windows-Registrierung kann mit dem GUI-Tool „Regedit“verwaltet werden., Auf Regedit kann mit dem aktuellen Benutzer zugegriffen werden, in einigen Fällen kann jedoch die Bearbeitung der lokalen Systemregistrierung mit den Berechtigungen „System“ erforderlich sein. Wir können das „Regedit“ mit Systemrechten mit dem folgenden Befehl psexec öffnen.
$ psexec -s -i regedit.exe
Psexec Tools
Bisher haben wir im Allgemeinen Befehle zum Ausführen von Remote-Systemen bereitgestellt. Als Systemadministrator ändern sich die täglichen Vorgänge nicht häufig. Das Psexec Toolkit bietet einige einfache Befehle, die direkt ausgeführt werden können, ohne einen Befehl als Parameter hinzuzufügen. Wir werden uns diese Tools unten ansehen.,
List-Datei Auf dem Remote-System Mit PsFile
PsFile Befehl kann verwendet werden, um Liste oder Schließen geöffnete Dateien. Die Syntax ist dem Befehl PsExec sehr ähnlich. In diesem Beispiel listen wir Dateien auf, die sich unter C:\Users\
auf dem Remote-System befinden.
$ psfile \\192.168.122.66 -u Administrator -p 123456Ww
Liste SID Auf Dem Remote-System Mit PsGetSid
SID wird verwendet, um zu identifizieren, Windows-Benutzern einen detaillierteren Mode., 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
zeigt die Internet Explorer-Version anSystem Root
zeigt an, wo das Betriebssystem installiert istProcessor
zeigt Prozessor-oder Threadanzahl anProcessor Speed
Physical Memory
Video Driver
zeigt aktuell geladenen TreibernamenListenprozess auf dem Remote-System Mit PsList
Prozesse, die auf dem Remote-System ausgeführt werden, können mit dem Befehl PsList
einfach aufgelistet werden.,
$ pslist \\192.168.122.66 -u Administrator -p 123456Ww
The output will provide following information about remote system processes.,
-
Name
ist der Name der ausführbaren Datei - ist die ID der Prozesse, die Prozesse identifiziert
-
Pri
ist Priorität, die die Prozessleistung in schweren Zeiten beeinflusst -
Thd
ist die Thread-Nummer -
Hnd
ist geöffnete datei handler count -
CPU Time
ist insgesamt verwendet CPU ressource als zeit -
Elapsed Time
ist zeit von beginn der prozess.,
Prozess am Remote-System beenden Mit PsKill
Prozesse, die auf dem Remote-System ausgeführt werden, können mit dem Befehl PsKill
einfach beendet werden. Um den Prozess zu beenden, sollten wir die Prozess-ID oder den Prozessnamen als Argument angeben. Wir werden den Remote-Prozess mit der Prozess-ID 2064
beenden .,
$ pskill \\192.168.122.66 -u Administrator -p 123456Ww 2064
Wir erhalten die Meldung Process 2064 on 192.168.122.66 killed....
p>
Listenereignisprotokolle auf dem Remote-System Mit PsLogList
Remote-Systemprotokolle können mit dem BefehlPsLogList
einfach in das lokale System abgelegt werden. Wenn wir diesen Befehl ohne zusätzliche Parameter verwenden, werden alle Ereignisprotokolle vom Remote-System ausgegeben, wodurch die Befehlszeile ausgefüllt wird., Für das Beispiel begrenzen wir die Ereignisprotokolle der letzten 5 Minuten mit der Option -m
.
$ psloglist \\192.168.122.66 -u Administrator -p 123456Ww -m 5
Passwort auf dem Remote-System ändern Mit PsPasswd
Remote-Systembenutzer passwörter können einfach mit PSPasswd
Befehl geändert werden. In diesem Beispiel ändern wir das Kennwort Administrator
in 123456Aa
.,
$ pspasswd \\192.168.122.66 -u Administrator -p 123456Ww Administrator 123456Aa
Ping Mit PsPing
Ein weiteres nützliches Tool ist PsPing
wodurch ICMP-Pakete zum Pingen erstellt werden . Dieser Befehl führt das lokale System aus.
$ psping google.com
Dienst auf dem Remote-System verwalten Mit dem Befehl PsService
PsService
werden Dienste auf dem Remote-System aufgelistet, gestartet und beendet.,
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
Nach dem Dienststart werden die Informationen über den Dienst gedruckt.
Dienst aus der Ferne stoppen
Im folgenden Beispiel stoppen wir den Dienst ALG
.,
$ 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