# Microsoft Office macros are blocked from making Win32 API calls

Microsoft Office macros are blocked from making Win32 API calls (ISM-1673, Essential Eight Maturity Level Two, Restrict Microsoft Office macros).

Source: https://maester.dev/docs/tests/ASD.ISM-1673

<!-- This file is generated by website/scripts/generate-test-docs.mjs. Do not edit manually. -->

<div class="test-byline"><div class="test-byline-avatars"><a class="test-byline-avatar test-byline-avatar--author" href="/contributors/jusso-dev" title="jusso-dev · Original author"><img src="https://github.com/jusso-dev.png" alt="jusso-dev" width="28" height="28" loading="lazy" decoding="async" /></a></div><div class="test-byline-meta"><span class="test-byline-text">Contributed by <a href="/contributors/jusso-dev">jusso-dev</a></span><a class="test-byline-link" href="/contributors">All contributors →</a></div></div>

<p class="test-part">Part of <a href="/docs/tests/asd">ASD</a> · Intune · Endpoint security · <a href="/docs/tests">All checks</a></p>

```powershell title="Run this check"
Invoke-Maester -TestId ASD.ISM-1673
```

## Overview

Microsoft Office macros are blocked from making Win32 API calls (ISM-1673, Essential Eight Maturity Level Two, Restrict Microsoft Office macros).

Macro malware calls the Win32 API to allocate memory, load shellcode and reach the operating system directly. Blocking those calls leaves VBA its document automation and takes away its use as a loader. This check reads the attack surface reduction rules of every Intune Windows configuration policy (Endpoint security and settings catalog policies share the same setting definitions) and passes when an assigned policy sets **Block Win32 API calls from Office macros** to **Block**. Audit and Warn only report the behaviour and do not satisfy the control.

#### Remediation action

1. In **Microsoft Intune admin center**, go to **Endpoint security** > **[Attack surface reduction](https://intune.microsoft.com/#view/Microsoft_Intune_Workflows/SecurityManagementMenu/~/asr)** and open your attack surface reduction rules policy, or create one for **Windows** with the profile **Attack Surface Reduction Rules**.
2. Set **Block Win32 API calls from Office macros** to **Block**. Pilot the rule in **Audit** first if Office add-ins or line-of-business macros are in use.
3. Assign the policy to all workstations.

#### Related links

* [Essential Eight maturity model](https://www.cyber.gov.au/business-government/asds-cyber-security-frameworks/essential-eight/essential-eight-maturity-model)
* [Attack surface reduction rules reference](https://learn.microsoft.com/defender-endpoint/attack-surface-reduction-rules-reference)
* [ISM Guidelines for system hardening](https://www.cyber.gov.au/business-government/asds-cyber-security-frameworks/ism/cyber-security-guidelines/guidelines-system-hardening)

## Details

<details>
<summary>Every attribute of this check</summary>

| Field | Value |
| --- | --- |
| Test ID | ASD.ISM-1673 |
| Severity | High |
| Suite | ASD |
| Product | Intune |
| Related products | Defender |
| Feature | Endpoint security |
| Area | Devices and endpoints |
| Resource type | Tenant |
| User impact | Low |
| Implementation cost | Low |
| MITRE ATT&CK | T1204.002 Malicious File, T1106 Native API |
| Supports benchmark | ASD Essential Eight maturity model (version 2026.09.4), requirement ISM-1673 |
| Benchmark level | ML2 |
| Essential Eight strategy | Restrict Microsoft Office macros |
| Supports controls | essential-eight:ISM-1673, nist-800-53-r5:CM-7, ism:ISM-1673 |
| PowerShell test | [Test-MtAsdOfficeMacroWin32ApiBlocked](https://github.com/maester365/maester/blob/main/tests/asd/intune/Test.ASD.ISM-1673.ps1) |
| Services | Graph |
| Compatible licenses | INTUNE_A |

</details>

## Source

- Test: [`tests/asd/intune/Test.ASD.ISM-1673.ps1`](https://github.com/maester365/maester/blob/main/tests/asd/intune/Test.ASD.ISM-1673.ps1)
- Documentation: [`tests/asd/intune/Test.ASD.ISM-1673.md`](https://github.com/maester365/maester/blob/main/tests/asd/intune/Test.ASD.ISM-1673.md)
