mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
82 lines
3.9 KiB
YAML
82 lines
3.9 KiB
YAML
name: Exchange PowerShell Module Usage
|
|
id: 2d10095e-05ae-11ec-8fdf-acde48001122
|
|
version: 5
|
|
date: '2022-11-21'
|
|
author: Michael Haag, Splunk
|
|
type: TTP
|
|
datamodel: []
|
|
description: 'The following analytic identifies the usage of Exchange PowerShell modules
|
|
that were recently used for a proof of concept related to ProxyShell. Adversaries may abuse a limited set of PwSh Modules related to Exchange once gained access via ProxyShell or ProxyNotShell.\
|
|
|
|
Inherently, the usage of the modules is not malicious, but reviewing parallel processes,
|
|
and user, of the session will assist with determining the intent. \
|
|
|
|
Module - New-MailboxExportRequest will begin the process of exporting contents of
|
|
a primary mailbox or archive to a .pst file. \
|
|
|
|
Module - New-managementroleassignment can assign a management role to a management
|
|
role group, management role assignment policy, user, or universal security group
|
|
(USG). \
|
|
|
|
Module - New-MailboxSearch cmdlet to create a mailbox search and either get an estimate of search results, place search results on In-Place Hold or copy them to a Discovery mailbox. You can also place all contents in a mailbox on hold by not specifying a search query, which accomplishes similar results as Litigation Hold. \
|
|
Module - Get-Recipient cmdlet to view existing recipient objects in your organization. This cmdlet returns all mail-enabled objects (for example, mailboxes, mail users, mail contacts, and distribution groups).'
|
|
search: '`powershell` EventCode=4104 ScriptBlockText IN ("*New-MailboxExportRequest*", "*New-ManagementRoleAssignment*", "*New-MailboxSearch*", "*Get-Recipient*", "Search-Mailbox")
|
|
| stats count min(_time) as firstTime max(_time) as lastTime by Opcode Computer
|
|
UserID EventCode 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://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
|
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/
|
|
tags:
|
|
analytic_story:
|
|
- ProxyShell
|
|
- CISA AA22-264A
|
|
- ProxyNotShell
|
|
- CISA AA22-277A
|
|
asset_type: Endpoint
|
|
confidence: 80
|
|
context:
|
|
- Source:Endpoint
|
|
- Stage:Discovery
|
|
- Stage:Recon
|
|
dataset:
|
|
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/exchange/windows-powershell.log
|
|
impact: 40
|
|
kill_chain_phases:
|
|
- Reconnaissance
|
|
- Exploitation
|
|
message: Suspicious Exchange PowerShell module usaged was identified on $dest$.
|
|
mitre_attack_id:
|
|
- T1059
|
|
- T1059.001
|
|
observable:
|
|
- name: dest
|
|
type: Endpoint
|
|
role:
|
|
- Victim
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
required_fields:
|
|
- _time
|
|
- ScriptBlockText
|
|
- Opcode
|
|
- Computer
|
|
- UserID
|
|
- EventCode
|
|
risk_score: 32
|
|
security_domain: endpoint
|