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.windows10:def:250319
# 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_10 target this check assesses.
# OVAL Definition: oval:mil.disa.stig.windows10:def:250319
$sysvolPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths\\*\\SYSVOL"
$netlogonPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths\\*\\NETLOGON"
if (!(Test-Path $sysvolPath -PathType Container -ErrorAction SilentlyContinue) -and!(Test-Path $netlogonPath -PathType Container -ErrorAction SilentlyContinue)) {exit 1}
$sysvolReg = Get-ItemProperty -Path $sysvolPath -ErrorAction SilentlyContinue
$netlogonReg = Get-ItemProperty -Path $netlogonPath -ErrorAction SilentlyContinue
if ($sysvolReg -and ($sysvolReg.RequireMutualAuthentication -eq 1 -and $sysvolReg.RequireIntegrity -eq 1) -and $netlogonReg -and ($netlogonReg.RequireMutualAuthentication -eq 1 -and $netlogonReg.RequireIntegrity -eq 1)) {exit 0} else {exit 1}