psexec: Programme mit System-Privilegien starten

    Das Administrator-Konto ist unter Windows nicht das am höchsten privilegierte. Anders als etwa unter Linux, wo der lokale root-Account alles darf, gibt es unter Windows Bereiche, die auch Administratoren nicht zugänglich sind, etwa der Registry-Zweig HKEY_LOCAL_MACHINE\SECURITY. Er scheint leer, wenn regedit.exe nur mit Administra­tor-Privilegien gestartet wurde, ist aber in Wirklichkeit mit Unter­schlüsseln und Werten gefüllt.

    Sysinternals-Tool gewährt System-Privilegien

    Mit System-Privilegien ausgeführt, gewährt regedit Zugriff auf mehr Schlüssel und EinträgeDas Microsoft-Tool psexec von Mark Russinovich ist primär dazu gedacht, Kommandos auf anderen Rechnern auszuführen. Die Privilegien­anhebung bis hin zum System-Konto, die es ebenfalls beherrscht, kann auch lokal eingesetzt werden. psexec ist Bestandteil der pstools und kann mit diesen gebündelt als Zip-Datei heruntergeladen werden. Für den gewünschten Zweck – die Ausführung eines Programmes mit System-Privilegien – muss psexec innerhalb einer Eingabe­auf­forderung gestartet werden, die bereits Administrator­rechte hat. Die Anhebung der Privilegien auf dem lokalen System für das auszuführende Programm besorgt die Parameter-Kombination -i -d -s. Für den Aufruf von regedit.exe mit System-Privilegien lautet das Kommando

    psexec –i –d –s regedit.exe

    Das zu startende Programm steht immer an letzter Stelle der Parameterliste. Besteht es aus mehreren Teilen, etwa weil das Programm selbst Parameter zu verarbeiten hat, gehört der ganze Befehl trotzdem nicht in Anführungszeichen gesetzt; diese sind wie gewohnt für Datei- und Verzeichnisnamen mit Leerzeichen reserviert.

    1 Kommentar

    Bild von fireshadow
    fireshadow sagt:
    12. September 2010 - 1:29

    Eine andere Methode, Programme mit System-Privilegien zu starten, die mit Bordmitteln auskommt, ist die Verwendung des Schedulers. Von Windows NT bis XP geht das einfach über den Befehl (um bei dem Beispiel mit regedit zu bleiben): at 00:00 /i regedit.exe (für 00:00 dabei einen geringfügig in der Zukunft liegenden Zeitpunkt angeben). Auch bei dem auf diese Weise gestarteten Registry-Editor kann man die sonst verborgenen Einträge unter SAM und SECURITY bewundern ;-). Bei Windows 7 (das Verhalten von Vista in diesem Punkt ist mir nicht bekannt) geht das aufgrund einer sicherheitsbedingten Einschränkung zumindest nicht mehr mit dem Befehl at.exe. Mit schtasks.exe ist es mir bisher ebenfalls nicht gelungen, aber vielleicht habe ich da auch nur irgendetwas nicht richtig gemacht.