Microsoft Office
TMA-OFFICE-2.3.27.16
Ensure 'Macro Runtime Scan Scope' is set to 'Enabled: Enable for all documents'
Description
This policy setting specifies the behavior for both the VBA and Excel 4.0 (XLM) runtime scan features. Multiple Office apps support VBA macros, but XLM macros are only supported by Excel. The VBA and XLM runtimes report to an antivirus system certain high-risk code behaviors the macro is about to execute. This allows the antivirus system to indicate whether or not the macro behavior is malicious. Rationale: Macros may contain harmful functions designed to inject malicious software into a system, escalate privilege, and be a first entry point in the attack chain. User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\office\16.0\common\security:macroruntimescanscope (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 2. It prints 'no-user-hive-loaded' (FAIL) when no user profile is loaded, so scan while users are logged on.
How it is checked
Audit method: Windows registry
$sids = @(Get-ChildItem -Path 'Registry::HKEY_USERS' -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^S-1-5-21-\d+-\d+-\d+-\d+$' } | ForEach-Object { $_.PSChildName }); if ($sids.Count -eq 0) { 'no-user-hive-loaded' } else { $bad = @(); foreach ($s in $sids) { $v = (Get-ItemProperty -Path ('Registry::HKEY_USERS\' + $s + '\SOFTWARE\Policies\Microsoft\office\16.0\common\security') -Name 'macroruntimescanscope' -ErrorAction SilentlyContinue).'macroruntimescanscope'; if (-not ($null -ne $v -and @(2) -contains [int64]$v)) { $bad += $s + ':macroruntimescanscope=' + $v } }; if ($bad.Count -eq 0) { 'compliant' } else { 'non-compliant: ' + ($bad -join ', ') } }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Configure through Group Policy (User Configuration): User Configuration\Administrative Templates\Microsoft Office 2016\Security Settings\Macro Runtime Scan Scope = Enabled: Enable for all documents
Properties
- Operating systems
- Any
- Tags
- officeproductivitycis-l1
- Reference
- CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.3.27.16 Ensure 'Macro Runtime Scan Scope' is set to 'Enabled: Enable for all documents'
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target office