PsExec: Was es ist und wie man es benutzt

Inhaltsverzeichnis:

PsExec: Was es ist und wie man es benutzt
PsExec: Was es ist und wie man es benutzt
Anonim

PsExec ist ein portables Tool von Microsoft, mit dem Sie Prozesse remote mit den Anmeldeinformationen eines beliebigen Benutzers ausführen können. Es ist ein bisschen wie ein Fernzugriffsprogramm, aber anstatt den Computer mit einer Maus zu steuern, werden Befehle über die Eingabeaufforderung gesendet.

Mit PsExec können Sie nicht nur Prozesse auf dem Remote-Computer verw alten, sondern auch die Konsolenausgabe einer Anwendung auf Ihren lokalen Computer umleiten, sodass es so aussieht, als würde der Prozess lokal ausgeführt.

Auf dem entfernten Computer wird keine Software benötigt, damit PsExec funktioniert, aber es gibt ein paar Dinge zu beachten, wenn das Tool beim ersten Versuch nicht richtig läuft.

Einrichten von PsExec

Wenn PsExec portabel ist und nicht auf den Remote-Computer kopiert werden muss, welche Art von Setup ist dann wirklich erforderlich?

Das Tool funktioniert nur unter bestimmten Bedingungen. Nämlich, wenn die Datei- und Druckerfreigabe sowohl auf dem lokalen als auch auf dem Remote-Computer aktiviert ist und wenn auf dem Remote-Computer die $admin-Freigabe korrekt eingerichtet ist, um Zugriff auf den Ordner \Windows\ zu gewähren.

Sie können überprüfen, ob die Datei- und Druckerfreigabe aktiviert ist, indem Sie in den Windows-Firewall-Einstellungen nachsehen:

  1. Geben Sie firewall.cpl in das Dialogfeld Ausführen ein. Eine Möglichkeit, Run zu öffnen, ist die Tastenkombination WIN+R.
  2. Wählen Sie Eine App oder Funktion durch die Windows-Firewall zulassen auf der linken Seite des Fensters aus.

    Image
    Image

    Dies könnte wie folgt lauten: Eine App oder Funktion durch die Windows Defender-Firewall zulassen, je nachdem, wie Ihr Computer eingerichtet ist, aber es ist dieselbe Option.

  3. Stellen Sie sicher, dass bei Datei- und Druckerfreigabe ein Häkchen im Kästchen Privat rechts davon ist. Wenn dies nicht der Fall ist, setzen Sie ein Häkchen in dieses Kontrollkästchen und wählen Sie OK.

    Image
    Image

    Wenn Sie die Firewall-Einstellungen nicht ändern können, weil sie ausgegraut sind, wählen Sie Einstellungen ändern oben im Fenster.

  4. Sie können jetzt alle geöffneten Windows-Firewall-Einstellungen verlassen.

Wenn die Windows-Firewall jetzt korrekt für PsExec eingerichtet ist, sollten Sie kein Problem haben, auf die $admin-Freigabe auf dem Remote-Computer zuzugreifen, solange Folgendes zutrifft:

  • Beide Computer gehören zur selben Arbeitsgruppe
  • Sie kennen das Passwort eines Administratorkontos auf dem entfernten Computer

Sehen Sie sich dieses Tutorial auf Wintips.org an, wenn Sie Hilfe bei diesen Dingen benötigen oder wenn Sie sie richtig gemacht haben, aber später, nachdem Sie versucht haben, PsExec wie unten beschrieben zu verwenden, erh alten Sie die Fehlermeldung „Zugriff verweigert“.

Verwendung von PsExec

Bevor Sie PsExec zum Ausführen von Remote-Befehlen verwenden, müssen Sie das Programm herunterladen und die Eingabeaufforderung so positionieren, dass Sie das Tool richtig verwenden können.

Herunterladen und öffnen

  1. Laden Sie PsExec auf den Computer herunter, auf dem die Remote-Befehle ausgeführt werden. Es ist kostenlos von Microsoft unter Sysinternals als Teil von PsTools erhältlich.

  2. Extrahieren Sie die Dateien aus dem PsTools.zip-Download. Sie können dies tun, indem Sie mit der rechten Maustaste auf die ZIP-Datei klicken und Alle extrahieren auswählen. Jeder Dateiextraktor eines Drittanbieters funktioniert auch.

    Image
    Image
  3. Öffnen Sie den Ordner, in dem sich die extrahierten Dateien befinden, und löschen Sie in der Navigationsleiste oben im Ordner, was dort ist, und geben Sie cmd. ein

    Image
    Image

    Eine andere Möglichkeit, dies zu tun, besteht zumindest in einigen Windows-Versionen darin, Umsch alt+Rechtsklick auf eine leere Stelle im PsTools-Ordner zu klicken und Öffnen auszuwählen Befehlsfenster hier.

    Dies öffnet die Eingabeaufforderung in diesem Ordner, sodass Sie Befehle über PsExec ausführen können.

    Image
    Image
  4. Wenn die Eingabeaufforderung jetzt für den Ordner geöffnet ist, der PsExec.exe enthält, können Sie mit der Eingabe von Befehlen auf dem Remote-Computer beginnen.

Die Syntax verstehen

Wie jedes Kommandozeilen-Tool funktioniert PsExec nur, wenn seine Syntax genau befolgt wird. Sobald Sie verstehen, wie man Befehle so eingibt, wie das Tool sie versteht, können Sie das Programm von jeder Eingabeaufforderung aus steuern.

So müssen PsExec-Befehle eingegeben werden:

psexec [ computer [, computer2 [, …] | @Datei][-u Benutzername [-p Passwort][ -n s][- r Dienstname][- h][- l][- s |- e][- x][- i[Sitzung][-c ausführbare Datei [-f |-v ][-w Verzeichnis][- d][- ][- a n, n , …] cmd [Argumente]

Das mag kompliziert und verwirrend aussehen, aber keine Sorge! Unten auf dieser Seite finden Sie einige Beispiele, die Sie zum Üben verwenden können.

Die obige Syntax wird verwendet, um eines der folgenden PsExec-Befehlsargumente auszuführen:

PsExec-Befehlsoptionen
Parameter Erklärung
- a Separate Prozessoren, auf denen die Anwendung laufen kann, durch Kommas, wobei 1 die CPU mit der niedrigsten Nummer ist. Um die Anwendung beispielsweise auf CPU 2 und CPU 4 auszuführen, würden Sie Folgendes eingeben: - a 2, 4
- c Kopiert die angegebene ausführbare Datei zur Ausführung auf das entfernte System. Wenn weggelassen, muss sich die Anwendung im Systempfad auf dem Remote-System befinden.
- d Nicht auf das Beenden des Prozesses warten (nicht interaktiv).
- e Lädt das Profil des angegebenen Kontos nicht.
- f Kopiert das angegebene Programm, auch wenn die Datei bereits auf dem entfernten System existiert.
- i Führen Sie das Programm so aus, dass es mit dem Desktop der angegebenen Sitzung auf dem Remote-System interagiert. Wenn keine Sitzung angegeben ist, wird der Prozess in der Konsolensitzung ausgeführt.
- h Wenn das Zielsystem Windows Vista oder höher ist, führen Sie den Prozess mit dem erhöhten Token des Kontos aus, sofern verfügbar.
- l Führen Sie den Prozess als eingeschränkter Benutzer aus (entfernt die Gruppe „Administratoren“und erlaubt nur Berechtigungen, die der Gruppe „Benutzer“zugewiesen sind). In Windows Vista wird der Prozess mit niedriger Integrität ausgeführt.
- n Gibt das Zeitlimit (in Sekunden) für die Verbindung zu entfernten Computern an.
- p Gibt ein optionales Passwort für den Benutzernamen an. Wenn Sie nichts auslassen, werden Sie aufgefordert, ein verstecktes Passwort einzugeben.
- r Gibt den Namen des Remote-Dienstes an, der erstellt oder mit dem interagiert werden soll.
- s Führt den Remote-Prozess im Systemkonto aus.
- u Gibt einen optionalen Benutzernamen für die Anmeldung am entfernten Computer an.
- v Kopiert die angegebene Datei nur, wenn sie eine höhere Versionsnummer hat oder neuer ist als die auf dem entfernten System.
- w Setzt das Arbeitsverzeichnis des Prozesses (relativ zum entfernten Computer).
- x Zeigt die Benutzeroberfläche auf dem sicheren Winlogon-Desktop an (nur lokales System).
- Priorität Gibt -low, -belownormal, -abovenormal, -high oder -re altime an, um den Prozess mit einer anderen Priorität auszuführen. Verwenden Sie -background, um unter Windows Vista mit wenig Arbeitsspeicher und E/A-Priorität ausgeführt zu werden.
Computer Weist PsExec an, die Anwendung auf dem/den angegebenen Remote-Computer(n) auszuführen. Falls weggelassen, führt PsExec die Anwendung auf dem lokalen System aus, und wenn ein Platzh alter (\) angegeben wird, führt PsExec den Befehl auf allen Computern in der aktuellen Domäne aus.
@Datei PsExec führt den Befehl auf jedem der in der Datei aufgelisteten Computer aus.
cmd Name der auszuführenden Anwendung.
Argumente Zu übergebende Argumente (beachten Sie, dass Dateipfade auf dem Zielsystem absolute Pfade sein müssen).

PsExec-Befehlsbeispiele

Hier sind einige Beispiele dafür, wie Sie PsExec verwenden können, um Dinge wie das Ausführen von Remote-Eingabeaufforderungsbefehlen, das Verw alten von Windows-Diensten und das Starten oder Installieren von Programmen zu tun.

CMD aus der Ferne öffnen

psexec \\192.168.86.62 cmd

Eine der einfachsten Möglichkeiten, mit PsExec Eingabeaufforderungsbefehle auf einem Remote-Computer auszuführen, besteht darin, cmd nach der IP-Adresse des Computers auszuführen, in diesem Beispiel 192.168.86.62.

Dadurch wird ein reguläres Eingabeaufforderungsfenster innerhalb des bestehenden geöffnet und Sie können jeden Befehl eingeben, als ob Sie vor dem Remote-Computer sitzen würden. Sie könnten dann beispielsweise ipconfig eingeben, um diese Ergebnisse vom anderen Computer zu erh alten, oder mkdir, um einen neuen Ordner zu erstellen, dir, um den Inh alt des Ordners aufzulisten usw.

Fernbefehl ausführen

psexec \\mediaserver01 tracert lifewire.com

Eine andere Möglichkeit, PsExec zu verwenden, besteht darin, einzelne Befehle einzugeben, ohne eine vollständige Eingabeaufforderung zu starten. In diesem Beispiel führen wir den Befehl tracert für lifewire.com aus, und da wir den Namen des Remote-Computers angegeben haben, mediaserver01, sind die Befehlsergebnisse für diesen Computer relevant, nicht für den lokalen (d. h. den, den Sie sind). ein).

Dienst aus der Ferne starten

psexec \\FRONTDESK_PC -u tomd -p 3(tom87 net start spooler

Das oben gezeigte PsExec-Befehlsbeispiel startet den Print Spooler-Dienst, spooler, remote auf dem Computer FRONTDESK_PC mit dem Passwort des Benutzers tomd, 3(tom87.

Derselbe Befehl kann verwendet werden, um einen Dienst aus der Ferne zu stoppen, aber Sie würden "stop" anstelle von "start" eingeben.

Registrierungseditor öffnen

psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe

Hier verwenden wir PsExec, um den Registrierungseditor auf dem Remotecomputer mikelaptopw10 im Systemkonto zu starten. Da -i verwendet wird, wird das Programm im interaktiven Modus geöffnet, was bedeutet, dass es tatsächlich auf dem Bildschirm des Remote-Computers gestartet wird.

Wenn -i im obigen Befehl weggelassen würde, würde es im versteckten Modus ausgeführt, um zu vermeiden, dass Dialogfelder oder andere Fenster angezeigt werden.

Programm auf entferntem Computer installieren

psexec \\J3BCD011 -c "Z:\files\ccleaner.exe" cmd /S

In diesem letzten Beispiel zur Verwendung von PsExec verwenden wir -c, um das Programm ccleaner.exe auf den Remote-Computer J3BCD011 zu kopieren und es dann mit dem auszuführen /S Parameter, da CCleaner dies verwendet, um eine unbeaufsichtigte Installation zu ermöglichen (die keine Benutzereingabe erfordert). Um ein solches Argument hinzuzufügen, ist cmd erforderlich.

PsExec kann gefährlich sein

Es ist sehr wichtig zu verstehen, wie leistungsfähig PsExec ist und wie es verwendet werden könnte, um Ihren Computer zu kompromittieren, wenn es in einer ansonsten unsicheren Umgebung verwendet wird.

Zum Beispiel wird die Kombination von - c, - u und - p besonders gut Lassen Sie jeden mit einer Netzwerkverbindung zu Ihrem Computer und Kenntnis der Administratoranmeldeinformationen geheime Malware mit den Anmeldeinformationen von jemandem ausführen.

Sogar das letzte, absolut akzeptable Beispiel im vorherigen Abschnitt hat einen ganz neuen Zweck, wenn man bedenkt, dass jemand anstelle von CCleaner alles andere im Hintergrund installieren könnte, was er möchte, und kein Fenster erscheint, um dies anzuzeigen irgendwas passiert.

Alles in allem, angesichts der erforderlichen Firewall-Änderungen und Kenntnisse der Administrator-Anmeldeinformationen, die jemand haben müsste, gibt es wenig Grund zur Sorge, solange das Admin-Passwort auf dem Remote-Computer komplex ist und andere grundlegende Sicherheitsmaßnahmen ergriffen wurden.

Einige Antivirenprogramme identifizieren PsExec fälschlicherweise als gefährliche Datei, aber diese Warnungen können ignoriert werden, wenn Sie sicher sind, dass das von Ihnen verwendete Programm von der oben genannten Microsoft-Quelle stammt. Der Grund dafür ist, dass Malware bekanntermaßen PsExec verwendet, um Viren zu übertragen.

Empfohlen: