67ca13c1ce
* [Rule Tuning] Replace KQL exceptions for Query DSL Exceptions * update min_stack * build out schema in more detail for Filters * Update detection_rules/rule.py Co-authored-by: Mika Ayenson <Mikaayenson@users.noreply.github.com> * Remove enum for definition * remove unused import * remove $state store * transform state * add call to super * add return type hint * use dataclass metadata * use Literal type --------- Co-authored-by: Samirbous <64742097+Samirbous@users.noreply.github.com> Co-authored-by: Mika Ayenson <Mika.ayenson@elastic.co> Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com> Co-authored-by: Mika Ayenson <Mikaayenson@users.noreply.github.com>
105 lines
3.1 KiB
TOML
105 lines
3.1 KiB
TOML
[metadata]
|
|
creation_date = "2023/07/06"
|
|
integration = ["windows"]
|
|
maturity = "production"
|
|
min_stack_comments = "KQL handles backslash and ? characters differently in 8.12+."
|
|
min_stack_version = "8.12.0"
|
|
updated_date = "2024/03/12"
|
|
|
|
[rule]
|
|
author = ["Elastic"]
|
|
description = """
|
|
Identifies the use of Cmdlets and methods related to Windows event log deletion activities. This is often done by
|
|
attackers in an attempt to evade detection or destroy forensic evidence on a system.
|
|
"""
|
|
from = "now-119m"
|
|
interval = "60m"
|
|
index = ["winlogbeat-*", "logs-windows.powershell*"]
|
|
language = "kuery"
|
|
license = "Elastic License v2"
|
|
name = "PowerShell Script with Log Clear Capabilities"
|
|
references = [
|
|
"https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.eventlog.clear",
|
|
"https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.eventing.reader.eventlogsession.clearlog"
|
|
]
|
|
risk_score = 21
|
|
rule_id = "3d3aa8f9-12af-441f-9344-9f31053e316d"
|
|
setup = """## Setup
|
|
|
|
The 'PowerShell Script Block Logging' logging policy must be enabled.
|
|
Steps to implement the logging policy with Advanced Audit Configuration:
|
|
|
|
```
|
|
Computer Configuration >
|
|
Administrative Templates >
|
|
Windows PowerShell >
|
|
Turn on PowerShell Script Block Logging (Enable)
|
|
```
|
|
|
|
Steps to implement the logging policy via registry:
|
|
|
|
```
|
|
reg add "hklm\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ScriptBlockLogging" /v EnableScriptBlockLogging /t REG_DWORD /d 1
|
|
```
|
|
"""
|
|
severity = "low"
|
|
tags = ["Domain: Endpoint", "OS: Windows", "Use Case: Threat Detection", "Tactic: Defense Evasion", "Data Source: PowerShell Logs", "Rule Type: BBR"]
|
|
timestamp_override = "event.ingested"
|
|
type = "query"
|
|
building_block_type = "default"
|
|
|
|
query = '''
|
|
event.category:process and host.os.type:windows and
|
|
powershell.file.script_block_text : (
|
|
"Clear-EventLog" or
|
|
"Remove-EventLog" or
|
|
("Eventing.Reader.EventLogSession" and ".ClearLog") or
|
|
("Diagnostics.EventLog" and ".Clear")
|
|
) and
|
|
not powershell.file.script_block_text : (
|
|
"CmdletsToExport=@(\"Add-Content\""
|
|
)
|
|
'''
|
|
|
|
[[rule.filters]]
|
|
[rule.filters.meta]
|
|
negate = true
|
|
[rule.filters.query.wildcard."file.path"]
|
|
"case_insensitive" = true
|
|
"value" = "?:\\\\Windows\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\Modules\\\\Microsoft.PowerShell.Management\\\\*.psd1"
|
|
|
|
[[rule.threat]]
|
|
framework = "MITRE ATT&CK"
|
|
[[rule.threat.technique]]
|
|
id = "T1070"
|
|
name = "Indicator Removal"
|
|
reference = "https://attack.mitre.org/techniques/T1070/"
|
|
[[rule.threat.technique.subtechnique]]
|
|
id = "T1070.001"
|
|
name = "Clear Windows Event Logs"
|
|
reference = "https://attack.mitre.org/techniques/T1070/001/"
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0005"
|
|
name = "Defense Evasion"
|
|
reference = "https://attack.mitre.org/tactics/TA0005/"
|
|
|
|
|
|
[[rule.threat]]
|
|
framework = "MITRE ATT&CK"
|
|
[[rule.threat.technique]]
|
|
id = "T1059"
|
|
name = "Command and Scripting Interpreter"
|
|
reference = "https://attack.mitre.org/techniques/T1059/"
|
|
|
|
[[rule.threat.technique.subtechnique]]
|
|
id = "T1059.001"
|
|
name = "PowerShell"
|
|
reference = "https://attack.mitre.org/techniques/T1059/001/"
|
|
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0002"
|
|
name = "Execution"
|
|
reference = "https://attack.mitre.org/tactics/TA0002/"
|