Hidden text in Word moet zichtbaar worden gemaakt om verborgen malicious content te detecteren.
Aanbeveling
IMPLEMENT
Risico zonder
Low
Risk Score
3/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
β Word
HIDDEN TEXT RISKS: Malware kan instructies verbergen in hidden text, Phishing emails met hidden links, Data exfiltration via hidden content. VISIBLE is detectie.
Make hidden text visible: Policy setting. EFFECT: Hidden text wordt getoond.
Vereisten
Word
Implementatie
Intune: Word Display β Show hidden text is ingeschakeld
monitoring
Gebruik PowerShell-script hidden-text-enabled.ps1 (functie Invoke-Monitoring) β Controleren.
Verify hidden text visible
Compliance en Auditing
BIO 12.02
Remediatie
Gebruik PowerShell-script hidden-text-enabled.ps1 (functie Invoke-Remediation) β Herstellen.
Compliance & Frameworks
BIO: 12.02.01 - Malware detectie
Automation
Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).
PowerShell
<#
.SYNOPSIS
Schakelt verborgen tekst weergave in Word in
.DESCRIPTION
Dit script implementeert CIS control O365-WD-000016 voor het inschakelen van verborgen tekst
weergave in Microsoft Word. Dit zorgt ervoor dat verborgen tekst zichtbaar is.
.REQUIREMENTS
- PowerShell 5.1 of hoger
- Lokale administrator rechten voor registry wijzigingen
- Microsoft Word geΓ―nstalleerd
.PARAMETER Monitoring
Controleert de huidige compliance status
.PARAMETER Remediation
Past de aanbevolen configuratie toe
.PARAMETER Revert
Herstelt de originele configuratie
.PARAMETER WhatIf
Toont wat er zou gebeuren zonder wijzigingen door te voeren
.EXAMPLE
.\hidden-text-enabled.ps1 -Monitoring
.EXAMPLE
.\hidden-text-enabled.ps1 -Remediation
.NOTES
Registry pad: HKCU:\Software\Policies\Microsoft\Office\16.0\WORD\Security
Waarde: hiddentextenabled = 1
CIS Control: O365-WD-000016
DISA STIG: Microsoft Office 365 ProPlus v3r3
#>#Requires -Version 5.1param([switch]$Monitoring, [switch]$Remediation, [switch]$Revert, [switch]$WhatIf)
$RegistryPath = "HKCU:\Software\Policies\Microsoft\Office\16.0\WORD\Security"
$ValueName = "hiddentextenabled"
$ExpectedValue = 1$ControlID = "O365-WD-000016"
functionTest-Compliance {
try {
if (-not (Test-Path$RegistryPath)) { return$false }
$currentValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
return ($currentValue -and $currentValue.$ValueName -eq $ExpectedValue)
}
catch { return$false }
}
function Invoke-Monitoring {
Write-Host "Monitoring ${ControlID}: Verborgen tekst weergave inschakelen" -ForegroundColor Green
try {
if (-not (Test-Path$RegistryPath)) {
Write-Host "β Registry pad bestaat niet: $RegistryPath" -ForegroundColor Red
return$false
}
$currentValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
if ($currentValue -and $currentValue.$ValueName -eq $ExpectedValue) {
Write-Host "β Control compliant: ${ValueName} = $ExpectedValue" -ForegroundColor Green
return$true
}
else {
$actualValue = if ($currentValue) { $currentValue.$ValueName } else { "Not Set" }
Write-Host "β Control non-compliant: ${ValueName} = $actualValue (Expected: $ExpectedValue)" -ForegroundColor Red
return$false
}
}
catch {
Write-Host "β Fout: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
function Invoke-Remediation {
Write-Host "Remediating ${ControlID}: Verborgen tekst weergave inschakelen" -ForegroundColor Yellow
try {
if ($WhatIf) {
Write-Host "WhatIf: Zou registry waarde instellen: ${ValueName} = $ExpectedValue" -ForegroundColor Cyan
return$true
}
if (-not (Test-Path$RegistryPath)) { New-Item -Path $RegistryPath -Force | Out-Null }
Set-ItemProperty -Path $RegistryPath -Name $ValueName -Value $ExpectedValue -Type DWord -Force
Write-Host "β Registry waarde succesvol ingesteld: ${ValueName} = $ExpectedValue" -ForegroundColor Green
Start-Sleep -Seconds 1return Invoke-Monitoring
}
catch {
Write-Host "β Fout: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
function Invoke-Revert {
Write-Host "Reverting ${ControlID}" -ForegroundColor Yellow
try {
if ($WhatIf) {
Write-Host "WhatIf: Zou registry waarde verwijderen: ${ValueName}" -ForegroundColor Cyan
return$true
}
if (Test-Path$RegistryPath) {
Remove-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
Write-Host "β Registry waarde verwijderd: ${ValueName}" -ForegroundColor Green
}
return$true
}
catch {
Write-Host "β Fout: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
try {
if ($Monitoring) {
$result = Invoke-Monitoring
exit $(if ($result) { 0 } else { 1 })
}
elseif ($Remediation) {
$result = Invoke-Remediation
exit $(if ($result) { 0 } else { 1 })
}
elseif ($Revert) {
$result = Invoke-Revert
exit $(if ($result) { 0 } else { 1 })
}
else {
Write-Host "Gebruik: .\hidden-text-enabled.ps1 [-Monitoring] [-Remediation] [-Revert] [-WhatIf]" -ForegroundColor Yellow
}
}
catch {
Write-Host "β Onverwachte fout: $($_.Exception.Message)" -ForegroundColor Red
exit 1
}
Risico zonder implementatie
Risico zonder implementatie
Low: Laag risico via hidden content.
Management Samenvatting
Show hidden text. detectie. Implementatie: 30-60 min.