Files
splunk-security_content/detections/endpoint/windows_enable_powershell_web_access.yml
2025-06-24 12:43:01 -05:00

74 lines
3.5 KiB
YAML

name: Windows Enable PowerShell Web Access
id: 175bb2de-6227-416b-9678-9b61999cd21f
version: 7
date: '2025-06-24'
author: Michael Haag, Splunk
data_source:
- Powershell Script Block Logging 4104
type: TTP
status: production
description:
The following analytic detects the enabling of PowerShell Web Access
via PowerShell commands. It leverages PowerShell script block logging (EventCode
4104) to identify the execution of the `Install-WindowsFeature` cmdlet with the
`WindowsPowerShellWebAccess` parameter. This activity is significant because enabling
PowerShell Web Access can facilitate remote execution of PowerShell commands, potentially
allowing an attacker to gain unauthorized access to systems and networks.
search:
'`powershell` EventCode=4104 ScriptBlockText IN ("*Install-WindowsFeature*WindowsPowerShellWebAccess*","*Install-PswaWebApplication*","*Add-PswaAuthorizationRule*UserName
*ComputerName *") | fillnull | stats count min(_time) as firstTime max(_time) as
lastTime by dest signature signature_id user_id vendor_product EventID Guid Opcode
Name Path ProcessID ScriptBlockId ScriptBlockText | `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)` | `windows_enable_powershell_web_access_filter`'
how_to_implement:
To successfully implement this analytic, you will need to enable
PowerShell Script Block Logging on some or all endpoints. Additional setup here
https://help.splunk.com/en/security-offerings/splunk-user-behavior-analytics/get-data-in/5.4.1/add-other-data-to-splunk-uba/configure-powershell-logging-to-see-powershell-anomalies-in-splunk-uba.
known_false_positives:
It is possible that legitimate scripts or network administrators
may enable PowerShell Web Access. Monitor and escalate as needed.
references:
- https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-241a
- https://gist.github.com/MHaggis/7e67b659af9148fa593cf2402edebb41
drilldown_searches:
- name: View the detection results for - "$dest$"
search: '%original_detection_search% | search dest = "$dest$"'
earliest_offset: $info_min_time$
latest_offset: $info_max_time$
- name: View risk events for the last 7 days for - "$dest$"
search:
'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`'
earliest_offset: $info_min_time$
latest_offset: $info_max_time$
rba:
message: PowerShell Web Access has been enabled on $dest$.
risk_objects:
- field: dest
type: system
score: 72
threat_objects: []
tags:
analytic_story:
- CISA AA24-241A
- Malicious PowerShell
asset_type: Endpoint
mitre_attack_id:
- T1059.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
security_domain: endpoint
cve: []
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/pswa_powershell.log
sourcetype: XmlWinEventLog
source: XmlWinEventLog:Microsoft-Windows-PowerShell/Operational