TMAegisBeta
More rules for office

Microsoft Office

TMA-OFFICE-2.3.27.16

Ensure 'Macro Runtime Scan Scope' is set to 'Enabled: Enable for all documents'

HighLevel 1Automatedoffice

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

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.

shell
tmaegis scan --target office