Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
03db800
Named Pipes + update
Feb 22, 2021
2cc109c
Added detection testing service results inCobalt Strike Named Pipes
Feb 22, 2021
b9dfd8b
Merge branch 'develop' into 02rel3
MHaggis Feb 22, 2021
dec404a
Branch was auto-updated.
github-actions[bot] Feb 22, 2021
bbfeb8c
Cobalt Strike Profile adds and updates
Feb 22, 2021
8d44091
Branch was auto-updated.
github-actions[bot] Feb 23, 2021
5659890
Update cobalt_strike_named_pipes.yml
Feb 23, 2021
9188143
gpupdate no cmdline arguments
Feb 23, 2021
bb5bc07
fixes and new
Feb 23, 2021
99729a9
uid issue
Feb 23, 2021
1233dd1
Update suspicious_gpupdate_no_command_line_arguments.yml
Feb 23, 2021
b7f587b
Update suspicious_gpupdate_no_command_line_arguments.test.yml
Feb 23, 2021
393065b
Update suspicious_dllhost_no_command_line_arguments.test.yml
Feb 23, 2021
75998a3
SearchprotocolHost
Feb 23, 2021
c9c8051
Update suspicious_searchprotocolhost_no_command_line_arguments.yml
Feb 23, 2021
10e028c
Silver Sparrow
Feb 24, 2021
814aeae
Update silver_sparrow.yml
Feb 24, 2021
9cdd4d8
Branch was auto-updated.
github-actions[bot] Feb 25, 2021
9d96fc3
silver sparrow
Feb 25, 2021
7fc33f2
Update silver_sparrow.yml
Feb 25, 2021
dcc4060
Update silver_sparrow.yml
Feb 25, 2021
1af1421
Update silver_sparrow.yml
Feb 25, 2021
df6d9ca
Update suspicious_plistbuddy_usage.yml
Feb 25, 2021
5536f10
Update suspicious_plistbuddy_usage.yml
Feb 25, 2021
5332f24
silver sparrow test
Feb 25, 2021
691139a
Update suspicious_sqlite3_lsquarantine_behavior.yml
Feb 25, 2021
54cc612
fix
Feb 25, 2021
7748c9d
update
Feb 25, 2021
0e1de2f
Update suspicious_curl_network_connection.yml
Feb 25, 2021
5ec99d2
Update suspicious_curl_network_connection.yml
Feb 25, 2021
65a9f81
Update suspicious_curl_network_connection.yml
Feb 25, 2021
762bed4
fix
Feb 25, 2021
4cae995
Update cobalt_strike.yml
Feb 25, 2021
2c99688
Update cobalt_strike.yml
Feb 25, 2021
d265e72
Silver Sparrow
Mar 1, 2021
ecb82ec
Fixes
Mar 1, 2021
a576744
Ryuk Wake on LAN
Mar 1, 2021
5a09edf
Suspicious Scheduled Task from Public Directory
Mar 1, 2021
bcbd2eb
Fodhelper uac bypass
Mar 1, 2021
bd2c69e
Eventvwr UAC Bypass
Mar 1, 2021
9794fd1
Any PowerShell DownloadString
Mar 1, 2021
16627bf
update url
Mar 2, 2021
0e18f64
powershell
Mar 2, 2021
66b650d
Windows DisableAntiSpyware Registry
Mar 2, 2021
6952b99
Update windows_disableantispyware_reg.yml
Mar 2, 2021
eb16361
Added detection testing service results inSuspicious GPUpdate no Comm…
Mar 2, 2021
66d9b7d
Merge branch '02rel3' of https://github.com/splunk/security_content i…
Mar 2, 2021
1efa4bc
Update ryuk_wake_on_lan_command.yml
Mar 2, 2021
9c1bcaf
Added detection testing service results inSuspicious DLLHost no Comma…
Mar 2, 2021
fb39062
Branch was auto-updated.
github-actions[bot] Mar 2, 2021
de916f2
Added detection testing service results inSuspicious SearchProtocolHo…
Mar 2, 2021
d5cdffe
Update fodhelper_uac_bypass.test.yml
Mar 2, 2021
54b50fe
Merge branch '02rel3' of https://github.com/splunk/security_content i…
Mar 2, 2021
1f6fd5b
Added detection testing service results inFodHelper UAC Bypass
Mar 2, 2021
bd5d395
Branch was auto-updated.
github-actions[bot] Mar 2, 2021
faca9af
Update suspicious_scheduled_task_from_public_directory.test.yml
Mar 2, 2021
e6fd5ba
Update any_powershell_downloadstring.test.yml
Mar 2, 2021
5450004
Added detection testing service results inEventvwr UAC Bypass
Mar 2, 2021
87b2b8b
Merge branch '02rel3' of https://github.com/splunk/security_content i…
Mar 2, 2021
f408036
Create windows_disableantispyware_reg.test.yml
Mar 2, 2021
a115045
Added detection testing service results inWindows Disable Antispyware…
Mar 2, 2021
ff34bac
posh downloadstring or file
Mar 3, 2021
efc091d
Added detection testing service results inAny Powershell DownloadString
Mar 3, 2021
31a9375
Update any_powershell_downloadfile.yml
Mar 3, 2021
aada39e
Update suspicious_scheduled_task_from_public_directory.yml
Mar 3, 2021
169fb44
Added detection testing service results inSuspicious Scheduled Task f…
Mar 3, 2021
69ddac9
Added detection testing service results inSuspicious Scheduled Task f…
Mar 3, 2021
ac49f9a
HAFNIUM and more updates
Mar 3, 2021
e747aa8
Merge branch '02rel3' of https://github.com/splunk/security_content i…
Mar 3, 2021
8dc533b
Branch was auto-updated.
github-actions[bot] Mar 3, 2021
0aa830c
fixes
Mar 3, 2021
943438b
Update ryuk_wake_on_lan_command.yml
Mar 3, 2021
0a72373
adding braces
patel-bhavin Mar 3, 2021
442fb6e
Added detection testing service results inNishang PowershellTCPOneLine
Mar 3, 2021
6246233
Merge branch '02rel3' of https://github.com/splunk/security_content i…
Mar 3, 2021
c8fef77
Branch was auto-updated.
github-actions[bot] Mar 3, 2021
66514f0
formatting updates
MHaggis Mar 4, 2021
53cfecd
Update fodhelper_uac_bypass.yml
MHaggis Mar 4, 2021
8335e85
Update nishang_powershelltcponeline.yml
MHaggis Mar 4, 2021
fcb9fa5
W3WP Spawning shells
MHaggis Mar 4, 2021
18a3223
Branch was auto-updated.
github-actions[bot] Mar 4, 2021
baccc93
Branch was auto-updated.
github-actions[bot] Mar 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,4 @@ venv.bak/
.mypy_cache/
package/bin/sftp-config.json
package/default/sftp-config.json
*.code-snippets
42 changes: 0 additions & 42 deletions detections/deprecated/windows_disableantispyware_reg.yml

This file was deleted.

38 changes: 38 additions & 0 deletions detections/endpoint/any_powershell_downloadfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Any Powershell DownloadFile
id: 1a93b7ea-7af7-11eb-adb5-acde48001122
version: 1
date: '2021-03-01'
author: Michael Haag, Splunk
type: batch
datamodel:
- Endpoint
description: The following analytic identifies the use of PowerShell downloading a file using `DownloadFile` method. This particular method is utilized in many different PowerShell frameworks to download files and output to disk.
Identify the source (IP/domain) and destination file and triage appropriately. If AMSI logging or PowerShell transaction logs are available, review for further details of the implant.
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
as lastTime from datamodel=Endpoint.Processes where (Processes.process_name=powershell.exe OR Processes.process_name=pwsh.exe OR Processes.process_name=PowerShell_ISE.exe)
Processes.process=*DownloadFile* by Processes.dest
Processes.user Processes.parent_process Processes.process_name Processes.process
Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `any_powershell_downloadfile_filter`'
how_to_implement: To successfully implement this search you need to be ingesting information
on process that include the name of the process responsible for the changes from
your endpoints into the `Endpoint` datamodel in the `Processes` node.
known_false_positives: False positives may be present and filtering will need to occur by parent process or command line argument. It may be required to modify this query to an EDR product for more granular coverage.
references:
- https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadfile?view=net-5.0
- https://blog.malwarebytes.com/malwarebytes-news/2021/02/lazyscripter-from-empire-to-double-rat/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1059.001/T1059.001.md
tags:
analytic_story:
- Malicious PowerShell
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/atomic_red_team/windows-sysmon.log
kill_chain_phases:
- Exploitation
mitre_attack_id:
- T1059.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud

45 changes: 45 additions & 0 deletions detections/endpoint/any_powershell_downloadstring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Any Powershell DownloadString
id: 4d015ef2-7adf-11eb-95da-acde48001122
version: 1
date: '2021-03-01'
author: Michael Haag, Splunk
type: batch
datamodel:
- Endpoint
description: The following analytic identifies the use of PowerShell downloading a
file using `DownloadString` method. This particular method is utilized in many different
PowerShell frameworks to download files and output to disk. Identify the source
(IP/domain) and destination file and triage appropriately. If AMSI logging or PowerShell
transaction logs are available, review for further details of the implant.
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
OR Processes.process_name=pwsh.exe OR Processes.process_name=PowerShell_ISE.exe
Processes.process=*.DownloadString* by Processes.dest Processes.user Processes.parent_process
Processes.process_name Processes.process Processes.process_id Processes.parent_process_id
| `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
`any_powershell_downloadstring_filter`'
how_to_implement: To successfully implement this search you need to be ingesting information
on process that include the name of the process responsible for the changes from
your endpoints into the `Endpoint` datamodel in the `Processes` node.
known_false_positives: False positives may be present and filtering will need to occur
by parent process or command line argument. It may be required to modify this query
to an EDR product for more granular coverage.
references:
- https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadstring?view=net-5.0
- https://blog.malwarebytes.com/malwarebytes-news/2021/02/lazyscripter-from-empire-to-double-rat/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1059.001/T1059.001.md
tags:
analytic_story:
- Malicious PowerShell
- HAFNIUM Group
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/atomic_red_team/windows-sysmon.log
kill_chain_phases:
- Exploitation
mitre_attack_id:
- T1059.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
automated_detection_testing: passed
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ tags:
analytic_story:
- Malicious PowerShell
- Credential Dumping
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
58 changes: 58 additions & 0 deletions detections/endpoint/cobalt_strike_named_pipes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Cobalt Strike Named Pipes
id: 5876d429-0240-4709-8b93-ea8330b411b5
version: 1
date: '2021-02-22'
description: 'The following analytic identifies the use of default or publicly known
named pipes used with Cobalt Strike. A named pipe is a named, one-way or duplex
pipe for communication between the pipe server and one or more pipe clients. Cobalt
Strike uses named pipes in many ways and has default values used with the Artifact
Kit and Malleable C2 Profiles. The following query assists with identifying these
default named pipes. Each EDR product presents named pipes a little different. Consider
taking the values and generating a query based on the product of choice. \

Upon triage, review the process performing the named pipe. If it is explorer.exe,
It is possible it was injected into by another process. Review recent parallel processes
to identify suspicious patterns or behaviors. A parallel process may have a network
connection, review and follow the connection back to identify any file modifications.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
type: batch
datamodel: []
references:
- https://attack.mitre.org/techniques/T1218/009/
- https://docs.microsoft.com/en-us/windows/win32/ipc/named-pipes
- https://www.cobaltstrike.com/help-smb-beacon
- https://blog.cobaltstrike.com/2021/02/09/learn-pipe-fitting-for-all-of-your-offense-projects/
- https://gist.github.com/MHaggis/6c600e524045a6d49c35291a21e10752
author: Michael Haag, Splunk
search: '`sysmon` EventID=17 OR EventID=18 PipeName IN (\\msagent_*, \\wkssvc*, \\DserNamePipe*, \\srvsvc_*,
\\mojo.*, \\postex_*, \\status_*, \\MSSE-*, \\spoolss_*, \\win_svc*, \\ntsvcs*, \\winsock*)
| stats count min(_time) as firstTime max(_time) as lastTime by Computer, process_name, process_id
process_path, PipeName | rename Computer as dest | `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)` | `cobalt_strike_named_pipes_filter`'
known_false_positives: The idea of using named pipes with Cobalt Strike is to blend
in. Therefore, some of the named pipes identified and added may cause false positives.
Filter by process name or pipe name to reduce false positives.
tags:
analytic_story:
- Cobalt Strike
mitre_attack_id:
- T1055
kill_chain_phases:
- Actions on Objectives
cis20:
- CIS 8
nist:
- PR.PT
- DE.CM
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
security_domain: endpoint
asset_type: Endpoint
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1055/cobalt_strike/windows-sysmon.log
automated_detection_testing: passed
1 change: 1 addition & 0 deletions detections/endpoint/detect_new_local_admin_account.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ references: []
tags:
analytic_story:
- DHS Report TA18-074A
- HAFNIUM Group
asset_type: Windows
automated_detection_testing: passed
cis20:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ tags:
analytic_story:
- SamSam Ransomware
- DHS Report TA18-074A
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ references:
tags:
analytic_story:
- Suspicious Regsvr32 Activity
- Cobalt Strike
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
1 change: 1 addition & 0 deletions detections/endpoint/dump_lsass_via_comsvcs_dll.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ tags:
analytic_story:
- Credential Dumping
- Suspicious Rundll32 Activity
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
3 changes: 2 additions & 1 deletion detections/endpoint/dump_lsass_via_procdump.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ description: 'Detect procdump.exe dumping the lsass process. This query looks fo
the command line. Review other endpoint data sources for cross process (injection)
into lsass.exe.'
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
as lastTime from datamodel=Endpoint.Processes where Processes.process_name=procdump.exe
as lastTime from datamodel=Endpoint.Processes where Processes.process_name=procdump.exe OR Processes.process_name=procdump64.exe
(Processes.process=*-ma* OR Processes.process=*-mm*) Processes.process=*lsass* by
Processes.user Processes.process_name Processes.process Processes.dest | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `dump_lsass_via_procdump_filter`'
Expand All @@ -32,6 +32,7 @@ references:
tags:
analytic_story:
- Credential Dumping
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
1 change: 1 addition & 0 deletions detections/endpoint/dump_lsass_via_procdump_rename.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ references:
tags:
analytic_story:
- Credential Dumping
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
43 changes: 43 additions & 0 deletions detections/endpoint/eventvwr_uac_bypass.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Eventvwr UAC Bypass
id: 9cf8fe08-7ad8-11eb-9819-acde48001122
version: 1
date: '2021-03-01'
author: Michael Haag, Splunk
type: batch
datamodel:
- Endpoint
description: The following search identifies Eventvwr bypass by identifying the registry
modification into a specific path that eventvwr.msc looks to (but is not valid)
upon execution. A successful attack will include a suspicious command to be executed
upon eventvwr.msc loading. Upon triage, review the parallel processes that have
executed. Identify any additional registry modifications on the endpoint that may
look suspicious. Remediate as necessary.
search: '| tstats `security_content_summariesonly` count values(Registry.registry_key_name)
as registry_key_name values(Registry.registry_path) as registry_path min(_time)
as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path="*mscfile\\shell\\open\\command\\*" by
Registry.user, Registry.dest , Registry.registry_value_name| `security_content_ctime(lastTime)`
| `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)` | `eventvwr_uac_bypass_filter`'
how_to_implement: To successfully implement this search you need to be ingesting information
on process that include the name of the process responsible for the changes from
your endpoints into the `Endpoint` datamodel in the `Registry` node.
known_false_positives: Some false positives may be present and will need to be filtered.
references:
- https://blog.malwarebytes.com/malwarebytes-news/2021/02/lazyscripter-from-empire-to-double-rat/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1548.002/T1548.002.md
- https://attack.mitre.org/techniques/T1548/002
- https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
tags:
analytic_story:
- Windows Defense Evasion Tactics
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.002/atomic_red_team/windows-sysmon.log
kill_chain_phases:
- Exploitation
- Privilege Escalation
mitre_attack_id:
- T1548.002
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
automated_detection_testing: passed
52 changes: 52 additions & 0 deletions detections/endpoint/fodhelper_uac_bypass.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: FodHelper UAC Bypass
id: 909f8fd8-7ac8-11eb-a1f3-acde48001122
version: 1
date: '2021-03-01'
author: Michael Haag, Splunk
type: batch
datamodel:
- Endpoint
description: 'Fodhelper.exe has a known UAC bypass as it attempts to look for specific
registry keys upon execution, that do not exist. Therefore, an attacker can write
its malicious commands in these registry keys to be executed by fodhelper.exe with
the highest privilege. \

1. `HKCU:\Software\Classes\ms-settings\shell\open\command`\

1. `HKCU:\Software\Classes\ms-settings\shell\open\command\DelegateExecute`\

1. `HKCU:\Software\Classes\ms-settings\shell\open\command\(default)`\

Upon triage, fodhelper.exe will have a child process and read access will occur
on the registry keys. Isolate the endpoint and review parallel processes for additional
behavior.'
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=fodhelper.exe
by Processes.dest Processes.user Processes.parent_process Processes.process_name
Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `fodhelper_uac_bypass_filter`'
how_to_implement: To successfully implement this search you need to be ingesting information
on process that include the name of the process responsible for the changes from
your endpoints into the `Endpoint` datamodel in the `Processes` node.
known_false_positives: Limited to no false positives are expected.
references:
- https://blog.malwarebytes.com/malwarebytes-news/2021/02/lazyscripter-from-empire-to-double-rat/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1548.002/T1548.002.md
- https://github.com/gushmazuko/WinBypass/blob/master/FodhelperBypass.ps1
- https://attack.mitre.org/techniques/T1548/002
tags:
analytic_story:
- Windows Defense Evasion Tactics
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.002/atomic_red_team/windows-sysmon.log
kill_chain_phases:
- Exploitation
- Privilege Escalation
mitre_attack_id:
- T1112
- T1548.002
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
automated_detection_testing: passed
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ tags:
analytic_story:
- Malicious PowerShell
- Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ references: []
tags:
analytic_story:
- DHS Report TA18-074A
- HAFNIUM Group
asset_type: Endpoint
automated_detection_testing: passed
cis20:
Expand Down
Loading