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>
126 lines
3.6 KiB
TOML
126 lines
3.6 KiB
TOML
[metadata]
|
|
creation_date = "2023/07/12"
|
|
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 remote execution activities using WinRM. Attackers can abuse WinRM
|
|
to perform lateral movement using built-in tools.
|
|
"""
|
|
from = "now-119m"
|
|
interval = "60m"
|
|
index = ["winlogbeat-*", "logs-windows.powershell*"]
|
|
language = "kuery"
|
|
license = "Elastic License v2"
|
|
name = "PowerShell Script with Remote Execution Capabilities via WinRM"
|
|
references = [
|
|
"https://attack.mitre.org/techniques/T1021/006/",
|
|
"https://github.com/cobbr/SharpSploit/blob/master/SharpSploit/LateralMovement/PowerShellRemoting.cs",
|
|
"https://github.com/BC-SECURITY/Empire/blob/main/empire/server/modules/powershell/lateral_movement/invoke_psremoting.py"
|
|
]
|
|
risk_score = 21
|
|
rule_id = "0abf0c5b-62dd-48d2-ac4e-6b43fe3a6e83"
|
|
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: Lateral Movement", "Tactic: Execution", "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 : (
|
|
("Invoke-WmiMethod" or "Invoke-Command" or "Enter-PSSession") and "ComputerName"
|
|
) and
|
|
not user.id : "S-1-5-18" and
|
|
not file.directory : (
|
|
"C:\\Program Files\\LogicMonitor\\Agent\\tmp"
|
|
) and not
|
|
powershell.file.script_block_text : (
|
|
"Export-ModuleMember -Function @('Invoke-Expression''Invoke-Command')" and
|
|
"function Invoke-Command {"
|
|
)
|
|
'''
|
|
|
|
[[rule.filters]]
|
|
[rule.filters.meta]
|
|
negate = true
|
|
[rule.filters.query.wildcard."file.path"]
|
|
"case_insensitive" = true
|
|
"value" = "?:\\\\Program Files\\\\WindowsPowerShell\\\\Modules\\\\dbatools\\\\*\\\\allcommands.ps1"
|
|
|
|
[[rule.filters]]
|
|
[rule.filters.meta]
|
|
negate = true
|
|
[rule.filters.query.wildcard."file.directory"]
|
|
"case_insensitive" = true
|
|
"value" = "?:\\\\Program Files\\\\Microsoft\\\\Exchange Server\\\\*\\\\bin"
|
|
|
|
[[rule.filters]]
|
|
[rule.filters.meta]
|
|
negate = true
|
|
[rule.filters.query.wildcard."file.directory"]
|
|
"case_insensitive" = true
|
|
"value" = "?:\\\\ExchangeServer\\\\bin*"
|
|
|
|
[[rule.threat]]
|
|
framework = "MITRE ATT&CK"
|
|
[[rule.threat.technique]]
|
|
id = "T1021"
|
|
name = "Remote Services"
|
|
reference = "https://attack.mitre.org/techniques/T1021/"
|
|
[[rule.threat.technique.subtechnique]]
|
|
id = "T1021.006"
|
|
name = "Windows Remote Management"
|
|
reference = "https://attack.mitre.org/techniques/T1021/006/"
|
|
|
|
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0008"
|
|
name = "Lateral Movement"
|
|
reference = "https://attack.mitre.org/tactics/TA0008/"
|
|
|
|
[[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/"
|
|
|