Wie kann ich feststellen, ob ein Prozess mit Administratorrechten ausgeführt wird?

44

Ich verwende Windows Vista mit aktivierter Benutzerkontensteuerung. Ich habe eine Anwendung installiert und das Installationsprogramm benötigt Administratorrechte. Das Installationsprogramm hat dann die Anwendung gestartet. Ich möchte wissen, ob die Anwendung weiterhin mit Administratorrechten ausgeführt wird.

Ich habe den Windows Task-Manager und den Prozess-Explorer ausprobiert und anscheinend werden diese Informationen auch nicht angezeigt.

Tim
quelle
Für ein aktualisiertes Betriebssystem lesen Sie bitte diese Frage . Die Registerkarte Task-Manager-Details verfügt optional über eine erhöhte Spalte.
Hans Vonn

Antworten:

43

In Process Explorer klicken, wird die doppelte Prozess um seine Eigenschaften zu öffnen. Wechseln Sie zur Registerkarte Sicherheit . Suchen Sie in der Gruppenliste nach " BUILTIN \ Administrators" und lesen Sie die Informationen in der Spalte " Flags" .

Verweigern = Nicht erhöht (nicht admin)

Alt-Text

Besitzer = erhöht (ist admin)

Alt-Text

Ryan Bolger
quelle
4
Auf meinem Windows 7-System musste ich Process Explorer mit erhöhten Berechtigungen ausführen, um bestimmte Details (z. B. die Sicherheitsberechtigungen) von Prozessen anzeigen zu können, die mit Administratorberechtigungen ausgeführt werden. Wenn Sie Process Explorer als normalen Benutzer ausführen, war der Inhalt der Registerkarte Sicherheit leer.
Anthony G - Gerechtigkeit für Monica
In Win10 gibt es so etwas überhaupt nicht. Verwenden Sie sysinternals (@Tim), und fügen Sie Spalten für Prozesse "Integritätsstufe" hinzu.
user15507
1
Ab Win8 gab es im Task-Manager immer eine optionale Spalte mit dem Namen " Erhöht" , in der "Ja" oder "Nein" angezeigt wird. Dies ist natürlich in der Registerkarte Details.
Adam Caviness
39

Im Prozess-Explorer können Sie die angezeigten Spalten ändern und die Spalte "Integritätsstufe" auf der Registerkarte "Prozessabbild" hinzufügen:

Bildbeschreibung hier eingeben

Dies ist anscheinend der Fachbegriff für das, was sich ändert, wenn Sie einen Prozess mit Administratorrechten ausführen. Wenn Sie Process Explorer als Administrator ausführen, werden normale Prozesse als "mittlere" Integritätsstufe und gehobene Prozesse als "hohe" angezeigt.

Beachten Sie, dass, wenn Sie Process Explorer als normaler Benutzer ausführen, Prozesse mit Administratorrechten mit einem leeren Eintrag in der Spalte Integritätsstufe angezeigt werden.

Tim
quelle
Auch wenn ein bestimmtes Programm als Administrator und Prozess-Explorer als normaler Benutzer ausgeführt wird, zeigt der Prozess-Explorer nicht das wahre Symbol des Prozesses an, sondern ein leeres Symbol.
Nikos
+ 1 für deine Antwort
BattleTested
3

Update mit den Betriebssystemen: Resource Monitor, von dem ich glaube, dass es in Windows 7 und Windows 10 enthalten ist (ich bin mir nicht sicher über Vista), enthält eine optionale Spalte mit dem Zusatz "Erhöht" in der Liste der Prozesse auf der Registerkarte "CPU", die ziemlich genau zu sein scheint.

stackuser83
quelle
0

Wenn Sie Befehlszeilentools bevorzugen, können Sie mit dem Accesschk- Dienstprogramm aus der MS Sysinternals-Suite überprüfen, ob ein Prozess mit Administratorberechtigungen ausgeführt wird.

Die folgenden Flags sind für diesen Zweck nützlich:

  • Die -pOption (process) akzeptiert entweder den Namen oder die PID eines laufenden Prozesses.

  • Mit der -vOption (ausführlich) wird die Windows-Integritätsstufe gedruckt

  • Die -qOption (leise) verhindert, dass Versionsinformationen gedruckt werden.

  • Die -f(vollständige) Option kann auch verwendet werden, um noch mehr Informationen zu den Prozessen (Sicherheitstoken-Details von Benutzern, Gruppen und Berechtigungen) bereitzustellen. Diese Ebene zusätzlicher Details ist jedoch nicht erforderlich, um nach erhöhten Berechtigungen zu suchen.

Beispiel

Listen Sie die Berechtigungen aller ausgeführten cmdProzesse auf:

> accesschk.exe -vqp cmd

[5576] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
[8224] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.

Hier können wir sehen, dass es drei cmdProzesse gibt, die ich gestartet habe. Die ersten beiden haben eine mittlere obligatorische (Integritäts-) Stufe und werden unter meinem Domänenkonto als ausgeführt angezeigt, was darauf hinweist, dass diese Prozesse ohne Administratorrechte gestartet wurden.

Der letzte Prozess (PID 6636) wurde jedoch mit erhöhten Berechtigungen gestartet, sodass mein nicht privilegierter Befehl keine Informationen zu diesem Prozess lesen kann. Bei Ausführung mit erhöhten Berechtigungen accesschkund expliziter Angabe der PID werden die folgenden Informationen ausgegeben:

> accesschk.exe -vqp 6636

[6636] cmd.exe
  High Mandatory Level [No-Write-Up, No-Read-Up]
  RW BUILTIN\Administrators
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS

Jetzt können wir sehen, dass die Integritätsstufe Hoch ist und dass dieser Prozess unter der Administratorsintegrierten Sicherheitsgruppe ausgeführt wird.

Anthony G - Gerechtigkeit für Monica
quelle