mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
Merge branch 'den-haag' of https://github.com/splunk/security_content into den-haag
This commit is contained in:
@@ -5,28 +5,41 @@ date: '2021-06-09'
|
||||
author: Michael Haag, Splunk
|
||||
type: batch
|
||||
datamodel: []
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104) to identify suspicious PowerShell execution. Script Block Logging captures the command sent to PowerShell, the full command to be executed. Upon enabling, logs will output to Windows event logs. Dependent upon volume, enable no critical endpoints or all. \
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104)
|
||||
to identify suspicious PowerShell execution. Script Block Logging captures the command
|
||||
sent to PowerShell, the full command to be executed. Upon enabling, logs will output
|
||||
to Windows event logs. Dependent upon volume, enable no critical endpoints or all.
|
||||
\
|
||||
|
||||
This analytic identifies the common PowerShell stager used by PowerShell-Empire. Each stager that may use PowerShell all uses the same pattern. The initial HTTP will be base64 encoded and use `system.net.webclient`. Note that some obfuscation may evade the analytic. \
|
||||
This analytic identifies the common PowerShell stager used by PowerShell-Empire.
|
||||
Each stager that may use PowerShell all uses the same pattern. The initial HTTP
|
||||
will be base64 encoded and use `system.net.webclient`. Note that some obfuscation
|
||||
may evade the analytic. \
|
||||
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It will be important to understand the timeline of events around this activity. Review the entire logged PowerShell script block.'
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It
|
||||
will be important to understand the timeline of events around this activity. Review
|
||||
the entire logged PowerShell script block.'
|
||||
search: '`powershell` EventCode=4104 (Message=*system.net.webclient* AND Message=*frombase64string*)
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by OpCode ComputerName User EventCode Message
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by OpCode ComputerName
|
||||
User EventCode Message | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `detect_empire_with_powershell_script_block_logging_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: False positives may only pertain to it not being related to Empire, but another framework. Filter as needed if any applications use the same pattern.
|
||||
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: False positives may only pertain to it not being related to
|
||||
Empire, but another framework. Filter as needed if any applications use the same
|
||||
pattern.
|
||||
references:
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
- https://github.com/BC-SECURITY/Empire
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
- https://github.com/BC-SECURITY/Empire
|
||||
tags:
|
||||
analytic_story:
|
||||
- Malicious PowerShell
|
||||
dataset: []
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/windows-powershell.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
@@ -42,4 +55,5 @@ tags:
|
||||
- ComputerName
|
||||
- User
|
||||
- EventCode
|
||||
security_domain: endpoint
|
||||
security_domain: endpoint
|
||||
automated_detection_testing: passed
|
||||
|
||||
@@ -5,27 +5,38 @@ date: '2021-06-09'
|
||||
author: Michael Haag, Splunk
|
||||
type: batch
|
||||
datamodel: []
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104) to identify suspicious PowerShell execution. Script Block Logging captures the command sent to PowerShell, the full command to be executed. Upon enabling, logs will output to Windows event logs. Dependent upon volume, enable no critical endpoints or all. \
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104)
|
||||
to identify suspicious PowerShell execution. Script Block Logging captures the command
|
||||
sent to PowerShell, the full command to be executed. Upon enabling, logs will output
|
||||
to Windows event logs. Dependent upon volume, enable no critical endpoints or all.
|
||||
\
|
||||
|
||||
This analytic identifies common Mimikatz functions that may be identified in the script block, including `mimikatz`. This will catch the most basic use cases for Pass the Ticket, Pass the Hash and `-DumprCreds`. \
|
||||
This analytic identifies common Mimikatz functions that may be identified in the
|
||||
script block, including `mimikatz`. This will catch the most basic use cases for
|
||||
Pass the Ticket, Pass the Hash and `-DumprCreds`. \
|
||||
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It will be important to understand the timeline of events around this activity. Review the entire logged PowerShell script block.'
|
||||
search: '`powershell` EventCode=4104 Message IN (*mimikatz*, *-dumpcr*, *sekurlsa::pth*, *kerberos::ptt*, *kerberos::golden*)
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by OpCode ComputerName User EventCode Message
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `detect_mimikatz_with_powershell_script_block_logging_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: False positives should be limited as the commands being identifies are quite specific to EventCode 4104 and Mimikatz. Filter as needed.
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It
|
||||
will be important to understand the timeline of events around this activity. Review
|
||||
the entire logged PowerShell script block.'
|
||||
search: '`powershell` EventCode=4104 Message IN (*mimikatz*, *-dumpcr*, *sekurlsa::pth*,
|
||||
*kerberos::ptt*, *kerberos::golden*) | stats count min(_time) as firstTime max(_time)
|
||||
as lastTime by OpCode ComputerName User EventCode Message | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)` | `detect_mimikatz_with_powershell_script_block_logging_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: False positives should be limited as the commands being identifies
|
||||
are quite specific to EventCode 4104 and Mimikatz. Filter as needed.
|
||||
references:
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Malicious PowerShell
|
||||
dataset: []
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/windows-powershell.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
@@ -41,4 +52,5 @@ tags:
|
||||
- ComputerName
|
||||
- User
|
||||
- EventCode
|
||||
security_domain: endpoint
|
||||
security_domain: endpoint
|
||||
automated_detection_testing: passed
|
||||
|
||||
@@ -5,27 +5,39 @@ date: '2021-06-09'
|
||||
author: Michael Haag, Splunk
|
||||
type: batch
|
||||
datamodel: []
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104) to identify suspicious PowerShell execution. Script Block Logging captures the command sent to PowerShell, the full command to be executed. Upon enabling, logs will output to Windows event logs. Dependent upon volume, enable no critical endpoints or all. \
|
||||
description: 'The following analytic utilizes PowerShell Script Block Logging (EventCode=4104)
|
||||
to identify suspicious PowerShell execution. Script Block Logging captures the command
|
||||
sent to PowerShell, the full command to be executed. Upon enabling, logs will output
|
||||
to Windows event logs. Dependent upon volume, enable no critical endpoints or all.
|
||||
\
|
||||
|
||||
This analytic identifies the behavior of AMSI being tampered with. Implemented natively in many frameworks, the command will look similar to `SEtValuE($Null,(New-OBJEct COLlECtionS.GenerIC.HAshSEt[StrINg]))}$ReF=[ReF].AsSeMbLY.GeTTyPe("System.Management.Automation.Amsi"+"Utils")` taken from Powershell-Empire. \
|
||||
This analytic identifies the behavior of AMSI being tampered with. Implemented natively
|
||||
in many frameworks, the command will look similar to `SEtValuE($Null,(New-OBJEct
|
||||
COLlECtionS.GenerIC.HAshSEt[StrINg]))}$ReF=[ReF].AsSeMbLY.GeTTyPe("System.Management.Automation.Amsi"+"Utils")`
|
||||
taken from Powershell-Empire. \
|
||||
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It will be important to understand the timeline of events around this activity. Review the entire logged PowerShell script block.'
|
||||
search: '`powershell` EventCode=4104 Message=*system.management.automation.amsi*
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by OpCode ComputerName User EventCode Message
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
During triage, review parallel processes using an EDR product or 4688 events. It
|
||||
will be important to understand the timeline of events around this activity. Review
|
||||
the entire logged PowerShell script block.'
|
||||
search: '`powershell` EventCode=4104 Message=*system.management.automation.amsi* |
|
||||
stats count min(_time) as firstTime max(_time) as lastTime by OpCode ComputerName
|
||||
User EventCode Message | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `unloading_amsi_via_reflection_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: Potential for some third party applications to disable AMSI upon invocation. Filter as needed.
|
||||
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: Potential for some third party applications to disable AMSI
|
||||
upon invocation. Filter as needed.
|
||||
references:
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
- https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
|
||||
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
|
||||
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Malicious PowerShell
|
||||
dataset: []
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/windows-powershell.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
@@ -41,4 +53,5 @@ tags:
|
||||
- ComputerName
|
||||
- User
|
||||
- EventCode
|
||||
security_domain: endpoint
|
||||
security_domain: endpoint
|
||||
automated_detection_testing: passed
|
||||
|
||||
Reference in New Issue
Block a user