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.fso.windows:def:115
# Unauthorized registry paths are remotely accessible.
# Per-module read mechanism curated from static teardown of DISA's SCC tool
# (SCAP Compliance Checker) -- see the SCC Automation Reference above.
# Registry key AllowedExactPaths is blank
# 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\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths').GetValueKind('Machine').ToString()]) -eq 'reg_multi_sz') -and (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths' -Name 'Machine' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty 'Machine') -match '.+'))
}
# Registry key AllowedExactPaths only has specific values
# registry_object (registry_test)
function test_2 {
return (((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths' -Name 'Machine' -ErrorAction SilentlyContinue) | Select-Object -ExpandProperty 'Machine') -match '^((System\\CurrentControlSet\\Control\\ProductOptions)|(System\\CurrentControlSet\\Control\\Server Applications)|(Software\\Microsoft\\Windows NT\\CurrentVersion))$')
}
# Registry key AllowedExactPaths does not exist
# registry_object (registry_test)
function test_3 {
return (-not ($null -ne (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths' -Name 'Machine')))
}
if ((test_1 -or test_2 -or test_3)) {
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 windows_vista target this check assesses.
# OVAL Definition: oval:mil.disa.fso.windows:def:115
$registryPath = "HKLM:\System\CurrentControlSet\Control\SecurePipeServers\Winreg\AllowedExactPaths"
if (-not (Test-Path $registryPath)) { Write-Output "PASS"; Exit 0 }
$allowedPaths = Get-ItemProperty $registryPath -ErrorAction SilentlyContinue
if ($allowedPaths -eq $null) { Write-Output "PASS"; Exit 0 }
if ($allowedPaths.PSChildName -eq $null -or $allowedPaths.GetValue('value') -match '^((System\\\\CurrentControlSet\\\\Control\\\\ProductOptions)|(System\\\\CurrentControlSet\\\\Control\\\\Server Applications)|(Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion))$') { Write-Output "PASS"; Exit 0 }
Write-Output "FAIL"; Exit 1