Catalog DÆMON

DMN · Tool

Clear-EventLog

6 techniques WindowsDÆMON GPL-3.0

Indicator Removal

NEW
Defense Evasion Windows

The Windows PowerShell 5.1 Clear-EventLog cmdlet deletes all entries from a specified classic event log on a local or remote computer, an alternative to wevtutil for the same log-clearing effect.

Use Clear event logs from within an existing PowerShell session without spawning wevtutil.exe.

Clear-EventLog -LogName Security
Context
admin
Native
Indicator Removal, Clear Windows Event Logs
Detection
Detection: Alert on Event ID 1102/104 as with any clear. Enable PowerShell Script Block Logging (4104) and Module Logging to capture the Clear-EventLog invocation; correlate with Sysmon 1 for powershell.exe. Sysmon's own channel typically survives a Security-log clear and preserves the trail.
Verified
✓ MS Learn confirms Clear-EventLog 'deletes all of the entries from the specified event logs on the local computer or on remote computers' (classic-log cmdlet, requires Administrators); ATT&CK T1070.001. No change.

Indicator Removal

NEW
Defense Evasion Windows

The Windows PowerShell 5.1 Remove-EventLog cmdlet deletes a classic event log entirely and unregisters its event sources, which can suppress future logging for that log until it is recreated (often after reboot).

Use Delete and deregister a log so the intrusion leaves less evidence and future events are not captured.

Remove-EventLog -LogName Security
Context
admin
Native
Indicator Removal, Clear Windows Event Logs
Detection
Detection: Capture the cmdlet via Script Block Logging (4104) and Sysmon 1 for powershell.exe. Baseline the expected set of registered event logs and alert when a standard log (Security, System, Application) is missing or its sources are deregistered.
Verified
✓ MS Learn (PS 5.1) confirms Remove-EventLog 'deletes an event log file ... and unregisters all its event sources'; classic EventLog cmdlet (5.1 only, not PS7). No change.

Indicator Removal

NEW
Defense Evasion Windows

PowerShell can rewrite a file's $STANDARD_INFORMATION timestamps via the .CreationTime/.LastWriteTime/.LastAccessTime properties of a FileInfo object or the [System.IO.File]::SetCreationTime/SetLastWriteTime .NET methods, blending a malicious file in with legitimate neighbors (timestomping).

Use Backdate or match a dropped file's MACE timestamps to defeat timeline analysis and 'recently modified' triage.

$(Get-Item C:\Windows\Temp\x\payload.exe).LastWriteTime = '01/01/2016 00:00:00'; [IO.File]::SetCreationTime('C:\Windows\Temp\x\payload.exe','01/01/2016')
Context
user
Native
Indicator Removal, Timestomp
Detection
Detection: Sysmon Event ID 2 (FileCreateTime changed) flags user-mode $SI edits. Capture Script Block Logging (4104) for '.CreationTime =', '.LastWriteTime =', '[IO.File]::SetCreationTime', etc. In MFT forensics, a $STANDARD_INFORMATION timestamp earlier than the matching $FILE_NAME timestamp is a classic timestomp signature.
Verified
✓ MS Learn .NET docs confirm System.IO.File.SetCreationTime/SetLastWriteTime and the FileInfo LastWriteTime/CreationTime settable properties; Atomic Red Team T1070.006 documents PowerShell timestomp; ATT&CK T1070.006. No change.

Impair Defenses

NEW
Defense Evasion Windows

The Defender module's Add-MpPreference cmdlet adds entries to the Microsoft Defender Antivirus exclusion list so matching items are no longer scanned in real time or on schedule: -ExclusionPath excludes a folder/file, -ExclusionProcess excludes any files opened by a named process, and -ExclusionExtension excludes an entire file type. Any of the three carves a blind spot for staging and executing tooling.

Use Carve a Defender blind spot by excluding a staging path, an attacker process, or a whole extension before dropping tooling.

Add-MpPreference -ExclusionPath 'C:\Windows\Temp\x'
Add-MpPreference -ExclusionProcess 'C:\Windows\Temp\x\payload.exe'
Add-MpPreference -ExclusionExtension 'exe'
Context
admin
Native
Impair Defenses, Disable or Modify Tools
Detection
Detection: Monitor Defender Operational Event ID 5007 (configuration changed) and registry writes under HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\{Paths|Processes|Extensions} (Sysmon 13). Capture Add-MpPreference via Script Block Logging (4104) and alert on any new exclusion, especially paths/processes in Temp/AppData/ProgramData and extension-wide exclusions (rarely legitimate on endpoints). Enable Tamper Protection and centrally alert on exclusion drift.
Verified
✓ MERGED from three near-duplicate Add-MpPreference exclusion entries (same toolId + same command intent — adding a Defender AV exclusion, all T1562.001). MS Learn confirms -ExclusionPath ('disables Windows Defender scheduled and real-time scanning for files in this folder'), -ExclusionProcess ('excludes any files opened by the processes that you specify'), and -ExclusionExtension ('exclude from scheduled, custom, and real-time scanning'); the three write to the Exclusions Paths/Processes/Extensions registry subkeys respectively. Technique mapping unchanged.

Impair Defenses

NEW
Defense Evasion Windows

The Defender module's Set-MpPreference cmdlet with -DisableRealtimeMonitoring $true turns off Microsoft Defender Antivirus real-time protection, stopping on-access scanning of files and processes host-wide.

Use Disable real-time protection so subsequent malicious files execute without being scanned or quarantined.

Set-MpPreference -DisableRealtimeMonitoring $true
Context
admin
Native
Impair Defenses, Disable or Modify Tools
Detection
Detection: Alert on Defender Operational Event ID 5001 (real-time protection disabled) and 5007/5010. Capture 'Set-MpPreference -DisableRealtimeMonitoring' and related '-Disable*' toggles via Script Block Logging (4104). Enable Tamper Protection, which blocks this change and logs the attempt.
Verified
✓ MS Learn confirms Set-MpPreference -DisableRealtimeMonitoring (Boolean) governs real-time protection; Defender Operational Event ID 5001 (real-time protection disabled) / 5007 (config changed) confirmed via Microsoft community/Sentinel guidance; ATT&CK T1562.001. No change.

Indicator Removal

NEW
Defense Evasion Windows

Clear-History flushes the current PowerShell session's in-memory history, while deleting the PSReadLine save path (ConsoleHost_history.txt) removes the persistent, cross-session command history; Set-PSReadLineOption -HistorySaveStyle SaveNothing disables future history writes. Together these hide the commands an operator ran.

Use Erase both session and persistent PowerShell command history to conceal executed commands.

Clear-History; Remove-Item (Get-PSReadlineOption).HistorySavePath
Context
user
Native
Indicator Removal, Clear Command History
Detection
Detection: Capture Script Block Logging (4104) for 'Clear-History', 'Remove-Item ...HistorySavePath', '(Get-PSReadlineOption).HistorySavePath', and 'Set-PSReadLineOption -HistorySaveStyle SaveNothing'. Alert when ConsoleHost_history.txt is deleted, emptied, or truncated (file-audit / Sysmon 23 file-delete). Prefer transcript logging and central forwarding, which survive local history deletion.
Verified
✓ MS Learn confirms Set-PSReadLineOption -HistorySaveStyle SaveNothing ('Don't use a history file') and HistorySavePath ($($Host.Name)_history.txt, e.g. ConsoleHost_history.txt); Clear-History is a built-in cmdlet; Atomic Red Team T1070.003 documents the technique (also corroborated by Black Hills InfoSec write-up); ATT&CK T1070.003. No change.