Closed Rebits closed 7 months ago
cis_win10_enterprise
policy :green_circle:Some of the error detected in this commentary were fixed in ad7f8f8, 6dd9c4a. Second revision is required
Medium
Medium
Medium
Medium
High
Hight
[ ] Second review
In order to make the process faster, I have created a custom script to detect actual compliance control version (Check Compliance control version wrong or outdated
)
Most of these values were outdated or wrong.
I index the patch with all the changes in this commentary: copliance_fix.zip
This patch also includes the yaml format fix proposed in https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1164285703 (YAML format section)
For now, future checks will review compliance taking into account these changes instead. The rest of the fields will be checked as usual
Severity: Medium
[ ] Fixed
[ ] Second review
Compliance - :red_circle:: Check commentary
PS C:\Users\vagrant> net.exe accounts
Force user logoff how long after time expires?: Never
Minimum password age (days): 0
Maximum password age (days): 42
Minimum password length: 0
Length of password history maintained: None
Lockout threshold: Never
Lockout duration (minutes): 30
Lockout observation window (minutes): 30
Computer role: WORKSTATION
The command completed successfully.
PS C:\Users\vagrant>
- Expected scan result: `PASS`:
</details>
### 1.2.2 Ensure 'Account lockout threshold' is set to '5 or fewer invalid logon attempt(s), but not 0' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Description: no '.' at the end
This policy setting determines the number of failed logon attempts before the account is locked. Setting this policy to 0 does not conform to the benchmark as doing so disables the account lockout threshold
**Bad remediation**
"To establish the recommended configuration via GP, set the following UI path to 10 or fewer invalid login attempt(s), but not 0: Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout threshold"
Expected:
To establish the recommended configuration via GP, set the following UI path to 5 or fewer invalid login attempt(s), but not 0: Computer Configuration\Policies\Windows Settings\Security Settings\Account Policies\Account Lockout Policy\Account lockout threshold"
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules -
- Output: Same as 1.2.1
- Expected scan result: `FAIL`:
</details>
### 1.2.3 Ensure 'Reset account lockout counter after' is set to '15 or more minute(s)' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules -
- Output: Same as 1.2.1
- Expected scan result: `PASS`:
</details>
### Checks appears at wazuh-dashboard :green_circle:
[1.2.zip](https://github.com/wazuh/wazuh-qa/files/8999816/1.2.zip)
Low
[ ] Second review
PS C:\Users\vagrant> net user administrator
User name Administrator
Full Name
Comment Built-in account for administering the computer/domain
User's comment
Country/region code 000 (System Default)
Account active No
Account expires Never
Password last set 5/17/2022 7:54:40 AM Password expires Never Password changeable 5/17/2022 7:54:40 AM Password required Yes User may change password Yes
Workstations allowed All Logon script User profile Home directory Last logon 3/25/2022 3:48:47 AM
Logon hours allowed All
Local Group Memberships Administrators Global Group memberships None The command completed successfully.
- Expected scan result: `PASS`:
</details>
### 2.3.1.2 Ensure 'Accounts: Block Microsoft accounts' is set to 'Users can't add or log on with Microsoft accounts :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Error in tittle - Expected `'` at the end**
Ensure 'Accounts: Block Microsoft accounts' is set to 'Users can't add or log on with Microsoft accounts
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Set incorrectly to not applied
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System'
ConsentPromptBehaviorAdmin : 5 ConsentPromptBehaviorUser : 3 DSCAutomationHostEnabled : 2 EnableCursorSuppression : 1 EnableFullTrustStartupTasks : 2 EnableInstallerDetection : 0 EnableLUA : 0 EnableSecureUIAPaths : 1 EnableUIADesktopToggle : 0 EnableUwpStartupTasks : 2 EnableVirtualization : 1 PromptOnSecureDesktop : 1 SupportFullTrustStartupTasks : 1 SupportUwpStartupTasks : 1 ValidateAdminCodeSignatures : 0 dontdisplaylastusername : 0 legalnoticecaption : legalnoticetext : scforceoption : 0 shutdownwithoutlogon : 1 undockwithoutlogon : 1 LocalAccountTokenFilterPolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies\System PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies PSChildName : System PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`:
</details>
### 2.3.1.3 Ensure 'Accounts: Guest account status' is set to 'Disabled' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules -
- Output:
PS C:\Users\vagrant> net user guest User name Guest Full Name Comment Built-in account for guest access to the computer/domain User's comment Country/region code 000 (System Default) Account active No Account expires Never
Password last set 6/28/2022 9:59:28 AM Password expires Never Password changeable 6/28/2022 9:59:28 AM Password required No User may change password No
Workstations allowed All Logon script User profile Home directory Last logon Never
Logon hours allowed All
Local Group Memberships Guests Global Group memberships None The command completed successfully.
- Expected scan result: `PASS`:
</details>
### 2.3.1.4 Ensure 'Accounts: Limit local account use of blank passwords to console logon only' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Error in remediation - ' .' at the end **
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Accounts: Limit local account use of blank passwords to console logon only.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Default value is enabled, it will be marked as not applied
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\L sa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`:
</details>
### 2.3.1.5 Configure 'Accounts: Rename administrator account' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> net user administrator User name Administrator Full Name Comment Built-in account for administering the computer/domain User's comment Country/region code 000 (System Default) Account active No Account expires Never
Password last set 5/17/2022 7:54:40 AM Password expires Never Password changeable 5/17/2022 7:54:40 AM Password required Yes User may change password Yes
Workstations allowed All Logon script User profile Home directory Last logon 3/25/2022 3:48:47 AM
Logon hours allowed All
Local Group Memberships Administrators Global Group memberships None The command completed successfully.
- Expected scan result: `FAIL`:
</details>
### 2.3.1.6 Configure 'Accounts: Rename guest account' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules -
- Output: :green_circle:
PS C:\Users\vagrant> net user guest User name Guest Full Name Comment Built-in account for guest access to the computer/domain User's comment Country/region code 000 (System Default) Account active No Account expires Never
Password last set 6/28/2022 10:09:19 AM Password expires Never Password changeable 6/28/2022 10:09:19 AM Password required No User may change password No
Workstations allowed All Logon script User profile Home directory Last logon Never
Logon hours allowed All
Local Group Memberships Guests Global Group memberships None The command completed successfully.
- Expected scan result: `FAIL`:
</details>
### 2.3.2.1 Ensure 'Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Expected PASS status but will be marked as not applied - Default value is Enabled
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\L sa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`:
</details>
### 2.3.2.2 Ensure 'Audit: Shut down system immediately if unable to log security audits' is set to 'Disabled'" :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\L sa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`:
</details>
### 2.3.4.1 Ensure 'Devices: Allowed to format and eject removable media' is set to 'Administrators and Interactive Users' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Error in title**
Ensure 'Devices: Allowed to format and eject removable media' is set to 'Administrators'
**Error in description**
This policy setting determines who is allowed to format and eject removable NTFS media. You can use this policy setting to prevent unauthorized users from removing data on one computer to access it on another computer on which they have local administrator privileges. The recommended state for this setting is: Administrators.
Expected
This policy setting determines who is allowed to format and eject removable NTFS media. You can use this policy setting to prevent unauthorized users from removing data on one computer to access it on another computer on which they have local administrator privileges. The recommended state for this setting is: Administrators and Interactive Users.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon'
AutoRestartShell : 1 Background : 0 0 0 CachedLogonsCount : 10 DebugServerCommand : no DisableBackButton : 1 EnableSIHostIntegration : 1 ForceUnlockLogon : 0 LegalNoticeCaption : LegalNoticeText : PasswordExpiryWarning : 5 PowerdownAfterShutdown : 0 PreCreateKnownFolders : {A520A1A4-1780-4FF6-BD18-167343C5AF16} ReportBootOk : 1 Shell : explorer.exe ShellCritical : 0 ShellInfrastructure : sihost.exe SiHostCritical : 0 SiHostReadyTimeOut : 0 SiHostRestartCountLimit : 0 SiHostRestartTimeGap : 0 Userinit : C:\Windows\system32\userinit.exe, VMApplet : SystemPropertiesPerformance.exe /pagefile WinStationsDisabled : 0 scremoveoption : 0 DisableCAD : 1 LastLogOffEndTimePerfCounter : 126092897123 ShutdownFlags : 7 DisableLockWorkstation : 0 EnableFirstLogonAnimation : 1 AutoLogonSID : S-1-5-21-2383466009-3940392604-4156099882-1001 LastUsedUsername : vagrant DefaultDomainName : DefaultUserName : vagrant AutoAdminLogon : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion PSChildName : Winlogon PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`:
</details>
### 2.3.4.2 Ensure 'Devices: Prevent users from installing printer drivers' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Error in rationale**
Expected
It may be appropriate in some organizations to allow users to install printer drivers on their own workstations. However, in a high security environment, you should allow only Administrators, not users, to do this, because printer driver installation may unintentionally cause the computer to become less stable. A malicious user could install inappropriate printer drivers in a deliberate attempt to damage the computer, or a user might accidentally install malicious software that masquerades as a printer driver. It is feasible for an attacker to disguise a Trojan horse program as a printer driver. The program may appear to users as if they must use it to print, but such a program could unleash malicious code on your computer network.
Current rationale
It may be appropriate in some organizations to allow users to install printer drivers on their own workstations. However, you should allow only Administrators, not users, to do so on servers, because printer driver installation on a server may unintentionally cause the computer to become less stable. A malicious user could install inappropriate printer drivers in a deliberate attempt to damage the computer, or a user might accidentally install malicious software that masquerades as a printer driver. It is feasible for an attacker to disguise a Trojan horse program as a printer driver. The program may appear to users as if they must use it to print, but such a program could unleash malicious code on your computer network.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of red
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers'
AddPrinterDrivers : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Provi ders\LanMan Print Services\Servers PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Provi ders\LanMan Print Services PSChildName : Servers PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`:
</details>
### 2.3.6.1 Ensure 'Domain member: Digitally encrypt or sign secure channel data (always)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters'
DisablePasswordChange : 0 MaximumPasswordAge : 30 RequireSignOrSeal : 1 RequireStrongKey : 1 SealSecureChannel : 1 ServiceDll : C:\Windows\system32\netlogon.dll SignSecureChannel : 1 Update : no PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlog on\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlog on PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`:
</details>
### 2.3.6.2 Ensure 'Domain member: Digitally encrypt secure channel data (when possible)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output: Same as 2.3.6.1
- Expected scan result: `PASS`:
</details>
### 2.3.6.3 Ensure 'Domain member: Digitally sign secure channel data (when possible)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Error in remediation - Extra ' .' at the end of the field**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Domain member: Digitally sign secure channel data (when possible).
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output: Same as 2.3.6.1
- Expected scan result: `PASS`:
</details>
### 2.3.6.4 Ensure 'Domain member: Disable machine account password changes' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output: Same as 2.3.6.1
- Expected scan result: `PASS`:
</details>
### 2.3.6.5 Ensure 'Domain member: Maximum machine account password age' is set to '30 or fewer days, but not 0' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> net.exe accounts Force user logoff how long after time expires?: Never Minimum password age (days): 0 Maximum password age (days): 42 Minimum password length: 0 Length of password history maintained: None Lockout threshold: Never Lockout duration (minutes): 30 Lockout observation window (minutes): 30 Computer role: WORKSTATION The command completed successfully.
- Expected scan result: `FAIL`:
</details>
### 2.3.6.6 Ensure 'Domain member: Require strong (Windows 2000 or later) session key' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output: Same as 2.3.6.1
- Expected scan result: `PASS`:
</details>
### 2.3.7.1 Ensure 'Interactive logon: Do not require CTRL+ALT+DEL' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This policy setting determines whether users must press CTRL+ALT+DEL before they log on.The recommended state for this setting is: Disabled.
**Current description**
Microsoft developed this feature to make it easier for users with certain types of physical impairments to log on to computers that run Windows. If users are not required to press CTRL+ALT+DEL, they are susceptible to attacks that attempt to intercept their passwords. If CTRL+ALT+DEL is required before logon, user passwords are communicated by means of a trusted path.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of fail
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System'
ConsentPromptBehaviorAdmin : 5 ConsentPromptBehaviorUser : 3 DSCAutomationHostEnabled : 2 EnableCursorSuppression : 1 EnableFullTrustStartupTasks : 2 EnableInstallerDetection : 0 EnableLUA : 0 EnableSecureUIAPaths : 1 EnableUIADesktopToggle : 0 EnableUwpStartupTasks : 2 EnableVirtualization : 1 PromptOnSecureDesktop : 1 SupportFullTrustStartupTasks : 1 SupportUwpStartupTasks : 1 ValidateAdminCodeSignatures : 0 dontdisplaylastusername : 0 legalnoticecaption : legalnoticetext : scforceoption : 0 shutdownwithoutlogon : 1 undockwithoutlogon : 1 LocalAccountTokenFilterPolicy : 1 NoConnectedUser : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies\System PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies PSChildName : System PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.7.2 Ensure 'Interactive logon: Don't display last signed-in' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Don't display last signed-in
**Current remediation**
"To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Do not display last user name
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of fail
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System'
ConsentPromptBehaviorAdmin : 5 ConsentPromptBehaviorUser : 3 DSCAutomationHostEnabled : 2 EnableCursorSuppression : 1 EnableFullTrustStartupTasks : 2 EnableInstallerDetection : 0 EnableLUA : 0 EnableSecureUIAPaths : 1 EnableUIADesktopToggle : 0 EnableUwpStartupTasks : 2 EnableVirtualization : 1 PromptOnSecureDesktop : 1 SupportFullTrustStartupTasks : 1 SupportUwpStartupTasks : 1 ValidateAdminCodeSignatures : 0 dontdisplaylastusername : 0 legalnoticecaption : legalnoticetext : scforceoption : 0 shutdownwithoutlogon : 1 undockwithoutlogon : 1 LocalAccountTokenFilterPolicy : 1 NoConnectedUser : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies\System PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies PSChildName : System PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.7.3 Ensure 'Interactive logon: Machine account lockout threshold' is set to '10 or fewer invalid logon attempts, but not 0' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This security setting determines the number of failed logon attempts that causes the machine to be locked out. Failed password attempts against workstations or member servers that have been locked using either CTRL+ALT+DELETE or password protected screen savers counts as failed logon attempts. The machine lockout policy is enforced only on those machines that have BitLocker enabled for protecting OS volumes. Please ensure that appropriate recovery password backup policies are enabled.
**Current description**
This security setting determines the number of failed logon attempts that causes the machine to be locked out. Failed password attempts against workstations or member servers that have been locked using either CTRL+ALT+DELETE or password protected screen savers counts as failed logon attempts. The machine lockout policy is enforced only on those machines that have BitLocker enabled for protecting OS volumes. Please ensure that appropriate recovery password backup policies are enabled. The recommended state for this setting is: 10 or fewer invalid logon attempts, but not 0.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Multiple errors:
- In case of not setting this policy, it will be marked as not applied instead of fail
- Rule match for `MaxDevicePasswordFailedAttempts <= 30` but is is required `<=10`
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System'
ConsentPromptBehaviorAdmin : 5 ConsentPromptBehaviorUser : 3 DSCAutomationHostEnabled : 2 EnableCursorSuppression : 1 EnableFullTrustStartupTasks : 2 EnableInstallerDetection : 0 EnableLUA : 0 EnableSecureUIAPaths : 1 EnableUIADesktopToggle : 0 EnableUwpStartupTasks : 2 EnableVirtualization : 1 PromptOnSecureDesktop : 1 SupportFullTrustStartupTasks : 1 SupportUwpStartupTasks : 1 ValidateAdminCodeSignatures : 0 dontdisplaylastusername : 0 legalnoticecaption : legalnoticetext : scforceoption : 0 shutdownwithoutlogon : 1 undockwithoutlogon : 1 LocalAccountTokenFilterPolicy : 1 NoConnectedUser : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies\System PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies PSChildName : System PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.7.4 Ensure 'Interactive logon: Machine inactivity limit' is set to '900 or fewer second(s), but not 0' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to 900 or fewer seconds, but not 0: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Machine inactivity limit
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to 900 or fewer seconds, but not 0: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Machine inactivity limit.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of fail
- Output: Same as 2.3.7.3
- Expected scan result: `FAIL`
</details>
### 2.3.7.5 Configure 'Interactive logon: Message text for users attempting to log on' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected rationale**
Displaying a warning message before logon may help prevent an attack by warning the attacker about the consequences of their misconduct before it happens. It may also help to reinforce corporate policy by notifying employees of the appropriate policy during the logon process. This text is often used for legal reasons—for example, to warn users about the ramifications of misusing company information or to warn them that their actions may be audited.
**Current rationale**
Displaying a warning message before logon may help prevent an attack by warning the attacker about the consequences of their misconduct before it happens. It may also help to reinforce corporate policy by notifying employees of the appropriate policy during the logon process. This text is often used for legal reasons—for example, to warn users about the ramifications of misusing company information or to warn them that their actions may be audited
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v legalnoticetext
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system legalnoticetext REG_SZ
- Expected scan result: `FAIL`
</details>
### 2.3.7.6 Configure 'Interactive logon: Message title for users attempting to log on' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This policy setting specifies the text displayed in the title bar of the window that users see when they log on to the system. Configure this setting in a manner that is consistent with the security and operational requirements of your organization.
**Current description (extra whitespace at end of the field)**
This policy setting specifies the text displayed in the title bar of the window that users see when they log on to the system. Configure this setting in a manner that is consistent with the security and operational requirements of your organization.
**Expected rationale**
Displaying a warning message before logon may help prevent an attack by warning the attacker about the consequences of their misconduct before it happens. It may also help to reinforce corporate policy by notifying employees of the appropriate policy during the logon process.
**Current rationale**
Displaying a warning message before logon may help prevent an attack by warning the attacker about the consequences of their misconduct before it happens. It may also help to reinforce corporate policy by notifying employees of the appropriate policy during the logon process.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v legalnoticecaption
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system legalnoticecaption REG_SZ
- Expected scan result: `FAIL`
</details>
### 2.3.7.7 Ensure 'Interactive logon: Number of previous logons to cache (in case domain controller is not available)' is set to '4 or fewer logon(s)' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of failed
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
AutoRestartShell : 1 Background : 0 0 0 CachedLogonsCount : 10 DebugServerCommand : no DisableBackButton : 1 EnableSIHostIntegration : 1 ForceUnlockLogon : 0 LegalNoticeCaption : LegalNoticeText : PasswordExpiryWarning : 5 PowerdownAfterShutdown : 0 PreCreateKnownFolders : {A520A1A4-1780-4FF6-BD18-167343C5AF16} ReportBootOk : 1 Shell : explorer.exe ShellCritical : 0 ShellInfrastructure : sihost.exe SiHostCritical : 0 SiHostReadyTimeOut : 0 SiHostRestartCountLimit : 0 SiHostRestartTimeGap : 0 Userinit : C:\Windows\system32\userinit.exe, VMApplet : SystemPropertiesPerformance.exe /pagefile WinStationsDisabled : 0 scremoveoption : 0 DisableCAD : 1 LastLogOffEndTimePerfCounter : 126092897123 ShutdownFlags : 7 DisableLockWorkstation : 0 EnableFirstLogonAnimation : 1 AutoLogonSID : S-1-5-21-2383466009-3940392604-4156099882-1001 LastUsedUsername : vagrant DefaultDomainName : DefaultUserName : vagrant AutoAdminLogon : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion PSChildName : Winlogon PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 2.3.7.8 Ensure 'Interactive logon: Prompt user to change password before expiration' is set to 'between 5 and 14 days :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of failed
- Output: Same as 2.3.7.7
- Expected scan result: `FAIL`
</details>
### 2.3.7.9 Ensure 'Interactive logon: Smart card removal behavior' is set to 'Lock Workstation' or higher :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of failed
- Output: Same as 2.3.7.7
- Expected scan result: `FAIL`
</details>
### 2.3.8.1 Ensure 'Microsoft network client: Digitally sign communications (always)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of failed
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters'
EnablePlainTextPassword : 0 EnableSecuritySignature : 1 RequireSecuritySignature : 0 ServiceDll : C:\Windows\System32\wkssvc.dll ServiceDllUnloadOnStop : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lan manWorkstation\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lan manWorkstation PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.8.2 Ensure 'Microsoft network client: Digitally sign communications (if server agrees)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of pass
- Output: Same as 2.3.8.1
- Expected scan result: `FAIL`
</details>
### 2.3.8.3 Ensure 'Microsoft network client: Send unencrypted password to third-party SMB servers' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of pass
- Output: Same as 2.3.8.1
- Expected scan result: `FAIL`
</details>
### 2.3.9.1 Ensure 'Microsoft network server: Amount of idle time required before suspending session' is set to '15 or fewer minute(s) :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This policy setting allows you to specify the amount of continuous idle time that must pass in an SMB session before the session is suspended because of inactivity. Administrators can use this policy setting to control when a computer suspends an inactive SMB session. If client activity resumes, the session is automatically reestablished. The maximum value is 99999, which is over 69 days; in effect, this value disables the setting. The recommended state for this setting is: 15 or fewer minute(s).
**Current description**
"This policy setting allows you to specify the amount of continuous idle time that must pass in an SMB session before the session is suspended because of inactivity. Administrators can use this policy setting to control when a computer suspends an inactive SMB session. If client activity resumes, the session is automatically reestablished. A value of 0 appears to allow sessions to persist indefinitely. The maximum value is 99999, which is over 69 days; in effect, this value disables the setting. The recommended state for this setting is: 15 or fewer minute(s), but not 0."
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of pass
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.9.2 Ensure 'Microsoft network server: Digitally sign communications (always)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of fail
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.9.3 Ensure 'Microsoft network server: Digitally sign communications (if client agrees)' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of fail
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Service s\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.9.4 Ensure 'Microsoft network server: Disconnect clients when logon hours expire' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of pass
- Output: Same as 2.3.9.3
- Expected scan result: `FAIL`
</details>
### 2.3.9.5 Ensure 'Microsoft network server: Server SPN target name validation level' is set to 'Accept if provided by client' or higher :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not define this policy state will be Not applied instead of fail
- Output: Same as 2.3.9.3
- Expected scan result: `FAIL`
</details>
### 2.3.10.1 Ensure 'Network access: Allow anonymous SID/Name translation' is set to 'Disabled' :red_circle:
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This policy setting determines whether an anonymous user can request security identifier (SID) attributes for another user, or use a SID to obtain its corresponding user name.
**Current description**
This policy setting determines whether an anonymous user can request security identifier (SID) attributes for another user, or use a SID to obtain its corresponding user name
**Expected rationale**
If this policy setting is enabled, a user with local access could use the well-known Administrator's SID to learn the real name of the built-in Administrator account, even if it has been renamed. That person could then use the account name to initiate a password guessing attack.
**Current rationale**
This policy setting determines whether an anonymous user can request security identifier (SID) attributes for another user, or use a SID to obtain its corresponding user name
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :yellow_circle: If `LSAAnonymousNameLookup` not defined, it will be marked as Not applicable instead of failed (default value Enabled)
- Output:
C:\Users\vagrant>powershell "$null = secedit /export /cfg $env:temp/secexport.cfg; $(gc $env:temp/secexport.cfg | Select-String \"LSAAnonymousNameLookup\").ToString().Split(\"=\")[1].Trim()" 1
- Expected scan result: `FAIL`
</details>
### 2.3.10.2 Ensure 'Network access: Do not allow anonymous enumeration of SAM accounts' is set to 'Enabled'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected rationale**
An unauthorized user could anonymously list account names and use the information to attempt to guess passwords or perform social engineering attacks. (Social engineering attacks try to deceive users in some way to obtain passwords or some form of security information.)
**Current rationale**
An unauthorized user could anonymously list account names and use the information to attempt to guess passwords or perform social engineering attacks. (Social engineering attacks try to deceive users in some way to obtain passwords or some form of security information)
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle:: In case of not defining registry value, the check will be marked as Not applicable instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.10.3 Ensure 'Network access: Do not allow anonymous enumeration of SAM accounts and shares' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
** Expected rationale **
An unauthorized user could anonymously list account names and shared resources and use the information to attempt to guess passwords or perform social engineering attacks. (Social engineering attacks try to deceive users in some way to obtain passwords or some form of security information.)
**Current rationale**
An unauthorized user could anonymously list account names and shared resources and use the information to attempt to guess passwords or perform social engineering attacks. (Social engineering attacks try to deceive users in some way to obtain passwords or some form of security information)
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle:: In case of not defining registry value, the check will be marked as Not applicable instead of fail
- Output: Same as 2.3.10.2
- Expected scan result: `FAIL`
</details>
### 2.3.10.4 Ensure 'Network access: Do not allow storage of passwords and credentials for network authentication' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle:: In case of not defining registry value, the check will be marked as Not applicable instead of fail
- Output: Sames as 2.3.10.2
- Expected scan result: `PASS`
</details>
### 2.3.10.5 Ensure 'Network access: Let Everyone permissions apply to anonymous users' is set to 'Disabled'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle:: In case of not defining registry value, the check will be marked as Not applicable instead of pass
- Output:
- Expected scan result: `PASS`
</details>
### 2.3.10.6 Ensure 'Network access: Named Pipes that can be accessed anonymously' is set to 'None'
- Severity: `Low` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.10.7 Ensure 'Network access: Remotely accessible registry paths'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Network access: Remotely accessible registry paths' is configured
**Current tittle**
Ensure 'Network access: Remotely accessible registry paths'
**Expected description**
This policy setting determines which registry paths will be accessible over the network, regardless of the users or groups listed in the access control list (ACL) of the winreg registry key. Note: This setting does not exist in Windows XP. There was a setting with that name in Windows XP, but it is called 'Network access: Remotely accessible registry paths and subpaths' in Windows Server 2003, Windows Vista, and Windows Server 2008 (non-R2)."
**Current description**
This policy setting determines which registry paths will be accessible over the network, regardless of the users or groups listed in the access control list (ACL) of the winreg registry key. Note: This setting does not exist in Windows XP. There was a setting with that name in Windows XP, but it is called Network access: Remotely accessible registry paths and subpaths in Windows Server 2003, Windows Vista, and Windows Server 2008 (non-R2)."
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths'
Machine : {System\CurrentControlSet\Control\ProductOptions, System\CurrentControlSet\Control\Server Applications, Software\Microsoft\Windows NT\CurrentVersion} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg PSChildName : AllowedExactPaths PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.10.8 Ensure 'Network access: Remotely accessible registry paths and sub-paths'
- Severity: `Medium` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Network access: Remotely accessible registry paths and sub-paths' is configured
**Current tittle**
Ensure 'Network access: Remotely accessible registry paths and sub-paths'
**Expected description**
This policy setting determines which registry paths and sub-paths will be accessible over the network, regardless of the users or groups listed in the access control list (ACL) of the winreg registry key. Note: In Windows XP this setting is called ' Network access: Remotely accessible registry paths' , the setting with that same name in Windows Vista, Windows Server 2008 (non-R2), and Windows Server 2003 does not exist in Windows XP. Note #2: When you configure this setting you specify a list of one or more objects. The delimiter used when entering the list is a line feed or carriage return, that is, type the first object on the list, press the Enter button, type the next object, press Enter again, etc. The setting value is stored as a comma-delimited list in group policy security templates. It is also rendered as a comma-delimited list in Group Policy Editor's display pane and the Resultant Set of Policy console. It is recorded in the registry as a line-feed delimited list in a REG_MULTI_SZ value. The recommended state for this setting is: System\CurrentControlSet\Control\Print\Printers System\CurrentControlSet\Services\Eventlog Software\Microsoft\OLAP Server Software\Microsoft\Windows NT\CurrentVersion\Print Software\Microsoft\Windows NT\CurrentVersion\Windows System\CurrentControlSet\Control\ContentIndex System\CurrentControlSet\Control\Terminal Server System\CurrentControlSet\Control\Terminal Server\UserConfig System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration Software\Microsoft\Windows NT\CurrentVersion\Perflib System\CurrentControlSet\Services\SysmonLog"
**Current description**
This policy setting determines which registry paths and sub-paths will be accessible over the network, regardless of the users or groups listed in the access control list (ACL) of the winreg registry key. Note: In Windows XP this setting is called Network access: Remotely accessible registry paths, the setting with that same name in Windows Vista, Windows Server 2008 (non-R2), and Windows Server 2003 does not exist in Windows XP. Note #2: When you configure this setting you specify a list of one or more objects. The delimiter used when entering the list is a line feed or carriage return, that is, type the first object on the list, press the Enter button, type the next object, press Enter again, etc. The setting value is stored as a comma-delimited list in group policy security templates. It is also rendered as a comma-delimited list in Group Policy Editor's display pane and the Resultant Set of Policy console. It is recorded in the registry as a line-feed delimited list in a REG_MULTI_SZ value. The recommended state for this setting is: System\CurrentControlSet\Control\Print\Printers System\CurrentControlSet\Services\Eventlog Software\Microsoft\OLAP Server Software\Microsoft\Windows NT\CurrentVersion\Print Software\Microsoft\Windows NT\CurrentVersion\Windows System\CurrentControlSet\Control\ContentIndex System\CurrentControlSet\Control\Terminal Server System\CurrentControlSet\Control\Terminal Server\UserConfig System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration Software\Microsoft\Windows NT\CurrentVersion\Perflib System\CurrentControlSet\Services\SysmonLog"
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedPaths'
Machine : {System\CurrentControlSet\Control\Print\Printers, System\CurrentControlSet\Services\Eventlog, Software\Microsoft\OLAP Server, Software\Microsoft\Windows NT\CurrentVersion\Print...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedPaths PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg PSChildName : AllowedPaths PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.10.9 Ensure 'Network access: Restrict anonymous access to Named Pipes and Shares' is set to 'Enabled'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {a} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.10.10 Ensure 'Network access: Restrict clients allowed to make remote calls to SAM' is set to 'Administrators: Remote Access: Allow' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not setting this policy, it will be marked as not applied instead of fail
- Output:
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.10.11 Ensure 'Network access: Shares that can be accessed anonymously' is set to 'None'
- Severity: `Medium` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected rationale**
It is very dangerous to allow any values in this setting. Any shares that are listed can be accessed by any network user, which could lead to the exposure or corruption of sensitive data.
**Current rationale**
It is very dangerous to allow any values in this setting. Any shares that are listed can be accessed by any network user, which could lead to the exposure or corruption of sensitive data
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {a} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.10.12 Ensure 'Network access: Sharing and security model for local accounts' is set to 'Classic - local users authenticate as themselves' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `PASS`
</details>
### 2.3.11.1 Ensure 'Network security: Allow Local System to use computer identity for NTLM' is set to 'Enabled'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not setting this policy, it will be marked as not applied instead of fail
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.2 Ensure 'Network security: Allow LocalSystem NULL session fallback' is set to 'Disabled'
- Severity: `High` :red_circle:
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In case of not setting this policy, it will be marked as not applied instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0'
Auth132 : IISSUBA NtlmMinClientSec : 536870912 NtlmMinServerSec : 536870912 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0 PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa PSChildName : MSV1_0 PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.3 Ensure 'Network Security: Allow PKU2U authentication requests to this computer to use online identities' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Not defined and disabled by default. If this policy is not changed this will produce a false positive. Change to condition any and negate the first rule
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\pku2u' Get-ItemProperty : Cannot find path 'HKLM:\System\CurrentControlSet\Control\Lsa\pku2u' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\System\Cu...ntrol\Lsa\pku2u:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
- Expected scan result: `PASS`
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle: Expected tittle
Ensure 'Network security: Configure encryption types allowed for Kerberos' is set to 'AES128_HMAC_SHA1, AES256_HMAC_SHA1, Future encryption types'
Current tittle
Ensure 'Network Security: Configure encryption types allowed for Kerberos' is set to 'RC4_HMAC_MD5, AES128_HMAC_SHA1, AES256_HMAC_SHA1, Future encryption types'
Expected description
This policy setting allows you to set the encryption types that Kerberos is allowed to use. The recommended state for this setting is: AES128_HMAC_SHA1, AES256_HMAC_SHA1, Future encryption types. Note: Some legacy applications and OSes may still require RC4_HMAC_MD5 - we recommend you test in your environment and verify whether you can safely remove it.
Current description
This policy setting allows you to set the encryption types that Kerberos is allowed to use. The recommended state for this setting is: AES128_HMAC_SHA1, AES256_HMAC_SHA1, Future encryption types. Note: Some legacy applications and OSes may require RC4_HMAC_MD5 - we recommend you test in your environment and verify whether you can safely remove it. For the purposes of scoring we have allowed the use of RC4_HMAC_MD5 as an optional setting.
Compliance - :red_circle:: Check commentary
Rules - :red_circle:: Default value RC4_HMAC_MD5, AES128_HMAC_SHA1, AES256_HMAC_SHA1, Future encryption types. However not applicable is the final scan result due to registry does not exists.
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters'
Get-ItemProperty : Cannot find path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters' because it
does not exist.
At line:1 char:1
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Wi ...
+ CategoryInfo : ObjectNotFound: (HKLM:\Software\...eros\Parameters:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
PS C:\Users\vagrant\AppData>
- Expected scan result: `FAIL`
</details>
### 2.3.11.5 Ensure 'Network security: Do not store LAN Manager hash value on next password change' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not define this policy not applicable result will be set instead of pass.
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0
auditbaseobjects : 0
Bounds : {0, 48, 0, 0...}
crashonauditfail : 0
fullprivilegeauditing : {0}
LimitBlankPasswordUse : 1
NoLmHash : 1
Security Packages : {""}
Notification Packages : {scecli}
Authentication Packages : {msv1_0}
LsaPid : 680
LsaCfgFlagsDefault : 0
SecureBoot : 1
ProductType : 4
disabledomaincreds : 0
everyoneincludesanonymous : 0
forceguest : 0
restrictanonymous : 0
restrictanonymoussam : 1
scenoapplylegacyauditpolicy : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
PSChildName : Lsa
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.6 Ensure 'Network security: Force logoff when logon hours expire' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This policy setting determines whether to disconnect users who are connected to the local computer outside their user account's valid logon hours. This setting affects the Server Message Block (SMB) component. If you enable this policy setting you should also enable Microsoft network server: Disconnect clients when logon hours expire (Rule 2.3.9.4). The recommended state for this setting is: Enabled. Note: This recommendation is unscored because there is not a documented registry value that corresponds to it.
**Current description**
This policy setting determines whether to disconnect users who are connected to the local computer outside their user account's valid logon hours. This setting affects the Server Message Block (SMB) component. If you enable this policy setting you should also enable Microsoft network server: Disconnect clients when logon hours expire (Rule 2.3.9.4). The recommended state for this setting is: Enabled. Note: This recommendation is unscored because there is not a documented registry value that corresponds to it. We still strongly encourage that it be configured as Enabled, to ensure that logon hours (when configured) are properly enforced.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - In case of not define this policy not applicable result will be set instead of pass.
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters'
EnableAuthenticateUserSharing : 0 NullSessionPipes : {a} ServiceDll : C:\Windows\system32\srvsvc.dll ServiceDllUnloadOnStop : 1 autodisconnect : 15 enableforcedlogoff : 1 enablesecuritysignature : 0 requiresecuritysignature : 0 restrictnullsessaccess : 1 Guid : {233, 18, 141, 197...} PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer \Parameters PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer PSChildName : Parameters PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.7 Ensure 'Network security: LAN Manager authentication level' is set to 'Send NTLMv2 response only. Refuse LM & NTLM' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Final status not applicable, expected pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa'
auditbasedirectories : 0 auditbaseobjects : 0 Bounds : {0, 48, 0, 0...} crashonauditfail : 0 fullprivilegeauditing : {0} LimitBlankPasswordUse : 1 NoLmHash : 1 Security Packages : {""} Notification Packages : {scecli} Authentication Packages : {msv1_0} LsaPid : 680 LsaCfgFlagsDefault : 0 SecureBoot : 1 ProductType : 4 disabledomaincreds : 0 everyoneincludesanonymous : 0 forceguest : 0 restrictanonymous : 0 restrictanonymoussam : 1 scenoapplylegacyauditpolicy : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control PSChildName : Lsa PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.8 Ensure 'Network security: LDAP client signing requirements' is set to 'Negotiate signing' or higher :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - In case of ldapclientintegrity is not defined the result will be no applicable result instead of pass
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LDAP'
ldapclientintegrity : 1 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LDAP PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services PSChildName : LDAP PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.9 Ensure 'Network security: Minimum session security for NTLM SSP based (including secure RPC) clients' is set to 'Require NTLMv2 session security, Require 128-bit encryption' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Not applicable in case of registry not defined instead of fail
- Output:
PS C:\Users\vagrant\AppData> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0'
Auth132 : IISSUBA NtlmMinClientSec : 536870912 NtlmMinServerSec : 536870912 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\MSV1_0 PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa PSChildName : MSV1_0 PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.11.10 Ensure 'Network security: Minimum session security for NTLM SSP based (including secure RPC) servers' is set to 'Require NTLMv2 session security, Require 128-bit encryption' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Not applicable in case of registry not defined instead of fail
- Output: Same as 2.3.11.10
- Expected scan result: `FAIL`
</details>
In order to make it easier to track all requested changes and apply them to https://github.com/wazuh/wazuh/issues/13191, I have created 13191-Update-Win10-SCA-vr-qa
with most of these changes.
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle:
Expected tittle
Ensure 'System cryptography: Force strong key protection for user keys stored on the computer' is set to 'User is prompted when the key is first used' or higher
Current tittle
Ensure 'System cryptography: Force strong key protection for user keys stored on the computer' is set to 'User is prompted when the key is first used' or higher
Expected description
This policy setting determines whether users' private keys (such as their S-MIME keys)
require a password to be used. The recommended state for this setting is: User is prompted when the key is first used. Configuring this setting to User must enter a password each time they use a key also conforms to the benchmark.
Current description
Ensure 'System cryptography: Force strong key protection for user keys stored on the computer' is set to 'User is prompted when the key is first used' or higher
Expected rationale
If a user's account is compromised or their computer is inadvertently left unsecured the malicious user can use the keys stored for the user to access protected resources. You can configure this policy setting so that users must provide a password that is distinct from their domain password every time they use a key. This configuration makes it more difficult for an attacker to access locally stored user keys, even if the attacker takes control of the user's computer and determines their logon password.
Current rationale
If a user's account is compromised or their computer is inadvertently left unsecured the malicious user can use the keys stored for the user to access protected resources. You can configure this policy setting so that users must provide a password that is distinct from their domain password every time they use a key. This configuration makes it more difficult for an attacker to access locally stored user keys, even if the attacker takes control of the user's computer and determines their logon password.
Expected remediation
To establish the recommended configuration via GP, set the following UI path to User is prompted when the key is first used (configuring to User must enter a password each time they use a key also conforms to the benchmark): Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Local Policies\\Security Options\\System cryptography: Force strong key protection for user keys stored on the computer
Current remediation
To establish the recommended configuration via GP, set the following UI path to User is prompted when the key is first used (configuring to User must enter a password each time they use a key also conforms to the benchmark): Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Local Policies\\Security Options\\System cryptography: Force strong key protection for user keys stored on the computer
Compliance - :red_circle:: Check commentary
Rules - :red_circle: - Scan result Not applicable - Expected FAIL
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography'
PS C:\Users\vagrant>
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle: Expected remediation
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Local Policies\\Security Options\\System objects: Require case insensitivity for non-Windows subsystems.
Current remediation
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Local Policies\\Security Options\\System objects: Require case insensitivity for non -Windows subsystems.
Compliance - :red_circle:: Check commentary
Rules - :red_circle: Not applicable when policy is not set - Expected PASS
DpcWatchdogProfileOffset : 10000
ObUnsecureGlobalNames : {netfxcustomperfcounters.1.0, SharedPerfIPCBlock, Cor_Private_IPCBlock,
Cor_Public_IPCBlock_}
SeTokenSingletonAttributesConfig : 3
obcaseinsensitive : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Cont
rol\Session Manager\Kernel
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Cont
rol\Session Manager
PSChildName : Kernel
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :green_circle:
Compliance - :red_circle:: Check commentary
Rules - :red_circle: Not applicable when policy is not set - Expected PASS
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :green_circle:
Compliance - :red_circle:: Check commentary
Rules - :red_circle: Not applicable - Expected FAIL
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System'
ConsentPromptBehaviorAdmin : 5 ConsentPromptBehaviorUser : 3 DSCAutomationHostEnabled : 2 EnableCursorSuppression : 1 EnableFullTrustStartupTasks : 2 EnableInstallerDetection : 0 EnableLUA : 0 EnableSecureUIAPaths : 1 EnableUIADesktopToggle : 0 EnableUwpStartupTasks : 2 EnableVirtualization : 1 PromptOnSecureDesktop : 1 SupportFullTrustStartupTasks : 1 SupportUwpStartupTasks : 1 ValidateAdminCodeSignatures : 0 dontdisplaylastusername : 0 legalnoticecaption : legalnoticetext : fdsafsa scforceoption : 0 shutdownwithoutlogon : 1 undockwithoutlogon : 1 LocalAccountTokenFilterPolicy : 1 NoConnectedUser : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies\System PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curre ntVersion\Policies PSChildName : System PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 2.3.17.2 Ensure 'User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode' is set to 'Prompt for consent on the secure desktop' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected FAIL
- Output: Same as 2.3.17.1
- Expected scan result: `FAIL`
</details>
### 2.3.17.3 Ensure 'User Account Control: Behavior of the elevation prompt for standard users' is set to 'Automatically deny elevation requests' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected FAIL
- Output: Same as 2.3.17.1
- Expected scan result: `FAIL`
</details>
### 2.3.17.4 Ensure 'User Account Control: Detect application installations and prompt for elevation' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Detect application installations and prompt for elevation
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Detect application installations and prompt for elevation.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected FAIL
- Output: Same as 2.3.17.1
- Expected scan result: `FAIL`
</details>
### 2.3.17.5 Ensure 'User Account Control: Only elevate UIAccess applications that are installed in secure locations' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
Not consistent with the rest of the checks. If dots in CIS document are trasncript into ' -' this should be general in all the file
**Expected description**
This policy setting controls whether applications that request to run with a User Interface Accessibility (UIAccess) integrity level must reside in a secure location in the file system. Secure locations are limited to the following: - \Program Files\, including subfolders; - \Windows\system32\; - \Program Files (x86)\, including subfolders (for 64-bit versions of Windows). Note: Windows enforces a public key infrastructure (PKI) signature check on any interactive application that requests to run with a UIAccess integrity level regardless of the state of this security setting. The recommended state for this setting is: Enabled.
**Current description**
This policy setting controls whether applications that request to run with a User Interface Accessibility (UIAccess) integrity level must reside in a secure location in the file system. Secure locations are limited to the following: ...\Program Files\, including subfolders; ...\Windows\system32\; ...\Program Files (x86)\, including subfolders (for 64-bit versions of Windows). Note: Windows enforces a public key infrastructure (PKI) signature check on any interactive application that requests to run with a UIAccess integrity level regardless of the state of this security setting. The recommended state for this setting is: Enabled.
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Only elevate UIAccess applications that are installed in secure locations
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Only elevate UIAccess applications that are installed in secure locations.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected PASS
- Output: Same as 2.3.17.1
- Expected scan result: `PASS`
</details>
### 2.3.17.6 Ensure 'User Account Control: Run all administrators in Admin Approval Mode' is set to 'Enabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Run all administrators in Admin Approval Mode
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Run all administrators in Admin Approval Mode.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected PASS
- Output: Same as 2.3.17.1
- Expected scan result: `FAIL`
</details>
### 2.3.17.7 Ensure 'User Account Control: Switch to the secure desktop when prompting for elevation' is set to 'Enabled' :red_circle:
- Severity: `High`
- [x] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Switch to the secure desktop when prompting for elevation
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Switch to the secure desktop when prompting for elevation.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected PASS
- Output: Same as 2.3.17.1
- Expected scan result: `PASS`
</details>
### 2.3.17.8 Ensure 'User Account Control: Virtualize file and registry write failures to per-user locations' is set to 'Enabled' :red_circle:
- Severity: `Medium`
- [x] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Virtualize file and registry write failures to per-user locations
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to Enabled: Computer Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Virtualize file and registry write failures to per-user locations.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable when no policy is set - Expected PASS
- Output: Same as 2.3.17.1
- Expected scan result: `PASS`
</details>
Severity: Medium
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle: Expected tittle
Ensure 'Bluetooth Audio Gateway Service (BTAGService)' is set to 'Disabled'
Current tittle
(L2) Ensure 'Bluetooth Audio Gateway Service (BTAGService)' is set to 'Disabled'
Expected description
Service supporting the audio gateway role of the Bluetooth Handsfree Profile.The recommended state for this setting is: Disabled.
Current description
Service supporting the audio gateway role of the Bluetooth Handsfree Profile.
Expected rationale
Bluetooth technology has inherent security risks - especially prior to the v2.1 standard. Wireless Bluetooth traffic is not well encrypted (if at all), so in a high-security environment, it should not be permitted, in spite of the added inconvenience of not being able to use Bluetooth devices.
Current rationale
Bluetooth technology has inherent security risks - especially prior to the v2.1 standard. Wireless Bluetooth traffic is not well encrypted (if at all), so in a high-security environment, it should not be permitted, in spite of the added inconvenience of not being able to use Bluetooth devices.
Compliance - :red_circle:: Check commentary
Rules - :green_circle: In some versions of W10 BTAGService is not defined, so in this case if that registry does not exist it will be necessary to apply Not applicable. No changes are needed.
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTAGService'
DependOnService : {rpcss} Description : @%SystemRoot%\system32\BTAGService.dll,-102 DisplayName : @%SystemRoot%\system32\BTAGService.dll,-101 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k LocalServiceNetworkRestricted ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeIncreaseWorkingSetPrivilege, SeCreateGlobalPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTAGServi ce PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : BTAGService PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.2 Ensure 'Bluetooth Support Service (bthserv)' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Bluetooth Support Service (bthserv)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Bluetooth Support Service (bthserv)' is set to 'Disabled'
**Expected description**
The Bluetooth service supports discovery and association of remote Bluetooth devices. The recommended state for this setting is: Disabled.
**Current description**
The Bluetooth service supports discovery and association of remote Bluetooth devices
**Expected rationale**
Bluetooth technology has inherent security risks - especially prior to the v2.1 standard. Wireless Bluetooth traffic is not well encrypted (if at all), so in a high-security environment, it should not be permitted, in spite of the added inconvenience of not being able to use Bluetooth devices.
**Current rationale**
: "Bluetooth technology has inherent security risks - especially prior to the v2.1 standard. Wireless Bluetooth traffic is not well encrypted (if at all), so in a high-security environment, it should not be permitted, in spite of the added inconvenience of not being able to use Bluetooth devices."
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable in case of policy is not defined - Expected FAIL
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bthserv'
Description : @%SystemRoot%\System32\bthserv.dll,-102 DisplayName : @%SystemRoot%\System32\bthserv.dll,-101 ErrorControl : 1 FailureActions : {132, 3, 0, 0...} ImagePath : C:\Windows\system32\svchost.exe -k LocalService -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\bthserv PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es PSChildName : bthserv PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.4 Ensure 'Downloaded Maps Manager (MapsBroker)' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Downloaded Maps Manager (MapsBroker)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Downloaded Maps Manager (MapsBroker)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: Not applicable in case of policy is not defined - Expected FAIL
- Output:
DelayedAutoStart : 1 DependOnService : {rpcss} Description : @%SystemRoot%\System32\moshost.dll,-101 DisplayName : @%SystemRoot%\System32\moshost.dll,-100 ErrorControl : 1 Group : NetworkService ImagePath : C:\Windows\System32\svchost.exe -k NetworkService -p ObjectName : NT AUTHORITY\NetworkService RequiredPrivileges : {SeImpersonatePrivilege} ServiceSidType : 1 Start : 2 Type : 16 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\MapsBroker PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es PSChildName : MapsBroker PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.5 Ensure 'Geolocation Service (lfsvc)' is set to 'Disabled' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Geolocation Service (lfsvc)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Geolocation Service (lfsvc)' is set to 'Disabled'
**Expected description**
This service monitors the current location of the system and manages geofences (a geographical location with associated events). The recommended state for this setting is: Disabled.
**Current description**
This service monitors the current location of the system and manages geofences (a geographical location with associated events).
**Expected remediation**
To establish the recommended configuration via GP, set the following UI path to: Disabled. Computer Configuration\Policies\Windows Settings\Security Settings\System Services\Geolocation Service"
**Current remediation**
To establish the recommended configuration via GP, set the following UI path to: Disabled. Computer Configuration\Policies\Windows Settings\Security Settings\System Services\Geolocation Service "
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Bad rule same as 5.4. Expected rule is:
- 'r:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lfsvc'
- 'r:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lfsvc -> Start'
- 'r:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lfsvc -> Start -> 4'º
- Output: (Correct command)
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lfsvc'
DependOnService : {RpcSs} Description : @%SystemRoot%\System32\lfsvc.dll,-2 DisplayName : @%SystemRoot%\System32\lfsvc.dll,-1 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\lfsvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es PSChildName : lfsvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.6 Ensure 'IIS Admin Service (IISADMIN)' is set to 'Disabled' or 'Not Installed :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
Enables the server to administer the IIS metabase. The IIS metabase stores configuration for the SMTP and FTP services. The recommended state for this setting is: Disabled or Not Installed.Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling an optional Windows feature (Internet Information Services). Note #2: An organization may choose to selectively grant exceptions to web developers to allow IIS (or another web server) on their workstation, in order for them to locally test & develop web pages. However, the organization should track those machines and ensure the security controls and mitigations are kept up to date, to reduce risk of compromise.
**Current description**
Enables the server to administer the IIS metabase. The IIS metabase stores configuration for the SMTP and FTP services
**Expected rationale**
Hosting a website from a workstation is an increased security risk, as the attack surface of that workstation is then greatly increased. If proper security mitigations are not followed, the chance of successful attack increases significantly. Note: This security concern applies to any web server application installed on a workstation, not just IIS.
**Current rationale**
Enables the server to administer the IIS metabase. The IIS metabase stores configuration for the SMTP and FTP services
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\IISADMIN' because it does not exist. At line:1 char:1
PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 5.7 Ensure 'Infrared monitor service (irmon)' is set to 'Disabled' or 'Not Installed' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Infrared monitor service (irmon)' is set to 'Disabled' or 'Not Installed'
**Current tittle**
Ensure 'Infrared monitor service (irmon)' is set to 'Disabled' or 'Not Installed'
**Expected description**
Detects other Infrared devices that are in range and launches the file transfer application. The recommended state for this setting is: Disabled or Not Installed.
**Current description**
Detects other Infrared devices that are in range and launches the file transfer application
**Expected rationale**
Infrared connections can potentially be a source of data compromise - especially via the automatic file transfer application functionality. Enterprise-managed systems should utilize a more secure method of connection than infrared.
**Current rationale**
Infrared connections can potentially be a source of data compromise - especially via the automatic file transfer application functionality. Enterprise-managed systems should utilize a more secure method of connection than infrared
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: Suggestions, also include check of start value
- 'not r:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\irmon -> Start'
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\irmon' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\irmon' because it does not exist. At line:1 char:1
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle:
Expected description
Provides network access translation, addressing, name resolution and/or intrusion prevention services for a home or small office network. The recommended state for this setting is: Disabled.
Current description
Provides network access translation, addressing, name resolution and/or intrusion prevention services for a home or small office network.
Expected rationale
Internet Connection Sharing (ICS) is a feature that allows someone to share their Internet connection with other machines on the network - it was designed for home or small office environments where only one machine has Internet access - it effectively turns that machine into an Internet router. This feature causes the bridging of networks and likely bypassing other, more secure pathways. It should not be used on any enterprise-managed system.
Current rationale
Internet Connection Sharing (ICS) is a feature that allows someone to share their Internet connection with other machines on the network - it was designed for home or small office environments where only one machine has Internet access - it effectively turns that machine into an Internet router. This feature causes the bridging of networks and likely bypassing other, more secure pathways. It should not be used on any enterprise-managed system.
Compliance - :red_circle:: Check commentary
Rules - :red_circle: - Not applicable in case of not defined register. - Expected FAIL
DependOnService : {BFE} Description : @%SystemRoot%\system32\ipnathlp.dll,-107 DisplayName : @%SystemRoot%\system32\ipnathlp.dll,-106 ErrorControl : 1 FailureActions : {132, 3, 0, 0...} ImagePath : C:\Windows\System32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege, SeLoadDriverPrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\SharedAccess PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es PSChildName : SharedAccess PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.9 Ensure 'Link-Layer Topology Discovery Mapper (lltdsvc)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Link-Layer Topology Discovery Mapper (lltdsvc)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Link-Layer Topology Discovery Mapper (lltdsvc)' is set to 'Disabled'
**Expected description**
Creates a Network Map, consisting of PC and device topology (connectivity) information, and metadata describing each PC and device. The recommended state for this setting is: Disabled.
**Current description**
(L2) Ensure 'Link-Layer Topology Discovery Mapper (lltdsvc)' is set to 'Disabled'
**Expected rationale**
The feature that this service enables could potentially be used for unauthorized discovery and connection to network devices. Disabling the service helps to prevent responses to requests for network topology discovery in high security environments.
**Current rationale**
The feature that this service enables could potentially be used for unauthorized discovery and connection to network devices. Disabling the service helps to prevent responses to requests for network topology discovery in high security environments.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: - Not applicable in case of not defined register. - Expected FAIL
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lltdsvc'
DependOnService : {rpcss, lltdio} Description : @%SystemRoot%\system32\lltdres.dll,-2 DisplayName : @%SystemRoot%\system32\lltdres.dll,-1 ErrorControl : 1 FailureActions : {0, 0, 0, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalService -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeImpersonatePrivilege, SeChangeNotifyPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\lltdsvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Servic es PSChildName : lltdsvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.10 Ensure 'LxssManager (LxssManager)' is set to 'Disabled' or 'Not Installed' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'LxssManager (LxssManager)' is set to 'Disabled' or 'Not Installed'
**Current tittle**
Ensure 'LxssManager (LxssManager)' is set to 'Disabled' or 'Not Installed' (Automated)
**Expected description**
The LXSS Manager service supports running native ELF binaries. The service provides the infrastructure necessary for ELF binaries to run on Windows. The recommended state for this setting is: Disabled or Not Installed. Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling an optional Windows feature (Windows Subsystem for Linux).
**Current description**
The LXSS Manager service supports running native ELF binaries. The service provides the infrastructure necessary for ELF binaries to run on Windows.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestions, include check Start value
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\LxssManager' because it does not exist. At line:1 char:1
FAIL
Severity: Medium
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle:
Expected description
Enables the server to be a File Transfer Protocol (FTP) server. The recommended state for this setting is: Disabled or Not Installed. Note: This service is not installed by default. It is supplied with Windows, but is installed by enabling an optional Windows feature (Internet Information Services - FTP Server).
Current description
Enables the server to be a File Transfer Protocol (FTP) server
Expected rationale
Hosting an FTP server (especially a non-secure FTP server) from a workstation is an increased security risk, as the attack surface of that workstation is then greatly increased.
Current rationale
Hosting an FTP server (especially a non-secure FTP server) from a workstation is an increased security risk, as the attack surface of that workstation is then greatly increased
Compliance - :red_circle:: Check commentary
Rules - :green_circle: - Suggestion: Include check of registry value Start
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FTPSVC' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\FTPSVC' because it does not exist. At line:1 char:1
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle:
Expected tittle
Ensure 'Microsoft iSCSI Initiator Service (MSiSCSI)' is set to 'Disabled'
Current tittle
(L2) Ensure 'Microsoft iSCSI Initiator Service (MSiSCSI)' is set to 'Disabled'
Expected description
Manages Internet SCSI (iSCSI) sessions from this computer to remote target devices. The recommended state for this setting is: Disabled.
Current description
Manages Internet SCSI (iSCSI) sessions from this computer to remote target devices.
Compliance - :red_circle:: Check commentary
Rules - :green_circle: Include check for registry and value
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Msiscsi'
Description : @%SystemRoot%\system32\iscsid sc.dll,-5001 DisplayName : @%SystemRoot%\system32\iscsid sc.dll,-5000 ErrorControl : 1 FailureActions : {80, 70, 0, 0...} FailureActionsOnNonCrashFailures : 1 FailureCommand : customScript.cmd Group : iSCSI ImagePath : C:\Windows\system32\svchost.e xe -k netsvcs -p ObjectName : LocalSystem RebootMessage : See Note 3 below RequiredPrivileges : {SeAuditPrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeCr eatePermanentPrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Reg istry::HKEY_LOCAL_MACHINE\SYS TEM\CurrentControlSet\Service s\Msiscsi PSParentPath : Microsoft.PowerShell.Core\Reg istry::HKEY_LOCAL_MACHINE\SYS TEM\CurrentControlSet\Service s PSChildName : Msiscsi PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Reg istry
- Expected scan result: `FAIL`
</details>
### 5.13 Ensure 'OpenSSH SSH Server (sshd)' is set to 'Disabled' or 'Not Installed :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
SSH protocol based service to provide secure encrypted communications between two untrusted hosts over an insecure network. The recommended state for this setting is: Disabled or Not Installed. Note: This service is not installed by default. It is supplied with Windows, but it is installed by enabling an optional Windows feature (OpenSSH Server).
**Current description**
SSH protocol based service to provide secure encrypted communications between two untrusted hosts over an insecure network.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: Suggestion, include check of Start value
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ssh' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\ssh' because it does not exist. At line:1 char:1
FAIL
Severity: Medium
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle: Expected tittle
Ensure 'Peer Name Resolution Protocol (PNRPsvc)' is set to 'Disabled'
Current tittle
(L2) Ensure 'Peer Name Resolution Protocol (PNRPsvc)' is set to 'Disabled'
Compliance - :red_circle:: Check commentary
Rules - :green_circle: Suggestion, include check of Start value
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PNRPsvc'
DependOnService : {p2pimsvc} Description : @%SystemRoot%\system32\pnrpsvc.dll,-8001 DisplayName : @%SystemRoot%\system32\pnrpsvc.dll,-8000 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalServicePeerNet ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PNRPsvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : PNRPsvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.15 Ensure 'Peer Networking Grouping (p2psvc)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Peer Networking Grouping (p2psvc)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Peer Networking Grouping (p2psvc)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p2psvc'
DependOnService : {p2pimsvc, PNRPSvc} Description : @%SystemRoot%\system32\p2psvc.dll,-8007 DisplayName : @%SystemRoot%\system32\p2psvc.dll,-8006 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalServicePeerNet ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p2psvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : p2psvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.16 Ensure 'Peer Networking Identity Manager (p2pimsvc)' is set to'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Peer Networking Identity Manager (p2pimsvc)' is set to'Disabled'
**Current tittle**
(L2) Ensure 'Peer Networking Identity Manager (p2pimsvc)' is set to'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p2psvc'
DependOnService : {p2pimsvc, PNRPSvc} Description : @%SystemRoot%\system32\p2psvc.dll,-8007 DisplayName : @%SystemRoot%\system32\p2psvc.dll,-8006 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalServicePeerNet ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p2psvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : p2psvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.17 Ensure 'PNRP Machine Name Publication Service (PNRPAutoReg)' is setto 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'PNRP Machine Name Publication Service (PNRPAutoReg)' is setto 'Disabled
**Current tittle**
(L2) Ensure 'PNRP Machine Name Publication Service (PNRPAutoReg)' is setto 'Disabled
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PNRPAutoReg'
DependOnService : {pnrpsvc} Description : @%SystemRoot%\system32\pnrpauto.dll,-8003 DisplayName : @%SystemRoot%\system32\pnrpauto.dll,-8002 ErrorControl : 1 FailureActions : {132, 3, 0, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalServicePeerNet ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PNRPAutoR eg PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : PNRPAutoReg PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.18 Ensure 'Print Spooler (Spooler)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This service spools print jobs and handles interaction with printers. The recommended state for this setting is: Disabled.
**Current description**
This service spools print jobs and handles interaction with printers. The recommended state for this setting is: Disabled.
**Expected rationale**
In a high security environment, unnecessary services especially those with known vulnerabilities should be disabled. Disabling the Print Spooler (Spooler) service mitigates the PrintNightmare vulnerability (CVE-2021-34527) and other attacks against the service.
**Current rationale**
In a high security environment, unnecessary services especially those with known vulnerabilities should be disabled.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler'
DependOnService : {RPCSS, http} Description : @%systemroot%\system32\spoolsv.exe,-2 DisplayName : @%systemroot%\system32\spoolsv.exe,-1 ErrorControl : 1 FailureActions : {16, 14, 0, 0...} Group : SpoolerGroup ImagePath : C:\Windows\System32\spoolsv.exe ObjectName : LocalSystem RequiredPrivileges : {SeTcbPrivilege, SeImpersonatePrivilege, SeAuditPrivilege, SeChangeNotifyPrivilege...} ServiceSidType : 1 Start : 2 Type : 272 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : Spooler PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.19 Ensure 'Problem Reports and Solutions Control Panel Support(wercplsupport)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Problem Reports and Solutions Control Panel Support(wercplsupport)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Problem Reports and Solutions Control Panel Support(wercplsupport)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wercplsupport'
Description : @%SystemRoot%\System32\wercplsupport.dll,-100 DisplayName : @%SystemRoot%\System32\wercplsupport.dll,-101 ErrorControl : 1 ImagePath : C:\Windows\System32\svchost.exe -k netsvcs -p ObjectName : localSystem RequiredPrivileges : {SeImpersonatePrivilege, SeTcbPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wercplsup port PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : wercplsupport PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.20 Ensure 'Remote Access Auto Connection Manager (RasAuto)' is set to'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
**Expected tittle**
Ensure 'Remote Access Auto Connection Manager (RasAuto)' is set to'Disabled'
**Current tittle**
(L2) Ensure 'Remote Access Auto Connection Manager (RasAuto)' is set to'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasAuto'
DependOnService : {RasAcd} Description : @%Systemroot%\system32\rasauto.dll,-201 DisplayName : @%Systemroot%\system32\rasauto.dll,-200 ErrorControl : 1 FailureActions : {132, 3, 0, 0...} ImagePath : C:\Windows\System32\svchost.exe -k netsvcs -p ObjectName : localSystem RequiredPrivileges : {SeImpersonatePrivilege, SeTcbPrivilege, SeIncreaseQuotaPrivilege, SeChangeNotifyPrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\RasAuto PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : RasAuto PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.21 Ensure 'Remote Desktop Configuration (SessionEnv)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Remote Desktop Configuration (SessionEnv)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Remote Desktop Configuration (SessionEnv)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SessionEnv'
DependOnService : {RPCSS, LanmanWorkstation} Description : @%SystemRoot%\System32\SessEnv.dll,-1027 DisplayName : @%SystemRoot%\System32\SessEnv.dll,-1026 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k netsvcs -p ObjectName : localSystem RequiredPrivileges : {SeBackupPrivilege, SeRestorePrivilege, SeTakeOwnershipPrivilege, SeImpersonatePrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\SessionEnv PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : SessionEnv PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.22 Ensure 'Remote Desktop Services (TermService)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Remote Desktop Services (TermService)' is set to 'Disabled'
**Current tittle**
(L2) Ensure 'Remote Desktop Services (TermService)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService'
DependOnService : {RPCSS} Description : @%SystemRoot%\System32\termsrv.dll,-267 DisplayName : @%SystemRoot%\System32\termsrv.dll,-268 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k NetworkService ObjectName : NT Authority\NetworkService RequiredPrivileges : {SeAssignPrimaryTokenPrivilege, SeAuditPrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\TermService PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : TermService PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.23 Ensure 'Remote Desktop Services UserMode Port Redirector(UmRdpService)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Remote Desktop Services UserMode Port Redirector(UmRdpService)' is set to 'Disabled'
**Current tittle**
Ensure 'Remote Desktop Services UserMode Port Redirector(UmRdpService)' is set to 'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UmRdpService'
DependOnService : {TermService, RDPDR} Description : @%SystemRoot%\system32\umrdp.dll,-1001 DisplayName : @%SystemRoot%\system32\umrdp.dll,-1000 ErrorControl : 1 FailureActions : {0, 0, 0, 0...} ImagePath : C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted -p ObjectName : localSystem RequiredPrivileges : {SeAuditPrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege...} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\UmRdpService PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : UmRdpService PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.24 Ensure 'Remote Procedure Call (RPC) Locator (RpcLocator)' is set to'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
Ensure 'Remote Procedure Call (RPC) Locator (RpcLocator)' is set to'Disabled'
**Current tittle**
Ensure 'Remote Procedure Call (RPC) Locator (RpcLocator)' is set to'Disabled'
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcLocator'
Description : @%systemroot%\system32\Locator.exe,-3 DisplayName : @%systemroot%\system32\Locator.exe,-2 ErrorControl : 1 FailureActions : {132, 3, 0, 0...} ImagePath : C:\Windows\system32\locator.exe ObjectName : NT AUTHORITY\NetworkService RequiredPrivileges : {SeChangeNotifyPrivilege} Start : 3 Type : 16 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\RpcLocator PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : RpcLocator PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.25 Ensure 'Remote Registry (RemoteRegistry)' is set to 'Disabled' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
Enables remote users to view and modify registry settings on this computer.The recommended state for this setting is: Disabled.
**Current description**
Enables remote users to modify registry settings on this computer. The recommended state for this setting is: Disabled.
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteRegistry'
DependOnService : {RPCSS} Description : @regsvc.dll,-2 DisplayName : @regsvc.dll,-1 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k localService -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 4 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\RemoteRegistry PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : RemoteRegistry PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.26 Ensure 'Routing and Remote Access (RemoteAccess)' is set to 'Disabled' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteRegistry'
DependOnService : {RPCSS} Description : @regsvc.dll,-2 DisplayName : @regsvc.dll,-1 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k localService -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 4 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\RemoteRegistry PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : RemoteRegistry PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.27 Ensure 'Server (LanmanServer)' is set to 'Disabled' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle: - Suggestion: Include check of registry value Start
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer'
DependOnService : {SamSS, Srv2} Description : @%systemroot%\system32\srvsvc.dll,-101 DisplayName : @%systemroot%\system32\srvsvc.dll,-100 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeChangeNotifyPrivilege, SeImpersonatePrivilege, SeAuditPrivilege} ServiceSidType : 1 Start : 2 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services\LanmanServer PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\Curr entControlSet\Services PSChildName : LanmanServer PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.28 Ensure 'Simple TCP/IP Services (simptcp)' is set to 'Disabled' or 'Not Installed' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\simptcp' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\simptcp' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SYSTEM\Cu...ervices\simptcp:Strin
g) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemProper
tyCommand
- Expected scan result: `FAIL`
</details>
### 5.29 Ensure 'SNMP Service (SNMP)' is set to 'Disabled' or 'Not Installed :red_circle:
- Severity: `Low`
- [x] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :green_circle:
- Compliance - :red_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :red_circle: In my local environment the final state was Not applicable, due to the registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP exists but no the Start value. Not solved in the branch
- Output:
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP' PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
I have developed a simple pytest test to ensure the fields title
, description
, remediation
and rationale
are exactly ad in CIS PDF file.
I also index a report with the results of the title
field in the branch 13191-Update-Win10-SCA-vr-qa
Automated_Check_Win10.zip
PDF parser has not included in the used json file the checks 18.8.5.1
, 18.8.5.2
, 18.8.5.3
, 18.8.5.4
, 18.8.5.5
, 18.8.5.6
. It is necessary to review the used script in order to ensure all checks of the file are gathered
Using https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172147543 test, it has been detected the the following CIS IDs are not included in the PDF file: 18.9.47.11.11
, 18.9.59.3.9.2
, 18.9.82.1
The correct cis
for checks 15327
, 15344
, and 15367
are respectively 18.9.47.11.1
. Fixed in 3191-Update-Win10-SCA-vr-qa
All the title, cis id errors, and bad rules detected in this analysis have been fixed in 3191-Update-Win10-SCA-vr-qa
branch. The remaining errors in the test come from an error parsing compound words with -
Report: TitleReport.zip
It has been detected that some format errors were very common in the policy:
"
This has been fixed in the branch 3191-Update-Win10-SCA-vr-qa branch
. For now one, all the reviews will not check this style error, marking Title, description, rationale, remediation
as :yellow_circle: if no errors were detected using 3191-Update-Win10-SCA-vr-qa branch
version. This will also be the default behavior for the compliance
field.
Update 05/07/202
Due to multiple errors not detected during the first review of the first range of checks in the multiple fields, I am going to change using the custom test to change all detected errors in all fields except the rules, leaving a review in comments for rule analysis. The rest of the fields will be marked as :yellow_circle: , indicating that developer should review the PR
After talking with @fabamatic, We are going to check only the Start
value (not ensuring the existence of this registries) for every Ensure 'Service' is set to 'Disabled' check
Severity: Low
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle: -
TItle: Check changes in PR
Compliance - :red_circle:: Check commentary
Rules - :green_circle:
FAIL
Severity: Low
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle: -
TItle: Check changes in PR
Compliance - :yellow_circle:: Check commentary
Rules - :green_circle:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SSDPSRV'
DependOnService : {HTTP, NSI} Description : @%systemroot%\system32\ssdpsrv.dll,-101 DisplayName : @%systemroot%\system32\ssdpsrv.dll,-100 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SSDPSRV PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : SSDPSRV PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.32 Ensure 'SSDP Discovery (SSDPSRV)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\upnphost'
DependOnService : {SSDPSRV, HTTP} Description : @%systemroot%\system32\upnphost.dll,-214 DisplayName : @%systemroot%\system32\upnphost.dll,-213 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k LocalServiceAndNoImpersonation -p ObjectName : NT AUTHORITY\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\upnphost PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : upnphost PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.33 Ensure 'Web Management Service (WMSvc)' is set to 'Disabled' or 'Not Installed' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WMSvc' Get-ItemProperty : Cannot find path 'HKLM:\SYSTEM\CurrentControlSet\Services\WMSvc' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SYSTEM\Cu...\Services\WMSvc:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
- Expected scan result: `FAIL`
Severity: Low
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle: -
TItle: Check changes in PR
Compliance - :yellow_circle:: Check in PR
Rules - :green_circle:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WerSvc'
Description : @%SystemRoot%\System32\wersvc.dll,-101 DisplayName : @%SystemRoot%\System32\wersvc.dll,-100 ErrorControl : 0 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k WerSvcGroup ObjectName : localSystem RequiredPrivileges : {SeDebugPrivilege, SeTcbPrivilege, SeImpersonatePrivilege, SeAssignPrimaryTokenPrivilege} ServiceSidType : 1 Start : 3 Type : 16 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WerSvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : WerSvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.35 Ensure 'Windows Event Collector (Wecsvc)' is set to 'Disabled' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This service manages persistent subscriptions to events from remote sources that support WS-Management protocol. This includes Windows Vista event logs, hardware and IPMI-enabled event sources. The service stores forwarded events in a local Event Log. The recommended state for this setting is: Disabled.
**Current description**
This service manages persistent subscriptions to events from remote sources that support WS-Management protocol. This includes Windows Vista event logs, hardware and IPMI enabled event sources. The service stores forwarded events in a local Event Log. The recommended state for this setting is: Disabled.
- Compliance - :yellow_circle:: Check [commentary](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wecsvc'
DependOnService : {HTTP, Eventlog} Description : @%SystemRoot%\system32\wecsvc.dll,-201 DisplayName : @%SystemRoot%\system32\wecsvc.dll,-200 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k NetworkService -p ObjectName : NT AUTHORITY\NetworkService RequiredPrivileges : {SeAuditPrivilege, SeChangeNotifyPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wecsvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : Wecsvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.36 Ensure 'Windows Media Player Network Sharing Service (WMPNetworkSvc)' is set to 'Disabled' or 'Not Installed' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WMPNetworkSvc'
DependOnService : {http, WSearch} Description : @%PROGRAMFILES%\Windows Media Player\wmpnetwk.exe,-102 DisplayName : @%PROGRAMFILES%\Windows Media Player\wmpnetwk.exe,-101 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : "C:\Program Files\Windows Media Player\wmpnetwk.exe" ObjectName : NT AUTHORITY\NetworkService RequiredPrivileges : {SeChangeNotifyPrivilege, SeCreateGlobalPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 16 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WMPNetworkSvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : WMPNetworkSvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.37 Ensure 'Windows Mobile Hotspot Service (icssvc)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\icssvc'
DependOnService : {RpcSs, wcmsvc} Description : @%SystemRoot%\System32\tetheringservice.dll,-4098 DisplayName : @%SystemRoot%\System32\tetheringservice.dll,-4097 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} Group : TDI ImagePath : C:\Windows\system32\svchost.exe -k LocalServiceNetworkRestricted -p ObjectName : NT Authority\LocalService RequiredPrivileges : {SeChangeNotifyPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\icssvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : icssvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.38 Ensure 'Windows Push Notifications System Service (WpnService)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WpnService'
DependOnService : {rpcss} Description : @%SystemRoot%\system32\wpnservice.dll,-2 DisplayName : @%SystemRoot%\system32\wpnservice.dll,-1 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeChangeNotifyPrivilege, SeImpersonatePrivilege, SeCreateGlobalPrivilege, SeTcbPrivilege} ServiceSidType : 1 Start : 2 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WpnService PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : WpnService PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.39 Ensure 'Windows PushToInstall Service (PushToInstall)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PushToInstall'
DependOnService : {rpcss} Description : @%SystemRoot%\system32\pushtoinstall.dll,-201 DisplayName : @%SystemRoot%\system32\pushtoinstall.dll,-200 ErrorControl : 0 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeChangeNotifyPrivilege, SeImpersonatePrivilege, SeTcbPrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PushToInstall PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : PushToInstall PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.40 Ensure 'Windows Remote Management (WS-Management) (WinRM)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
DelayedAutoStart : 0 DependOnService : {RPCSS, HTTP} Description : @%Systemroot%\system32\wsmsvc.dll,-102 DisplayName : @%Systemroot%\system32\wsmsvc.dll,-101 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\System32\svchost.exe -k NetworkService -p ObjectName : NT AUTHORITY\NetworkService RequiredPrivileges : {SeAssignPrimaryTokenPrivilege, SeAuditPrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege...} ServiceSidType : 1 Start : 2 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinRM PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : WinRM PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.41 Ensure 'World Wide Web Publishing Service (W3SVC)' is set to 'Disabled' or 'Not Installed' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC'
DependOnService : {WAS, HTTP} Description : @%windir%\system32\inetsrv\iisres.dll,-30004 DisplayName : @%windir%\system32\inetsrv\iisres.dll,-30003 ErrorControl : 1 ImagePath : C:\Windows\system32\svchost.exe -k iissvcs ObjectName : localSystem RequiredPrivileges : {SeAssignPrimaryTokenPrivilege, SeAuditPrivilege, SeBackupPrivilege, SeChangeNotifyPrivilege...} ServiceSidType : 0 Start : 2 SvcHostSplitDisable : 1 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : W3SVC PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.42 Ensure 'Xbox Accessory Management Service (XboxGipSvc)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XboxGipSvc'
Description : @%systemroot%\system32\xboxgipsvc.dll,-101 DisplayName : @%systemroot%\system32\xboxgipsvc.dll,-100 ErrorControl : 1 ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeTcbPrivilege, SeImpersonatePrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege} Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XboxGipSvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : XboxGipSvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.43 Ensure 'Xbox Live Auth Manager (XblAuthManager)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblAuthManager'
DependOnService : {RpcSs} Description : @%systemroot%\system32\XblAuthManager.dll,-101 DisplayName : @%systemroot%\system32\XblAuthManager.dll,-100 ErrorControl : 1 ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeTcbPrivilege, SeImpersonatePrivilege, SeChangeNotifyPrivilege, SeCreateGlobalPrivilege...} Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblAuthManager PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : XblAuthManager PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.44 Ensure 'Xbox Live Game Save (XblGameSave)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblGameSave'
DependOnService : {UserManager, XblAuthManager} Description : @%systemroot%\system32\XblGameSave.dll,-101 DisplayName : @%systemroot%\system32\XblGameSave.dll,-100 ErrorControl : 1 FailureActions : {128, 81, 1, 0...} ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XblGameSave PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : XblGameSave PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
### 5.45 Ensure 'Xbox Live Networking Service (XboxNetApiSvc)' is set to 'Disabled' :yellow_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: -
**TItle**: Check changes in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Compliance - :yellow_circle:: Check in [PR](https://github.com/wazuh/wazuh/pull/14090)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XboxNetApiSvc'
DependOnService : {BFE, mpssvc, IKEEXT, KeyIso} Description : @%systemroot%\system32\XboxNetApiSvc.dll,-101 DisplayName : @%systemroot%\system32\XboxNetApiSvc.dll,-100 ErrorControl : 1 ImagePath : C:\Windows\system32\svchost.exe -k netsvcs -p ObjectName : LocalSystem RequiredPrivileges : {SeTcbPrivilege, SeImpersonatePrivilege} ServiceSidType : 1 Start : 3 Type : 32 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\XboxNetApiSvc PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services PSChildName : XboxNetApiSvc PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
- Expected scan result: `FAIL`
</details>
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle:
Compliance - :yellow_circle:: Check commentary
Rules - :red_circle: Not applicable instead of FAIL in case of not configured
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile'
PS C:\Users\vagrant>
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle:
Compliance - :yellow_circle:: Check commentary
Rules - :red_circle: Not applicable instead of PASS in case of not configured. SCA limitations makes impossible to deal correctly for this case. The correct behaviour is:
FAIL if EnableFirewall is not 1
PASS If firewall is enable, and DefaultInboundAction is not defined
PASS If firewall is enable, and DefaultInboundAction is defined with 1
FAIL otherwise
The only option is to make default case not applicable and
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> EnableFirewall -> 1'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> DefaultInboundAction -> 1'
Fail always if firewall is not enable. It will mark default case as Not applicable
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle:
Compliance - :yellow_circle:: Check commentary
Rules - :red_circle: Same as 9.1.2. There are limitations for ensuring this check.
Suggestion
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> EnableFirewall -> 1'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> DefaultOutboundAction -> 0'
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle:
Compliance - :yellow_circle:: Check commentary
Rules - :red_circle: Not applicable instead of FAIL if this policy is not configured
Suggestion:
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> DisableNotifications'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile -> DisableNotifications -> 1'
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :red_circle:
Expected description
Use this option to specify the path and name of the file in which Windows Firewall will write its log information. The recommended state for this setting is: %SystemRoot%\\System32\\logfiles\\firewall\\domainfw.log
Current description
Use this option to specify the path and name of the file in which Windows Firewall will write its log information. The recommended state for this setting is: %SYSTEMROOT%\\System32\\logfiles\\firewall\\domainfw.log
Expected remediation
To establish the recommended configuration via GP, set the following UI path to %SystemRoot%\\System32\\logfiles\\firewall\\domainfw.log: Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Windows Firewall with Advanced Security\\Windows Firewall with Advanced Security\\Windows Firewall Properties\\Domain Profile\\Logging Customize\\Name
Current remediation
To establish the recommended configuration via GP, set the following UI path to %SYSTEMROOT%\\System32\\logfiles\\firewall\\domainfw.log: Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Windows Firewall with Advanced Security\\Windows Firewall with Advanced Security\\Windows Firewall Properties\\Domain Profile\\Logging Customize\\Name
Compliance - :yellow_circle:: Check commentary
Rules - :red_circle: Not applicable instead of FAIL in case of not configuration
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging'
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' because it does not exist.
At line:1 char:1
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mic ...
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
Suggestion
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging -> LogFilePath'
- 'r:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging -> LogFilePath -> r:System32\\logfiles\\firewall\\domainfw.log'
FAIL
Severity: High
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle:
Compliance - :yellow_circle::
Rules - :red_circle: Default value is not scure, however not applicable is set.
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging'
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' because it does not
exist.
At line:1 char:1
Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mic ...
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
- Expected scan result: `FAIL`
</details>
### 9.1.6 Ensure 'Windows Firewall: Domain: Logging: Size limit (KB)' is set to '16,384 KB or greater' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle:
- Compliance - :yellow_circle::
- Rules - :red_circle: Default value is not scure, however not applicable is set.
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
- Expected scan result: `FAIL`
</details>
### 9.1.7 Ensure 'Windows Firewall: Domain: Logging: Log dropped packets' is set to 'Yes' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle:
- Compliance - :yellow_circle::
- Rules - :red_circle: Default value is not scure, however not applicable is set.
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
- Expected scan result: `FAIL`
</details>
### 9.1.8 Ensure 'Windows Firewall: Domain: Logging: Log successful connections' is set to 'Yes' :red_circle:
- Severity: `HIgh`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle:
- Compliance - :yellow_circle::
- Rules - :red_circle: Default value is not secure, however not applicable is set.
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\Logging' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
- Expected scan result: `FAIL`
</details>
### 9.2.1 Ensure 'Windows Firewall: Private: Firewall state' is set to 'On (recommended)' :red_circle:
- Severity: `High`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle:
- Compliance - :yellow_circle::
- Rules - :red_circle: Default value is not secure, however not applicable is set.
- Output:
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile' Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile' because it does not exist. At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...\PrivateProfile:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
- Expected scan result: `FAIL`
High
FAIL
High
FAIL
High
FAIL
High
FAIL
HIgh
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile\Logging'
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile\Logging' because it does not
exist.
At line:1 char:1
+ Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mic ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
FAIL
High
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile\Logging'
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile\Logging' because it does not
exist.
At line:1 char:1
+ Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mic ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Mi
FAIL
High
High
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile' Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile' because it does not exist.
At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...l\PublicProfile:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
- Expected scan result: `FAIL`
</details>
High
FAIL
High
FAIL
High
FAIL
High
FAIL
High
FAIL
High
PS C:\Users\vagrant> Get-ItemProperty -PAth 'HKLM:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile\Logging'
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile\Logging' because it does not
exist.
At line:1 char:1
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...Profile\Logging:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
```
- Expected scan result: `FAIL`
</details>
Medium
FAIL
High
FAIL
High
FAIL
Low
Expected description
This subcategory reports the results of validation tests on credentials submitted for a user account logon request. These events occur on the computer that is authoritative for the credentials. For domain accounts, the Domain Controller is authoritative, whereas for local accounts, the local computer is authoritative. In domain environments, most of the Account Logon events occur in the Security log of the Domain Controllers that are authoritative for the domain accounts. However, these events can occur on other computers in the organization when local accounts are used to log on.Events for this subcategory include: - 4774: An account was mapped for logon. - 4775: An account could not be mapped for logon. - 4776: The Domain Controller attempted to validate the credentials for an account. - 4777: The Domain Controller failed to validate the credentials for an account.
The recommended state for this setting is: Success and Failure.
Current description
This subcategory reports the results of validation tests on credentials submitted for a user account logon request. These events occur on the computer that is authoritative for the credentials. For domain accounts, the Domain Controller is authoritative, whereas for local accounts, the local computer is authoritative. In domain environments, most of the Account Logon events occur in the Security log of the Domain Controllers that are authoritative for the domain accounts. However, these events can occur on other computers in the organization when local accounts are used to log on.
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Credential Validation"
System audit policy
Category/Subcategory Setting
Account Logon
Credential Validation No Auditing
FAIL
Low
Expected description
This policy setting allows you to audit events generated by changes to application groups such as the following: -Application group is created, changed, or deleted. -Member is added or removed from an application group. Application groups are utilized by Windows Authorization Manager, which is a flexible framework created by Microsoft for integrating role-based access control (RBAC) into applications. More information on Windows Authorization Manager is available at MSDN - Windows Authorization Manager. The recommended state for this setting is: Success and Failure.
Current description
This policy setting allows you to audit events generated by changes to application groups such as the following: -Application group is created, changed, or deleted. -Member is added or removed from an application group. Application groups are utilized by Windows Authorization Manager, which is a flexible framework created by Microsoft for integrating role-based access control (RBAC) into applications. More information on Windows Authorization Manager is available at MSDN - Windows Authorization Manager.
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Application Group Management"
System audit policy
Category/Subcategory Setting
Account Management
Application Group Management No Auditing
FAIL
Low
Expected description
This subcategory reports each event of security group management, such as when a security group is created, changed, or deleted or when a member is added to or removed from a security group. If you enable this Audit policy setting, administrators can track events to detect malicious, accidental, and authorized creation of security group accounts. Events for this subcategory include: - 4727: A security-enabled global group was created. - 4728: A member was added to a security-enabled global group. - 4729: A member was removed from a security-enabled global group. - 4730: A security-enabled global group was deleted. - 4731: A security-enabled local group was created. - 4732: A member was added to a security-enabled local group. - 4733: A member was removed from a security-enabled local group. - 4734: A security-enabled local group was deleted. - 4735: A security-enabled local group was changed. - 4737: A security-enabled global group was changed. - 4754: A security-enabled universal group was created. - 4755: A security-enabled universal group was changed. - 4756: A member was added to a security-enabled universal group. - 4757: A member was removed from a security-enabled universal group. - 4758: A security-enabled universal group was deleted. - 4764: A group's type was changed. The recommended state for this setting is to include: Success.
Current description
This subcategory reports each event of security group management, such as when a security group is created, changed, or deleted or when a member is added to or removed from a security group. If you enable this Audit policy setting, administrators can track events to detect malicious, accidental, and authorized creation of security group accounts
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Security Group Management"
System audit policy
Category/Subcategory Setting
Account Management
Security Group Management No Auditing
PS C:\Users\vagrant>
FAIL
Low
Expected description
This subcategory reports each event of user account management, such as when a user account is created, changed, or deleted; a user account is renamed, disabled, or enabled; or a password is set or changed. If you enable this Audit policy setting, administrators can track events to detect malicious, accidental, and authorized creation of user accounts. Events for this subcategory include: - 4720: A user account was created. - 4722: A user account was enabled. - 4723: An attempt was made to change an account's password. - 4724: An attempt was made to reset an account's password. - 4725: A user account was disabled. - 4726: A user account was deleted. - 4738: A user account was changed. - 4740: A user account was locked out. - 4765: SID History was added to an account. - 4766: An attempt to add SID History to an account failed. - 4767: A user account was unlocked. - 4780: The ACL was set on accounts which are members of administrators groups. - 4781: The name of an account was changed: - 4794: An attempt was made to set the Directory Services Restore Mode. - 5376: Credential Manager credentials were backed up. - 5377: Credential Manager credentials were restored from a backup. The recommended state for this setting is: Success and Failure
Current description
This subcategory reports each event of user account management, such as when a user account is created, changed, or deleted; a user account is renamed, disabled, or enabled; or a password is set or changed. If you enable this Audit policy setting, administrators can track events to detect malicious, accidental, and authorized creation of user accounts.
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"User Account Management"
System audit policy
Category/Subcategory Setting
Account Management
User Account Management No Auditing
PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.3.1 Ensure 'Audit PNP Activity' is set to include 'Success' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle: -
**Expected description**
This policy setting allows you to audit when plug and play detects an external device. The recommended state for this setting is to include: Success.
**Current description**
This policy setting allows you to audit when plug and play detects an external device.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Plug and Play Events" System audit policy Category/Subcategory Setting Detailed Tracking Plug and Play Events No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.3.2 Ensure 'Audit Process Creation' is set to include 'Success' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle: -
**Expected description**
This subcategory reports the creation of a process and the name of the program or user that created it. Events for this subcategory include: - 4688: A new process has been created. - 4696: A primary token was assigned to process. Refer to Microsoft Knowledge Base article 947226: Description of security events in Windows Vista and in Windows Server 2008 for the most recent information about this setting. The recommended state for this setting is to include: Success.
**Current description**
This subcategory reports the creation of a process and the name of the program or user that created it.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1165783568)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Process Creation" System audit policy Category/Subcategory Setting Detailed Tracking Process Creation No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.5.1 Ensure 'Audit Account Lockout' is set to include 'Failure :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
This subcategory reports when a user's account is locked out as a result of too many failed logon attempts. Events for this subcategory include: - 4625: An account failed to log on. The recommended state for this setting is to include: Failure.
**Current tittle**
This subcategory reports when a user's account is locked out as a result of too many failed logon attempts
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Account Lockout" System audit policy Category/Subcategory Setting Logon/Logoff Account Lockout No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.5.2 Ensure 'Audit Group Membership' is set to include 'Success' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation -
**Expected description**
This policy allows you to audit the group membership information in the user’s logon token. Events in this subcategory are generated on the computer on which a logon session is created. For an interactive logon, the security audit event is generated on the computer that the user logged on to. For a network logon, such as accessing a shared folder on the network, the security audit event is generated on the computer hosting the resource. The recommended state for this setting is to include: Success. Note: A Windows 10, Server 2016 or newer OS is required to access and set this value in Group Policy.
**Current description**
This policy allows you to audit the group membership information in the user’s logon token. Events in this subcategory are generated on the computer on which a logon session is created. For an interactive logon, the security audit event is generated on the computer that the user logged on to. For a network logon, such as accessing a shared folder on the network, the security audit event is generated on the computer hosting the resource.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Group Membership" System audit policy Category/Subcategory Setting Logon/Logoff Group Membership No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.5.3 Ensure 'Audit Logoff' is set to include 'Success' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This subcategory reports when a user logs off from the system. These events occur on the accessed computer. For interactive logons, the generation of these events occurs on the computer that is logged on to. If a network logon takes place to access a share, these events generate on the computer that hosts the accessed resource. If you configure this setting to No auditing, it is difficult or impossible to determine which user has accessed or attempted to access organization computers. Events for this subcategory include: - 4634: An account was logged off. - 4647: User initiated logoff. The recommended state for this setting is to include: Success.
**Current description**
This subcategory reports when a user logs off from the system. These events occur on the accessed computer. For interactive logons, the generation of these events occurs on the computer that is logged on to. If a network logon takes place to access a share, these events generate on the computer that hosts the accessed resource. If you configure this setting to No auditing, it is difficult or impossible to determine which user has accessed or attempted to access organization computers.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Logoff" System audit policy Category/Subcategory Setting Logon/Logoff Logoff No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.5.4 Ensure 'Audit Logon' is set to 'Success and Failure' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected description**
This subcategory reports when a user attempts to log on to the system. These events occur on the accessed computer. For interactive logons, the generation of these events occurs on the computer that is logged on to. If a network logon takes place to access a share, these events generate on the computer that hosts the accessed resource. If you configure this setting to No auditing, it is difficult or impossible to determine which user has accessed or attempted to access organization computers. Events for this subcategory include: - 4624: An account was successfully logged on. - 4625: An account failed to log on. - 4648: A logon was attempted using explicit credentials. - 4675: SIDs were filtered. The recommended state for this setting is: Success and Failure.
**Current description**
This subcategory reports when a user attempts to log on to the system. These events occur on the accessed computer. For interactive logons, the generation of these events occurs on the computer that is logged on to. If a network logon takes place to access a share, these events generate on the computer that hosts the accessed resource. If you configure this setting to No auditing, it is difficult or impossible to determine which user has accessed or attempted to access organization computers.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Logon" System audit policy Category/Subcategory Setting Logon/Logoff Logon No Auditing PS C:\Users\vagrant>
- Expected scan result: `FAIL`
</details>
### 17.5.5 Ensure 'Audit Other Logon/Logoff Events' is set to 'Success and Failure' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation :red_circle:
**Expected description**
This subcategory reports other logon/logoff-related events, such as Remote Desktop Services session disconnects and reconnects, using RunAs to run processes under a different account, and locking and unlocking a workstation. Events for this subcategory include: - 4649: A replay attack was detected. - 4778: A session was reconnected to a Window Station. - 4779: A session was disconnected from a Window Station. - 4800: The workstation was locked. - 4801: The workstation was unlocked. - 4802: The screen saver was invoked. - 4803: The screen saver was dismissed. - 5378: The requested credentials delegation was disallowed by policy. - 5632: A request was made to authenticate to a wireless network. - 5633: A request was made to authenticate to a wired network. The recommended state for this setting is: Success and Failure.
**Current description**
This subcategory reports other logon/logoff-related events, such as Remote Desktop Services session disconnects and reconnects, using RunAs to run processes under a different account, and locking and unlocking a workstation.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
Logon No Auditing PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Other Logon/Logoff Events" System audit policy Category/Subcategory Setting Logon/Logoff Other Logon/Logoff Events No Auditing
- Expected scan result: `FAIL`
</details>
### 17.5.6 Ensure 'Audit Special Logon' is set to include 'Success' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :red_circle:
**Expected tittle**
This subcategory reports when a special logon is used. A special logon is a logon that has administrator-equivalent privileges and can be used to elevate a process to a higher level. Events for this subcategory include: - 4964 : Special groups have been assigned to a new logon. The recommended state for this setting is to include: Success.
**Current tittle**
This subcategory reports when a special logon is used. A special logon is a logon that has administrator-equivalent privileges and can be used to elevate a process to a higher level.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Special Logon" System audit policy Category/Subcategory Setting Logon/Logoff Special Logon No Auditing
- Expected scan result: `FAIL`
</details>
### 17.6.1 Ensure 'Audit Detailed File Share' is set to include 'Failure :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: - Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
**Expected tittle**
This subcategory allows you to audit attempts to access files and folders on a shared folder. Events for this subcategory include: - 5145: network share object was checked to see whether client can be granted desired access. The recommended state for this setting is to include: Failure
**Current tittle**
This subcategory allows you to audit attempts to access files and folders on a shared folder.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Detailed File Share" System audit policy Category/Subcategory Setting Object Access Detailed File Share No Auditing
- Expected scan result: `FAIL`
</details>
### 17.6.2 Ensure 'Audit File Share' is set to 'Success and Failure' :red_circle:
- Severity: `Medium`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle:
**Expected description**
This policy setting allows you to audit attempts to access a shared folder. The recommended state for this setting is: Success and Failure. Note: There are no system access control lists (SACLs) for shared folders. If this policy setting is enabled, access to all shared folders on the system is audited.
**Current description**
This policy setting allows you to audit attempts to access a shared folder.
- Compliance - :yellow_circle:: Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
- Rules - :green_circle:
- Output:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"File Share" System audit policy Category/Subcategory Setting Object Access File Share No Auditing
- Expected scan result: `FAIL`
</details>
### 17.6.3 Ensure 'Audit Other Object Access Events' is set to 'Success and Failure' :red_circle:
- Severity: `Low`
- [ ] Fixed
- [ ] Second review
<details>
<summary>Details</summary>
- ID - :green_circle:
- Title, description, rationale, remediation - :yellow_circle: - Check [issue](https://github.com/wazuh/wazuh-qa/issues/3021#issuecomment-1172364423)
**Expected description**
This policy setting allows you to audit events generated by the management of task scheduler jobs or COM+ objects. For scheduler jobs, the following are audited: - Job created. - Job deleted. - Job enabled. - Job disabled. - Job updated. For COM+ objects, the following are audited:
Current description
This policy setting allows you to audit events generated by the management of task scheduler jobs or COM+ objects
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Other Object Access Events"
System audit policy
Category/Subcategory Setting
Object Access
Other Object Access Events No Auditing
FAIL
Low
Expected description
This policy setting allows you to audit user attempts to access file system objects on a removable storage device. A security audit event is generated only for all objects for all types of access requested. If you configure this policy setting, an audit event is generated each time an account accesses a file system object on a removable storage. Success audits record successful attempts and Failure audits record unsuccessful attempts. If you do not configure this policy setting, no audit event is generated when an account accesses a file system object on a removable storage. The recommended state for this setting is: Success and Failure. Note: A Windows 8.0, Server 2012 (non-R2) or newer OS is required to access and set this value in Group Policy.
Current description
This policy setting allows you to audit user attempts to access file system objects on a removable storage device. A security audit event is generated only for all objects for all types of access requested. If you configure this policy setting, an audit event is generated each time an account accesses a file system object on a removable storage. Success audits record successful attempts and Failure audits record unsuccessful attempts. If you do not configure this policy setting, no audit event is generated when an account accesses a file system object on a removable storage
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Removable Storage"
System audit policy
Category/Subcategory Setting
Object Access
Removable Storage No Auditing
FAIL
Medium
This subcategory reports changes in audit policy including SACL changes. Events for this
subcategory include: - 4715: The audit policy (SACL) on an object was changed. - 4719: System audit policy was changed. - 4902: The Per-user audit policy table was created. - 4904: An attempt was made to register a security event source. - 4905: An attempt was made to unregister a security event source. - 4906: The CrashOnAuditFail value has changed. - 4907: Auditing settings on object were changed. - 4908: Special Groups Logon table modified. - 4912: Per User Audit Policy was changed. The recommended state for this setting is to include: Success.
Current description
This subcategory reports changes in audit policy including SACL changes
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Audit Policy Change"
System audit policy
Category/Subcategory Setting
Policy Change
Audit Policy Change No Auditing
PS C:\Users\vagrant>
FAIL
Medium
Expected description
This subcategory reports changes in authentication policy. Events for this subcategory
include - 4706: A new trust was created to a domain. - 4707: A trust to a domain was removed. - 4713: Kerberos policy was changed. - 4716: Trusted domain information was modified. - 4717: System security access was granted to an account. - 4718: System security access was removed from an account. - 4739: Domain Policy was changed. - 4864: A namespace collision was detected. - 4865: A trusted forest information entry was added. - 4866: A trusted forest information entry was removed. - 4867: A trusted forest information entry was modified. The recommended state for this setting is to include: Success.
Current description
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Authentication Policy Change"
System audit policy
Category/Subcategory Setting
Policy Change
Authentication Policy Change No Auditing
FAIL
Medium
Expected description
This subcategory reports changes in authorization policy. Events for this subcategory include: - 4704: A user right was assigned. - 4705: A user right was removed. - 4706: A new trust was created to a domain. - 4707: A trust to a domain was removed. - 4714: Encrypted data recovery policy was changed. The recommended state for this setting is to include: Success.
Current description
This subcategory reports changes in authorization policy
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Authorization Policy Change"
System audit policy
Category/Subcategory Setting
Policy Change
Authorization Policy Change No Auditing
FAIL
Medium
This subcategory determines whether the operating system generates audit events when changes are made to policy rules for the Microsoft Protection Service (MPSSVC. Events
for this subcategory include: - 4944: The following policy was active when the Windows Firewall started. - 4945: A rule was listed when the Windows Firewall started. - 4946: A change has been made to Windows Firewall exception list. A rule was
added. - 4947: A change has been made to Windows Firewall exception list. A rule was
modified. - 4948: A change has been made to Windows Firewall exception list. A rule was
deleted. - 4949: Windows Firewall settings were restored to the default values. - 4950: A Windows Firewall setting has changed. - 4951: A rule has been ignored because its major version number was not recognized by Windows Firewall. - 4952: Parts of a rule have been ignored because its minor version number was not
recognized by Windows Firewall. The other parts of the rule will be enforced. - 4953: A rule has been ignored by Windows Firewall because it could not parse the
rule. - 4954: Windows Firewall Group Policy settings have changed. The new settings have
been applied. - 4956: Windows Firewall has changed the active profile. - 4957: Windows Firewall did not apply the following rule. - 4958: Windows Firewall did not apply the following rule because the rule referred to items not configured on this computer. The recommended state for this setting is : Success and Failure
Current description
This subcategory determines whether the operating system generates audit events when changes are made to policy rules for the Microsoft Protection Service (MPSSVC.
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"MPSSVC Rule-Level Policy Change"
System audit policy
Category/Subcategory Setting
Policy Change
MPSSVC Rule-Level Policy Change No Auditing
FAIL
Medium
Expected description
This subcategory contains events about EFS Data Recovery Agent policy changes, changes in Windows Filtering Platform filter, status on Security policy settings updates for local Group Policy settings, Central Access Policy changes, and detailed troubleshooting events for Cryptographic Next Generation (CNG) operations. - 5063: A cryptographic provider operation was attempted. - 5064: A cryptographic context operation was attempted. - 5065: A cryptographic context modification was attempted. - 5066: A cryptographic function operation was attempted. - 5067: A cryptographic function modification was attempted. - 5068: A cryptographic function provider operation was attempted. - 5069: A cryptographic function property operation was attempted. - 5070: A cryptographic function property modification was attempted. - 6145: One or more errors occurred while processing security policy in the group policy objects. The recommended state for this setting is to include: Failure.
Current description
This subcategory contains events about EFS Data Recovery Agent policy changes, changes in Windows Filtering Platform filter, status on Security policy settings updates for local Group Policy settings, Central Access Policy changes, and detailed troubleshooting events for Cryptographic Next Generation (CNG) operations.
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Other Policy Change Events"
System audit policy
Category/Subcategory Setting
Policy Change
Other Policy Change Events No Auditing
FAIL
Medium
Expected description
This subcategory reports when a user account or service uses a sensitive privilege sensitive privilege includes the following user rights: - Act as part of the operating system - Back up files and directories - Create a token object - Debug programs - Enable computer and user accounts to be trusted for delegation - Generate security audits - Impersonate a client after authentication - Load and unload device drivers - Manage auditing and security log - Modify firmware environment values - Replace a process-level token - Restore files and directories - Take ownership of files or other objects Auditing this subcategory will create a high volume of events. Events for this subcategory
include: - 4672: Special privileges assigned to new logon. - 4673: A privileged service was called. - 4674: An operation was attempted on a privileged object. The recommended state for this setting is: Success and Failure.
Current description
This subcategory reports when a user account or service uses a sensitive privilege
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Sensitive Privilege Use"
System audit policy
Category/Subcategory Setting
Privilege Use
Sensitive Privilege Use No Auditing
FAIL
Low
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"IPsec Driver"
System audit policy
Category/Subcategory Setting
System
IPsec Driver No Auditing
FAIL
Low
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Other System Events"
System audit policy
Category/Subcategory Setting
System
Other System Events No Auditing
FAIL
Low
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Security State Change"
System audit policy
Category/Subcategory Setting
System
Security State Change No Auditing
FAIL
Severity: Low
[ ] Fixed
[ ] Second review
ID - :green_circle:
Title, description, rationale, remediation - :yellow_circle: - Check issue
Compliance - :yellow_circle:: Check issue
Rules - :green_circle:
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"Security System Extension"
System audit policy
Category/Subcategory Setting
System
Security System Extension No Auditing
PS C:\Users\vagrant>
FAIL
Medium
PS C:\Users\vagrant> auditpol.exe /get /subcategory:"System Integrity"
System audit policy
Category/Subcategory Setting
System
System Integrity No Auditing
FAIL
Every discrepancy detected in the Title
/Description
/Rationale
/ Remediation
field has been fixed in https://github.com/wazuh/wazuh/pull/14090/commits/1dfc92f8e8f53dba0f6067f862963ea6bcebc6f6, https://github.com/wazuh/wazuh/pull/14090/commits/5d79adcb2ba811ebb1ac31dbdd64839e13fa1d95, https://github.com/wazuh/wazuh/pull/14090/commits/d429d9511c2f1fec4dec7b0b1f34ccae914eaac4 respectively. For this reason, future commentaries will only analyze the check's rules, marking the rest of fields with :yellow_circle: . In previous checks, this methodology was taken only for style errors. However, due to the huge number of discrepancies with the CIS Benchmark file and some errors not detected in the first corrections I have decided to use semi-automatic testing for all these fields, and correct them in https://github.com/wazuh/wazuh/pull/14090/
High
High
High
Medium
Medium
High
Medium
Medium
High
High
Medium
High
Medium
Medium
High
High
High
High
High
Medium
Medium
Medium
High
Medium
Medium
High
High
High
Medium
High
Medium
High
Medium
High
Medium
Medium
Medium
High
Medium
Medium
Medium
Medium
High
High
High
High
Medium
High
High
High
High
High
High
High
High
High
Medium
High
High
Low
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
High
Low
High
High
High
High
We decided to close them as it was not planned.
Description
Windows 10 SCA policies have been updated https://github.com/wazuh/wazuh/issues/13191. On this account, It is necessary to ensure that these policies fit with the CIS Windows 10 Enterprise Release 21H2 Benchmark v1.12.. Also, manual testing for the used SCA rules is required, ensuring the proposed rules work as expected.
For each check in the SCA policy checks:
yml
file.The installers must also be tested:
Checks
Checks design
Any failing test must be properly addressed with a new issue, detailing the error and the possible cause.
An extended report of the test results can be attached as a ZIP or TXT file. Please attach any documents, screenshots, or tables to the issue update with the results. This report can be used by the auditors to dig deeper into any possible failures and details.
Checks lists
Conclusions :red_circle:
It has detected errors in all policy checks. Among these errors are discrepancies in the Description, Title, Rationale and Remediation fields and also errors in proposed rules. In order to make easy the developer's task, I have created a PR with proposed changes. This PR included fixes for all the fields that should be analyzed and discussed by developers.
We can break down the proposed fixes into:
In addition, general suggestions are proposed:
references
,level
or more rich compliance (containingcontrol versions
,nist_800_53
,pci_dss
). These fields should be consistent in all the policies Includeimpact
value.Metodology
During the testing process, I developed some tools to help with manual testing. These should be taken into account to make automatic/semiautomatic testing in the future, or even they could be considered to include some of the missing fields specified in the suggestions.
PDF parsing
A basic python script was developed to transform the PDF into a JSON with all fields. This could be improved to include all CIS Benchmarks and not only Windows10 Final JSON file: [cis_win10_automated]()Detection of Tittle/Description/Rationale/Remediation dyscrepancies
In order to detect discrepancies with the CIS Benchmark file in `Tittle/Description/Rationale/Remediation`, I have created a test in pytest to ensure every field consistency. This, use the JSON file obtained in the `PDF parsing` step. This could be improved in order to cover the rest of the CIS benchmarks policies. Test CIS win10: ``` import pytest import json import yaml # @pytest.fixture(scope="module") def load_cis_data(): with open('cis_win10_automated.json') as f: data = json.loads(f.read()) return data # @pytest.fixture(scope="module") def load_policy_data(): with open('cis_win10_enterprise.yaml') as f: data = yaml.load(f.read()) return data cis_data = load_cis_data() policy_data = load_policy_data()['checks'] fields = ['title', 'description', 'remediation', 'rationale'] @pytest.mark.parametrize('check', policy_data ) @pytest.mark.parametrize('field', fields ) def test_cis_win10(check, field): policy_cis_id = check['compliance'][0]['cis'][0] assert cis_data[policy_cis_id][field] == check[field], f"Discrepancy in id {check['id']}" ``` Report: [CIS_WIN10_DISCREPANCIES.zip](https://github.com/wazuh/wazuh-qa/files/9054068/CIS_WIN10_DISCREPANCIES.zip)CIS Win 10 events in Wazuh-Dashboard
At first, It has been proposed to create a Cypress test, that will ensure that it has produced events for all the checks, making a screenshot of the Events panel. However, this approach is too slow for this policy, due to this including more than 300 checks. For this reason, is proposed to use Selenium to get the exported list of checks for this policy and use a test in pytest to ensure every field is correctly shown. A [PoC of a E2E has](https://github.com/wazuh/wazuh-qa/issues/3081#issuecomment-1179156462) been proposed in which we ensure that all checks of this policy have been executed and that all its fields are consistent. However, it seems that `sca_win_audit` does not fit the [basic schema](https://github.com/wazuh/wazuh-qa/issues/3081#issuecomment-1179156462)Comparision