Skip to content

Commit

Permalink
Merge pull request #406 from splunk/CRL-1746
Browse files Browse the repository at this point in the history
CRL-1746 macro ymls and detection update
  • Loading branch information
rvaldez617 authored Mar 16, 2020
2 parents bae56e4 + 45ffbde commit 5e35219
Show file tree
Hide file tree
Showing 32 changed files with 132 additions and 49 deletions.
8 changes: 5 additions & 3 deletions detections/attrib_to_hide_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ detect:
risk_object_type:
- system
risk_score: 50
macros:
- attrib_to_hide_files_filter
schedule:
cron_schedule: 30 * * * *
earliest_time: -70m@m
Expand All @@ -38,7 +40,7 @@ detect:
as process max(_time) as lastTime from datamodel=Endpoint.Processes where
Processes.process_name=attrib.exe (Processes.process=*+h*) by Processes.parent_process
Processes.process_name Processes.user | `drop_dm_object_name("Processes")`
| `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)`'
| `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)`| `attrib_to_hide_files_filter`'
suppress:
suppress_fields: dest, process
suppress_period: 86400s
Expand Down Expand Up @@ -93,7 +95,7 @@ mappings:
- Persistence
nist:
- DE.CM
modification_date: '2018-11-15'
modification_date: '2020-03-16'
name: Hiding Files And Directories With Attrib.exe
original_authors:
- company: Splunk
Expand All @@ -103,4 +105,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/change_file_association.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ detect:
risk_object_type:
- system
risk_score: 40
macros:
- change_file_association_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -39,7 +41,7 @@ detect:
| join [| tstats `security_content_summariesonly` values(Registry.registry_path) as registry_path
count FROM datamodel=Endpoint.Registry where Registry.registry_path=*\\Explorer\\FileExts*
by Registry.process_id Registry.dest | `drop_dm_object_name("Registry")` |
table process_id dest registry_path]'
table process_id dest registry_path]| `change_file_association_filter`'
suppress:
suppress_fields: dest,user
suppress_period: 28800s
Expand Down Expand Up @@ -106,7 +108,7 @@ mappings:
- DE.CM
- PR.PT
- PR.IP
modification_date: '2018-01-26'
modification_date: '2020-03-16'
name: Suspicious Changes to File Associations
original_authors:
- company: Splunk
Expand All @@ -116,4 +118,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
10 changes: 6 additions & 4 deletions detections/children_of_spoolsv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ detect:
risk_object_type:
- system
risk_score: 60
macros:
- children_of_spoolsv_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -36,7 +38,7 @@ detect:
values(Processes.process) as process min(_time) as firstTime max(_time) as
lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=spoolsv.exe
AND Processes.process_name!=regsvr32.exe by Processes.dest Processes.parent_process
Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `children_of_spoolsv_filter`'
suppress:
suppress_fields: dest, parent_process_name
suppress_period: 86400s
Expand All @@ -50,7 +52,7 @@ entities:
how_to_implement: You must be ingesting endpoint data that tracks process activity,
including parent-child relationships from your endpoints to populate the Endpoint
data model in the Processes node. The command-line arguments are mapped to the "process"
field in the Endpoint data model.
field in the Endpoint data model. Update the `children_of_spoolsv_filter` macro to filter out legitimate child processes spawned by spoolsv.exe.
id: aa0c4aeb-5b18-41c4-8c07-f1442d7599df
investigations:
- id: bc91a8cf-35e7-4bb2-8140-e756cc06fd76
Expand Down Expand Up @@ -97,7 +99,7 @@ mappings:
- PR.AC
- PR.PT
- DE.CM
modification_date: '2018-12-03'
modification_date: '2020-03-16'
name: Child Processes of Spoolsv.exe
original_authors:
- company: Splunk
Expand All @@ -107,4 +109,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/common_ransomware_extensions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ detect:
risk_object_type:
- system
risk_score: 80
macros:
- common_ransomware_extensions_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -33,7 +35,7 @@ detect:
lastTime values(Filesystem.user) as user values(Filesystem.dest) as dest values(Filesystem.file_path)
as file_path from datamodel=Endpoint.Filesystem by Filesystem.file_name |
`drop_dm_object_name(Filesystem)` | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)`|
rex field=file_name "(?<file_extension>\.[^\.]+)$" | `ransomware_extensions`'
rex field=file_name "(?<file_extension>\.[^\.]+)$" | `ransomware_extensions` | `common_ransomware_extensions_filter`'
suppress:
suppress_fields: dest,file_name
suppress_period: 14400s
Expand Down Expand Up @@ -108,7 +110,7 @@ mappings:
nist:
- PR.PT
- DE.CM
modification_date: '2018-11-15'
modification_date: '2020-03-16'
name: Common Ransomware Extensions
original_authors:
- company: Splunk
Expand All @@ -118,4 +120,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
9 changes: 6 additions & 3 deletions detections/common_ransomware_notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,17 @@ detect:
risk_object_type:
- system
risk_score: 80
macros:
- common_ransomware_notes_filter
- ransomware_notes
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
latest_time: -10m@m
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as
lastTime values(Filesystem.user) as user values(Filesystem.dest) as dest values(Filesystem.file_path)
as file_path from datamodel=Endpoint.Filesystem by Filesystem.file_name |
`drop_dm_object_name(Filesystem)` | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)`|`ransomware_notes`'
`drop_dm_object_name(Filesystem)` | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)`|`ransomware_notes`| `common_ransomware_notes_filter`'
suppress:
suppress_fields: dest,file_name
suppress_period: 14400s
Expand Down Expand Up @@ -95,7 +98,7 @@ mappings:
nist:
- PR.PT
- DE.CM
modification_date: '2018-11-15'
modification_date: '2020-03-16'
name: Common Ransomware Notes
original_authors:
- company: Splunk
Expand All @@ -105,4 +108,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/create_local_admin_via_net.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ detect:
risk_object_type:
- system
risk_score: 50
macros:
- create_local_admin_via_net_filter
schedule:
cron_schedule: 0 8 * * *
earliest_time: -1440m@m
Expand All @@ -36,7 +38,7 @@ detect:
where (Processs.process_name=net.exe OR Processes.process_name=net1.exe) by
Processes.process Processes.process_name Processes.dest | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | search (process=*localgroup* OR
process=*/add* OR process=*user*)'
process=*/add* OR process=*user*) |`create_local_admin_via_net_filter`'
suppress:
suppress_fields: dest
suppress_period: 86400s
Expand Down Expand Up @@ -96,7 +98,7 @@ mappings:
nist:
- PR.PT
- DE.CM
modification_date: '2018-11-15'
modification_date: '2020-03-16'
name: Create local admin accounts using net.exe
original_authors:
- company: Splunk
Expand All @@ -106,4 +108,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/dragonfly_schtasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ detect:
risk_object_type:
- system
risk_score: 80
macros:
- dragonfly_schtasks_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -38,7 +40,7 @@ detect:
max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=schtasks.exe by
Processes.user Processes.process_name Processes.parent_process_name Processes.dest |
`drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` |
search (process=*delete* OR process=*create*) process=*reset*'
search (process=*delete* OR process=*create*) process=*reset* | `dragonfly_schtasks_filter`'
suppress:
suppress_fields: dest, process_name, process
suppress_period: 28800s
Expand Down Expand Up @@ -94,7 +96,7 @@ mappings:
- Scheduled Task
nist:
- PR.IP
modification_date: '2018-12-03'
modification_date: '2020-03-16'
name: Scheduled Task Name Used by Dragonfly Threat Actors
original_authors:
- company: Splunk
Expand All @@ -104,4 +106,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/file_write_spikes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ detect:
risk_object_type:
- system
risk_score: 30
macros:
- file_write_spikes_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -7d@d
Expand All @@ -37,7 +39,7 @@ detect:
"-1d@d"), count,null))) as avg stdev(eval(if(_time<relative_time(maxtime,
"-1d@d"), count, null))) as stdev by "dest" | eval upperBound=(avg+stdev*4),
isOutlier=if((count > upperBound) AND num_data_samples >=20, 1, 0) | search
isOutlier=1'
isOutlier=1 | `file_write_spikes_filter`'
suppress:
suppress_fields: dest
suppress_period: 7200s
Expand Down Expand Up @@ -94,7 +96,7 @@ mappings:
- Execution
nist:
- DE.CM
modification_date: '2018-12-03'
modification_date: '2020-03-16'
name: Spike in File Writes
original_authors:
- company: Splunk
Expand All @@ -104,4 +106,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '2.0'
version: '3.0'
8 changes: 5 additions & 3 deletions detections/lnk_executing_a_process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ detect:
risk_object_type:
- system
risk_score: 40
macros:
- lnk_executing_a_process_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -44,7 +46,7 @@ detect:
| rename parent_process_id as lnk_pid | fields _time lnk_pid process_id dest
process_name process_path process] | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
| table firstTime, lastTime, lnk_pid, process_id, user, dest, file_name, file_path,
process_name, process, process_path, file_hash'
process_name, process, process_path, file_hash | `lnk_executing_a_process_filter`'
suppress:
suppress_fields: dest,file_name
suppress_period: 86400s
Expand Down Expand Up @@ -79,7 +81,7 @@ mappings:
nist:
- ID.AM
- PR.DS
modification_date: '2019-04-29'
modification_date: '2020-03-16'
name: Suspicious LNK file launching a process
original_authors:
- company: Splunk
Expand All @@ -89,4 +91,4 @@ responses: []
security_domain: network
spec_version: 2
type: splunk
version: '1.0'
version: '2.0'
9 changes: 6 additions & 3 deletions detections/outlook_writing_zip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ detect:
risk_object_type:
- system
risk_score: 20
macros:
- outlook_writing_zip_filter
schedule:
cron_schedule: 0 * * * *
earliest_time: -70m@m
Expand All @@ -44,8 +46,9 @@ detect:
Filesystem.file_hash Filesystem.dest | `drop_dm_object_name(Filesystem)`
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename process_id as malicious_id|
fields malicious_id outlook_id dest file_path file_name file_hash count file_id]
| table firstTime lastTime user dest malicious_id outlook_id process_name parent_process_name
file_name file_path | where file_name != ""'
| table firstTime lastTime user malicious_id outlook_id process_name parent_process_name
file_name file_path | where file_name != "" | `outlook_writing_zip_filter`'

suppress:
suppress_fields: dest,file_name
suppress_period: 86400s
Expand Down Expand Up @@ -87,7 +90,7 @@ mappings:
nist:
- ID.AM
- PR.DS
modification_date: '2020-03-02'
modification_date: '2020-03-16'
name: Detect Oulook.exe writing a .zip file
original_authors:
- company: Splunk
Expand Down
8 changes: 5 additions & 3 deletions detections/rare_executables_on_endpoint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ detect:
risk_object_type:
- system
risk_score: 20
macros:
- rare_executables_on_endpoint_filter
schedule:
cron_schedule: 10 * * * *
earliest_time: -70m@m
Expand All @@ -38,7 +40,7 @@ detect:
`security_content_ctime(lastTime)`| search [| tstats count from datamodel=Endpoint.Processes
by Processes.process_name | rare Processes.process_name limit=30 | rename
Processes.process_name as process| `filter_rare_process_whitelist`| table
process ]'
process ] | `rare_executables_on_endpoint_filter`'
suppress:
suppress_fields: dest, process
suppress_period: 86400s
Expand Down Expand Up @@ -109,7 +111,7 @@ mappings:
- PR.PT
- PR.DS
- DE.CM
modification_date: '2018-10-30'
modification_date: '2020-03-16'
name: Detect Rare Executables
original_authors:
- company: Splunk
Expand All @@ -119,4 +121,4 @@ references: []
security_domain: endpoint
spec_version: 2
type: splunk
version: '4.0'
version: '5.0'
Loading

0 comments on commit 5e35219

Please sign in to comment.