The reconstructed evaluation script behind this rule's OVAL check(s) — every module a compound check combines, with this rule's own concrete values and DISA's SCC tool's real per-module mechanism curated from static teardown of SCC releases.
# Windows PowerShell
# Reconstructed from oval:mil.disa.stig.windows11:def:253362
# Hardened UNC Paths must be defined to require mutual authentication and integrity for at least the \\*\SYSVOL and \\*\NETLOGON shares.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
# Mutual Authentication and Integrity for \\*\SYSVOL
# registry_object (registry_test)
function test_1 {
return ((((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\SYSVOL').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\SYSVOL' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\SYSVOL') -match '(^| *, *)RequireMutualAuthentication=1( *, *|$)')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\SYSVOL').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\SYSVOL' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\SYSVOL') -match '(^|[ *, *])RequireMutualAuthentication=(?!1( *, *|$))')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\SYSVOL').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\SYSVOL' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\SYSVOL') -match '(^| *, *)RequireIntegrity=1( *, *|$)')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\SYSVOL').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\SYSVOL' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\SYSVOL') -match '(^| *, *)RequireIntegrity=(?!1( *, *|$))')))
}
# Mutual Authentication and Integrity for \\*\NETLOGON
# registry_object (registry_test)
function test_2 {
return ((((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\NETLOGON').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\NETLOGON' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\NETLOGON') -match '(^| *, *)RequireMutualAuthentication=1( *, *|$)')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\NETLOGON').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\NETLOGON' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\NETLOGON') -match '(^|[ *, *])RequireMutualAuthentication=(?!1( *, *|$))')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\NETLOGON').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\NETLOGON' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\NETLOGON') -match '(^| *, *)RequireIntegrity=1( *, *|$)')) -and (((@{String='reg_sz';ExpandString='reg_expand_sz';Binary='reg_binary';DWord='reg_dword';MultiString='reg_multi_sz';QWord='reg_qword';None='reg_none'}[(Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths').GetValueKind('\\*\NETLOGON').ToString()]) -eq 'reg_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths' -Name '\\*\NETLOGON' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty '\\*\NETLOGON') -match '(^| *, *)RequireIntegrity=(?!1( *, *|$))')))
}
if ((test_1 -and test_2)) {
Write-Output "PASS"
} else {
Write-Output "FAIL"
} Assessment Script Powered by AISyntax-verified
A standalone PowerShell script to assess this control automatically. Review before running it in your environment.
Syntax-checked as valid PowerShell. Not executed here — running it for real needs the actual ms_windows_11 target this check assesses.
# OVAL Definition: oval:mil.disa.stig.windows11:def:253362
$compliance = foreach ($share in @("\\*\\SYSVOL", "\\*\\NETLOGON")) {
$keyPath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths"
$regData = @{}
$regData["Property"] = "RequireMutualAuthentication=1, RequireIntegrity=1"
if (-not (Test-Path $keyPath)) { continue }
$reg = Get-ItemProperty -Path $keyPath -ErrorAction SilentlyContinue
if ($reg -and $reg.PSObject.Properties.Value -contains $regData.Property) { $true } else { $false }
}
if (($compliance -contains $true) -and ($compliance -notcontains $false)) { Write-Output "PASS"; exit 0 } else { Write-Output "FAIL"; exit 1 }