Berechtigungskonstanten zur Autorisierung
Berechtigungen bestimmen den Typ der Systemvorgänge, die ein Benutzerkonto ausführen kann. Die Funktionen, die die Berechtigungen in einem Zugriffstoken abrufen und anpassen, verwenden den Typ (LUID) Locally Unique Identifier (lokal eindeutiger Bezeichner). Der Typ LUID identifiziert die Berechtigungen.
LUID: Ein 64-Bit-Wert, der für das Betriebssystem, das ihn generiert hat, garantiert eindeutig ist, bis das System neu gestartet wird.
Wird die Funktion LookupPrivilegeValue verwendet, um die LUID auf dem lokalen System zu ermitteln, dann entspricht das einer Berechtigungskonstante. Die Funktion LookupPrivilegeName wird verwednet, um eine LUID in ihre entsprechende Zeichenfolgenkonstante zu konvertieren.
Das Betriebssystem stellt eine Berechtigung dar, indem es die Zeichenfolge Benutzerrecht ausliest, wie ich es in der folgenden Tabelle dargestellt habe.
Die zu den Rechten korrespondierenden Werte finden wir in der ersten Spalte.
Benutzerrechte Konstanten und Werte in 1 Tabelle
Konstante/Wert | Das Recht zum | Beschreibung |
---|---|---|
SeAssignPrimaryTokenPrivilege | Ersetzen eines Tokens auf Prozessebene | Erforderlich, um das primäre Token eines Prozesses zuzuweisen |
SeAuditPrivilege | Generieren von Sicherheitsüberwachungen | Erforderlich, um Überwachungsprotokolleinträgen zu generieren. Gewähren Sie diese Berechtigungen, um Server zu schützen. |
SeBackupPrivilege | Sichern von Dateien und Verzeichnissen | Erforderlich, um Sicherungsvorgänge auszuführen. Durch diese Berechtigung gewährt das System die komplette Lesezugriffssteuerung für jede Datei, unabhängig von der Zugriffssteuerungsliste (Access Control List, ACL), die für die Datei angegeben ist. Jede andere Zugriffsanforderung als „Lesen“ wird weiterhin mit der ACL ausgewertet. Diese Berechtigung ist für die Funktionen RegSaveKey und RegSaveKeyEx erforderlich. Die folgenden Zugriffsrechte werden für Benutzer*innen mit dieser Berechtigung gewährt: |
READ_CONTROL | ||
ACCESS_SYSTEM_SECURITY | ||
FILE_GENERIC_READ | ||
FILE_TRAVERSE | ||
Wenn sich die Datei auf einem Wechseldatenträger befindet und „Überwachen von Wechselmedien“ aktiviert ist, muss SE_SECURITY_NAME über ACCESS_SYSTEM_SECURITY verfügen. | ||
SeChangeNotifyPrivilege | Umgehen von Durchlaufüberprüfungen | Erforderlich, um Benachrichtigungen über Änderungen an Dateien oder Verzeichnissen zu erhalten. Durch diese Berechtigung überspringt das System zudem alle Durchlaufzugriffsüberprüfungen. Sie ist standardmäßig für alle Benutzer*innen aktiviert. |
SeCreateGlobalPrivilege | Erstellen globaler Objekte | Erforderlich, um benannte Dateizuordnungsobjekte im globalen Namespace während TD-Sitzungen zu erstellen. Diese Berechtigung ist standardmäßig für Administrator*innen, Dienste und das lokale Systemkonto aktiviert. |
SeCreatePagefilePrivilege | Erstellen einer Auslagerungsdatei | Erforderlich, um eine Auslagerungsdatei zu erstellen |
SeCreatePermanentPrivilege | Erstellen dauerhaft freigegebener Objekte | Erforderlich, um ein permanentes Objekt zu erstellen |
SeCreateSymbolicLinkPrivilege | Erstellen symbolischer Verknüpfungen | Erforderlich, um eine symbolische Verknüpfung zu erstellen |
SeCreateTokenPrivilege | Erstellen eines Tokenobjekts | Erforderlich, um ein primäres Token zu erstellen. |
Sie können diese Berechtigung einem Benutzerkonto mit der Richtlinie „Erstellen eines Tokenobjekts“ nicht hinzufügen. Darüber hinaus können Sie diese Berechtigung mithilfe von Windows-APIs nicht einem eigenen Prozess hinzufügen. Windows Server 2003 und Windows XP SP1 und früher: Windows-APIs können diese Berechtigung einem eigenen Prozess hinzufügen. | ||
SeDebugPrivilege | Debuggen von Programmen | Erforderlich zum Debuggen und Anpassen des Arbeitsspeichers eines Prozesses, der sich im Besitz eines anderen Kontos befindet. |
SeDelegateSessionUserImpersonatePrivilege | Annehmen der Identität anderer Benutzer | Erforderlich, um ein Identitätswechseltoken für andere Benutzer*innen in derselben Sitzung abzurufen |
SeEnableDelegationPrivilege | Ermöglichen, dass Computer- und Benutzerkonten für die Delegierung vertraut wird | Erforderlich, um Benutzer- und Computerkonten für die Delegierung als vertrauenswürdig zu kennzeichnen |
SeImpersonatePrivilege | Annehmen der Identität eines Clients nach der Authentifizierung | Erforderlich für das Annehmen einer Identität |
SeIncreaseBasePriorityPrivilege | Anheben der Planungspriorität | Erforderlich, um die Basispriorität eines Prozesses zu erhöhen |
SeIncreaseQuotaPrivilege | Anpassen der Speicherkontingente für einen Prozess | Erforderlich, um das einem Prozess zugewiesene Kontingent zu erhöhen |
SeIncreaseWorkingSetPrivilege | Erhöhen eines Prozessarbeitssatzes | Erforderlich, um mehr Arbeitsspeicher für Anwendungen zuzuweisen, die im Benutzerkontext ausgeführt werden |
SeLoadDriverPrivilege | Laden und Entladen von Gerätetreibern | Erforderlich zum Laden oder Entladen eines Gerätetreibers. |
SeLockMemoryPrivilege | Sperren von Seiten im Arbeitsspeicher | Erforderlich, um physische Seiten im Arbeitsspeicher zu sperren |
SeMachineAccountPrivilege | Hinzufügen von Arbeitsstationen zur Domäne | Erforderlich, um ein Computerkonto zu erstellen |
SeManageVolumePrivilege | Durchführen von Volumenwartungsaufgaben | Erforderlich, um Berechtigungen für die Volumeverwaltung zu aktivieren |
SeProfileSingleProcessPrivilege | Profilen eines einzelnen Prozesses | Erforderlich, um Profilerstellungsinformationen für einen einzelnen Prozess zu sammeln |
SeRelabelPrivilege | Ändern einer Objektbezeichnung | Erforderlich, um die obligatorische Integritätsebene eines Objekts zu ändern |
SeRemoteShutdownPrivilege | Erzwingen des Herunterfahrens von einem Remotesystem | Erforderlich, um ein System mithilfe einer Netzwerkanforderung herunterzufahren |
SeRestorePrivilege | Wiederherstellen von Dateien und Verzeichnissen | Erforderlich, um Wiederherstellungsvorgänge auszuführen. Durch diese Berechtigung gewährt das System die komplette Schreibzugriffssteuerung für jede Datei, unabhängig von der ACL, die für die Datei angegeben ist. Jede andere Zugriffsanforderung als „Schreiben“ wird weiterhin mit der ACL ausgewertet. Darüber hinaus können Sie mit diesen Berechtigungen eine beliebige gültige Benutzer- oder Gruppen-SID als Besitzer einer Datei festlegen. Diese Berechtigung ist für die RegLoadKey-Funktion erforderlich. Die folgenden Zugriffsrechte werden für Benutzer*innen mit dieser Berechtigung gewährt: |
WRITE_DAC | ||
WRITE_OWNER | ||
ACCESS_SYSTEM_SECURITY | ||
FILE_GENERIC_WRITE | ||
FILE_ADD_FILE | ||
FILE_ADD_SUBDIRECTORY | ||
DELETE | ||
Wenn sich die Datei auf einem Wechseldatenträger befindet und „Überwachen von Wechselmedien“ aktiviert ist, muss SE_SECURITY_NAME über ACCESS_SYSTEM_SECURITY verfügen. | ||
SeSecurityPrivilege | Verwalten von Überwachungs- und Sicherheitsprotokollen | Erforderlich, um eine Reihe sicherheitsbezogener Funktionen wie das Steuern und Anzeigen von Überwachungsmeldungen auszuführen. Benutzer*innen mit dieser Berechtigung werden als Sicherheitsoperator*in identifiziert. |
SeShutdownPrivilege | Herunterfahren des Systems | Erforderlich, um ein lokales System herunterzufahren |
SeSyncAgentPrivilege | Synchronisieren von Verzeichnisdienstdaten | Erforderlich, damit ein Domänencontroller die Verzeichnissynchronisierungsdienste des Lightweight Directory Access-Protokolls verwenden kann. Benutzer*innen mit dieser Berechtigung können alle Objekte und Eigenschaften im Verzeichnis unabhängig von ihrem Schutz lesen. Standardmäßig wird sie den Administratorkonten und LocalSystem-Konten auf Domänencontrollern zugewiesen. |
SeSystemEnvironmentPrivilege | Ändern von Firmwareumgebungswerten | Erforderlich, um den nichtvolatilen RAM von Systemen zu ändern, die diesen Speichertyp zum Speichern von Konfigurationsinformationen verwenden |
SeSystemProfilePrivilege | Profilen der Systemleistung | Erforderlich, um Profilerstellungsinformationen für das gesamte System zu sammeln |
SeSystemtimePrivilege | Ändern der Systemzeit | Erforderlich, um die Systemzeit zu ändern |
SeTakeOwnershipPrivilege | Übernehmen des Eigentums über Dateien oder andere Objekte | Erforderlich, um das Eigentum über ein Objekt ohne freigegebenen Zugriff zu übernehmen. Durch diese Berechtigung kann der Besitzerwert lediglich auf die Werte festgelegt werden, die die Benutzer*innen mit dieser Berechtigung legitim als Besitzer*in eines Objekts zuweisen können. |
SeTcbPrivilege | Handeln als Teil des Betriebssystems | Benutzer mit dieser Berechtigung werden als Teil der vertrauenswürdigen Computerbasis identifiziert. Einigen vertrauenswürdigen geschützten Subsystemen wird diese Berechtigung gewährt. |
SeTimeZonePrivilege | Ändern der Zeitzone | Erforderlich, um die Zeitzone anzupassen, die der internen Uhr des Computers zugeordnet ist |
SeTrustedCredManAccessPrivilege | Zugreifen auf die Anmeldeinformationsverwaltung als vertrauenswürdiger Aufrufer | Erforderlich für den Zugriff auf die Anmeldeinformationsverwaltung als vertrauenswürdiger Aufrufer |
SeUndockPrivilege | Entfernen des Computers aus der Dockingstation | Erforderlich, um einen Laptop auszudocken |
SeUnsolicitedInputPrivilege | Nicht verfügbar | Erforderlich, um unerwünschte Eingaben aus einem Terminal-Gerät zu lesen |
Klassiche Beispiele dazu finden wir im Github