FILE_PERMISSIONS
This policy item checks if the FILE_PERMISSIONS ACL is correct. The check is performed by calling the function GetSecurityInfo
with level 7 on the file handle.
Note: This check requires remote registry access for the remote Windows system to function properly.
Usage
<custom_item>
type: FILE_PERMISSIONS
description: ["description"]
value_type: [value_type]
value_data: [value]
(optional) check_type: [value]
file: ["filename"]
(optional) acl_option: [acl_option]
</custom_item>
The allowed type is:
value_type: FILE_ACL
value_data: "ACLname"
file: "PATH\Filename"
The following predefined paths can be used in the file/folder name:
%allusersprofile%
%windir%
%systemroot%
%commonfiles%
%programfiles%
%systemdrive%
%systemdirectory%
When using this audit, please note the following:
- The
file
field must include the full path to the file or folder name (e.g.,C:\WINDOWS\SYSTEM32
) or make use of the above path keywords. If using path keywords, the remote registry must be enabled to allow Nessus to determine the path variable values. - The
value_data
field is the name of an ACL defined in the policy file. - The
acl_option
field can be set to CAN_BE_NULL or CAN_NOT_BE_NULL to force a success/error if the file does not exist.
Examples
<file_acl: "ACL1">
<user: "Administrators">
acl_inheritance: "not inherited"
acl_apply: "This object only"
acl_allow: "Full Control"
</user>
<user: "System">
acl_inheritance: "not inherited"
acl_apply: "This object only"
acl_allow: "Full Control"
</user>
</acl>
<custom_item>
type: FILE_PERMISSIONS
description: "Permissions for C:\WINDOWS\SYSTEM32"
value_type: FILE_ACL
value_data: "ACL1"
file: "C:\WINDOWS\SYSTEM32"
</custom_item>
<custom_item>
type: FILE_PERMISSIONS
description: "Permissions for C:\WINDOWS\SYSTEM32"
value_type: FILE_ACL
value_data: "ACL1"
file: "%SystemRoot%\SYSTEM32"
</custom_item>
When the above check is executed, the compliance module will check if the permissions defined for %SystemRoot%\SYSTEM32
match the ones described in file_acl ACL1.