mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
88 lines
4.4 KiB
YAML
88 lines
4.4 KiB
YAML
name: Exchange PowerShell Module Usage
|
|
id: 2d10095e-05ae-11ec-8fdf-acde48001122
|
|
version: 13
|
|
date: '2025-07-29'
|
|
author: Michael Haag, Splunk
|
|
status: production
|
|
type: TTP
|
|
description:
|
|
The following analytic detects the usage of specific Exchange PowerShell
|
|
modules, such as New-MailboxExportRequest, New-ManagementRoleAssignment, New-MailboxSearch,
|
|
and Get-Recipient. It leverages PowerShell Script Block Logging (EventCode 4104)
|
|
to identify these commands. This activity is significant because these modules can
|
|
be exploited by adversaries who have gained access via ProxyShell or ProxyNotShell
|
|
vulnerabilities. If confirmed malicious, attackers could export mailbox contents,
|
|
assign management roles, conduct mailbox searches, or view recipient objects, potentially
|
|
leading to data exfiltration, privilege escalation, or unauthorized access to sensitive
|
|
information.
|
|
data_source:
|
|
- Powershell Script Block Logging 4104
|
|
search:
|
|
'`powershell` EventCode=4104 ScriptBlockText IN ("*New-MailboxExportRequest*",
|
|
"*New-ManagementRoleAssignment*", "*New-MailboxSearch*", "*Get-Recipient*", "Search-Mailbox")
|
|
| 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)`
|
|
| `exchange_powershell_module_usage_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:
|
|
Administrators or power users may use this PowerShell commandlet
|
|
for troubleshooting.
|
|
references:
|
|
- https://docs.microsoft.com/en-us/powershell/module/exchange/new-mailboxexportrequest?view=exchange-ps
|
|
- https://docs.microsoft.com/en-us/powershell/module/exchange/new-managementroleassignment?view=exchange-ps
|
|
- https://blog.orange.tw/2021/08/proxyshell-a-new-attack-surface-on-ms-exchange-part-3.html
|
|
- https://www.zerodayinitiative.com/blog/2021/8/17/from-pwn2own-2021-a-new-attack-surface-on-microsoft-exchange-proxyshell
|
|
- https://thedfirreport.com/2021/11/15/exchange-exploit-leads-to-domain-wide-ransomware/
|
|
- https://www.cisa.gov/uscert/ncas/alerts/aa22-264a
|
|
- https://learn.microsoft.com/en-us/powershell/module/exchange/new-mailboxsearch?view=exchange-ps
|
|
- https://learn.microsoft.com/en-us/powershell/module/exchange/get-recipient?view=exchange-ps
|
|
- https://thedfirreport.com/2022/03/21/apt35-automates-initial-access-using-proxyshell/
|
|
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: Suspicious Exchange PowerShell module usaged was identified on $dest$.
|
|
risk_objects:
|
|
- field: dest
|
|
type: system
|
|
score: 32
|
|
threat_objects: []
|
|
tags:
|
|
analytic_story:
|
|
- ProxyNotShell
|
|
- CISA AA22-277A
|
|
- ProxyShell
|
|
- BlackByte Ransomware
|
|
- CISA AA22-264A
|
|
- Scattered Spider
|
|
asset_type: Endpoint
|
|
mitre_attack_id:
|
|
- T1059.001
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
security_domain: endpoint
|
|
tests:
|
|
- name: True Positive Test
|
|
attack_data:
|
|
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/exchange/windows-powershell.log
|
|
source: XmlWinEventLog:Microsoft-Windows-PowerShell/Operational
|
|
sourcetype: XmlWinEventLog
|