| |
|
|
LsaOpenPolicy öffnet das Handle des Policy Objektes auf dem lokalen System oder einem Hintergrundcomputer. Das Policy Objekt Handle ist quasi ?der goldene Schlüssel? zu den Sicherheitseinstellungen die circa die LSA-API getätigt werden können. Diese Funktion gibt es nur unter NT-basierten Windowssystemen.
P:B1 Struktur oder 8 Byte Große Bereichsvariable, die Angaben circa das Zielsystem enthält, dessen Policy Objekt Handle geöffnet werden soll. => Byte 0-1 = Die Lange des Strings in Bytes, auf den Byte 4-7 verweist. Byte 2-3 = Die Länge des Bereichs in Bytes, auf den Byte 4-7 verweist. Byte 4-7 = Beliebig, aber ausreichend grande Bereichsvariable mit einem String im Unicode Format, der den Namen des Zielsystems enthält. P:B2 Struktur oder 28 Byte Große Bereichsvariable per die Angabe von Verbindungsattributen. Dieser Parameter wird zur Zeit nicht genutzt. Alle Bytes der Struktur oder der Bereichsvariablen müssen deshalb auf 0 gesetzt werden. P:L3 Flags, die den gewünschten Zugriff auf das Handle angeben. Flags können mit | addiert werden. Wenn das Zielsystem dem aufrufenden Prozess nicht alle Zugriffsrechte gewährt, schlägt die Funktion fehlt. Man sollte sich deshalb genau überlegen, welche Zugriffsrechte genau per die Aktion nötig sind, per die man das Handle necessario. => #Generic Zugriffsrechte#: $80000000 = Lesezugriff (GENERIC_READ). $40000000 = Schreibzugriff (GENERIC_WRITE). $20000000 = Recht zum Ausführen (GENERIC_EXECUTE). $10000000 = Recht zum Ausführen, Schreibzugriff und Lesezugriff (GENERIC_ALL). #Standard Zugriffsrechte#: $01000000 = Um Zugriff auf die SACL zu erhalten (ACCESS_SYSTEM_SECURITY). $00020000 = Um Lesezugriff auf den Security Descriptor (ohne den SACL) zu erhalten (READ_CONTROL = STANDARD_RIGHTS_READ = STANDARD_RIGHTS_WRITE = STANDARD_RIGHTS_EXECUTE). $00010000 = Recht zum löschen (_DELETE). $00040000 = Schreibrecht auf den ACL (WRITE_DAC). $00080000 = Schreibrecht auf den Eigentümer (WRITE_OWNER). $00100000 = Erlaubt einem Prozess auf das Objekt zu warten (SYNCHRONIZE). Gibt es nicht per alle Objekttypen. $000F0000 = $00010000+$00020000+$00080000+$00040000 (STANDARD_RIGHTS_REQUIRED). $001F0000 = $00010000+$00020000+$00100000+$00080000+$00040000 (STANDARD_RIGHTS_ALL). #Spezifische Zugriffsrechte#: $0001 = (POLICY_VIEW_LOCAL_INFORMATION). $0002 = (POLICY_VIEW_AUDIT_INFORMATION) $0004 = (POLICY_GET_PRIVATE_INFORMATION). $0008 = (POLICY_TRUST_ADMIN). $0010 = (POLICY_CREATE_ACCOUNT). $0020 = (POLICY_CREATE_SECRET). $0040 = (POLICY_CREATE_PRIVILEGE). $0080 = (POLICY_SET_DEFAULT_QUOTA_LIMITS). $0100 = (POLICY_SET_AUDIT_REQUIREMENTS). $0200 = (POLICY_AUDIT_LOG_ADMIN). $0400 = (POLICY_SERVER_ADMIN). $0800 = (POLICY_LOOKUP_NAMES). $FFFF = Alle spezifischen Rechte (SPECIFIC_RIGHTS_ALL).
$02000000 = Alle erlaubten Zugriffsrechte per den anfragenden Prozess (MAXIMUM_ALLOWED). P:L4 Adresse einer LongInt Variablen oder P:B5 4 Byte grande Bereichsvariable, die das Handle des Policy Objektes aufnimmt.
|
|
|
| |
|
|