mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
Merge branch 'develop' of github.com:splunk/security-content into tf23
This commit is contained in:
@@ -44,6 +44,7 @@ tags:
|
||||
of $expected_upper_threshold$ with the following command $command$.
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.CM
|
||||
|
||||
@@ -49,6 +49,7 @@ tags:
|
||||
command $command$.
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.CM
|
||||
|
||||
@@ -46,6 +46,7 @@ tags:
|
||||
in their account
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -43,6 +43,7 @@ tags:
|
||||
from this IP $src$
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -46,6 +46,7 @@ tags:
|
||||
and did a console login from this IP $src_ip$
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -37,6 +37,7 @@ tags:
|
||||
message: Vulnerabilities with severity high found in image $image$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -36,6 +36,7 @@ tags:
|
||||
message: Vulnerabilities with severity high found in repository $repositoryName$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -35,6 +35,7 @@ tags:
|
||||
message: Vulnerabilities with severity high found in image $image$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -33,6 +33,7 @@ tags:
|
||||
message: Container uploaded outside business hours from $user$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -33,6 +33,7 @@ tags:
|
||||
message: Container uploaded from unknown user $user$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -42,6 +42,7 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1069.003
|
||||
- T1098
|
||||
- T1069
|
||||
observable:
|
||||
- name: src
|
||||
type: IP Address
|
||||
|
||||
@@ -46,6 +46,7 @@ tags:
|
||||
CIDR $requestParameters.cidrBlock$
|
||||
mitre_attack_id:
|
||||
- T1562.007
|
||||
- T1562
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.AE
|
||||
|
||||
@@ -41,6 +41,7 @@ tags:
|
||||
$eventName$), such that the instance is accessible from anywhere
|
||||
mitre_attack_id:
|
||||
- T1562.007
|
||||
- T1562
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.AE
|
||||
|
||||
@@ -45,6 +45,7 @@ tags:
|
||||
event $eventName$ for updating the the default policy version
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -39,6 +39,7 @@ tags:
|
||||
user $user_arn$ more access privilleges
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -44,6 +44,7 @@ tags:
|
||||
message: User $user$ is creating a new instance $dest$ for the first time
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- ID.AM
|
||||
observable:
|
||||
|
||||
@@ -44,6 +44,7 @@ tags:
|
||||
message: User $user$ is modifying an instance $dest$ for the first time.
|
||||
mitre_attack_id:
|
||||
- T1078.004
|
||||
- T1078
|
||||
nist:
|
||||
- ID.AM
|
||||
observable:
|
||||
|
||||
@@ -27,6 +27,7 @@ tags:
|
||||
message: Correlation triggered for user $user$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -27,6 +27,7 @@ tags:
|
||||
message: Correlation triggered for user $user$
|
||||
mitre_attack_id:
|
||||
- T1204.003
|
||||
- T1204
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -23,7 +23,7 @@ references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
automated_detection_testing: passed
|
||||
confidence: 30
|
||||
context:
|
||||
|
||||
@@ -22,7 +22,7 @@ references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
automated_detection_testing: passed
|
||||
confidence: 30
|
||||
context:
|
||||
|
||||
@@ -33,6 +33,7 @@ tags:
|
||||
message: Vulnerabilities found in packages used by GitHub repository $repository$
|
||||
mitre_attack_id:
|
||||
- T1195.001
|
||||
- T1195
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -33,6 +33,7 @@ tags:
|
||||
message: Vulnerabilities found in packages used by GitHub repository $repository$
|
||||
mitre_attack_id:
|
||||
- T1195.001
|
||||
- T1195
|
||||
nist:
|
||||
- PR.DS
|
||||
- PR.AC
|
||||
|
||||
@@ -19,14 +19,14 @@ search: '`gsuite_drive` NOT (email IN("", "null")) | rex field=parameters.owner
|
||||
| `gsuite_drive_share_in_external_email_filter`'
|
||||
how_to_implement: To successfully implement this search, you need to be ingesting
|
||||
logs related to gsuite having the file attachment metadata like file type, file
|
||||
extension, source email, destination email, num of attachment and etc.
|
||||
extension, source email, destination email, num of attachment and etc. In order for the search to work for your environment, please edit the query to use your company specific email domain instead of `internal_test_email.com`.
|
||||
known_false_positives: network admin or normal user may share files to customer and
|
||||
external team.
|
||||
references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
confidence: 90
|
||||
context:
|
||||
- Source:Endpoint
|
||||
@@ -41,11 +41,12 @@ tags:
|
||||
message: suspicious share gdrive from $parameters.owner$ to $email$ namely as $parameters.doc_title$
|
||||
mitre_attack_id:
|
||||
- T1567.002
|
||||
- T1567
|
||||
observable:
|
||||
- name: parameters.owner
|
||||
type: User
|
||||
role:
|
||||
- attacker
|
||||
- Attacker
|
||||
- name: email
|
||||
type: User
|
||||
role:
|
||||
@@ -66,3 +67,4 @@ tags:
|
||||
- parameters.doc_type
|
||||
risk_score: 72
|
||||
security_domain: endpoint
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
confidence: 70
|
||||
context:
|
||||
- Source:Endpoint
|
||||
@@ -41,6 +41,7 @@ tags:
|
||||
message: suspicious email from $source.address$ to $destination{}.address$
|
||||
mitre_attack_id:
|
||||
- T1566.001
|
||||
- T1566
|
||||
observable:
|
||||
- name: source.address
|
||||
type: User
|
||||
|
||||
@@ -35,7 +35,7 @@ references:
|
||||
- https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/rpt-top-spear-phishing-words.pdf
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
automated_detection_testing: passed
|
||||
confidence: 50
|
||||
context:
|
||||
@@ -49,6 +49,7 @@ tags:
|
||||
message: suspicious email from $source.address$ to $destination{}.address$
|
||||
mitre_attack_id:
|
||||
- T1566.001
|
||||
- T1566
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
|
||||
@@ -26,7 +26,7 @@ references:
|
||||
- https://news.sophos.com/en-us/2021/07/22/malware-increasingly-targets-discord-for-abuse/
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
automated_detection_testing: passed
|
||||
confidence: 50
|
||||
context:
|
||||
@@ -40,6 +40,7 @@ tags:
|
||||
message: suspicious email from $source.address$ to $destination{}.address$
|
||||
mitre_attack_id:
|
||||
- T1566.001
|
||||
- T1566
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
|
||||
@@ -27,7 +27,7 @@ references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
confidence: 30
|
||||
context:
|
||||
- Source:Endpoint
|
||||
@@ -40,6 +40,7 @@ tags:
|
||||
message: suspicious email from $source.address$ to $destination{}.address$
|
||||
mitre_attack_id:
|
||||
- T1048.003
|
||||
- T1048
|
||||
observable:
|
||||
- name: source.address
|
||||
type: User
|
||||
|
||||
@@ -24,7 +24,7 @@ search: '`gsuite_drive` parameters.owner_is_team_drive=false "parameters.doc_tit
|
||||
| `gsuite_suspicious_shared_file_name_filter`'
|
||||
how_to_implement: To successfully implement this search, you need to be ingesting
|
||||
logs related to gsuite having the file attachment metadata like file type, file
|
||||
extension, source email, destination email, num of attachment and etc.
|
||||
extension, source email, destination email, num of attachment and etc. In order for the search to work for your environment, please edit the query to use your company specific email domain instead of `internal_test_email.com`.
|
||||
known_false_positives: normal user or normal transaction may contain the subject and
|
||||
file type attachment that this detection try to search
|
||||
references:
|
||||
@@ -32,7 +32,7 @@ references:
|
||||
- https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/rpt-top-spear-phishing-words.pdf
|
||||
tags:
|
||||
analytic_story:
|
||||
- DevSecOps
|
||||
- Dev Sec Ops
|
||||
automated_detection_testing: passed
|
||||
confidence: 70
|
||||
context:
|
||||
@@ -46,6 +46,7 @@ tags:
|
||||
message: suspicious share gdrive from $parameters.owner$ to $email$ namely as $parameters.doc_title$
|
||||
mitre_attack_id:
|
||||
- T1566.001
|
||||
- T1566
|
||||
observable:
|
||||
- name: parameters.owner
|
||||
type: User
|
||||
|
||||
@@ -41,6 +41,7 @@ tags:
|
||||
Address $ActorIpAddress$
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
observable:
|
||||
- name: ActorIpAddress
|
||||
type: IP Address
|
||||
|
||||
@@ -44,6 +44,7 @@ tags:
|
||||
service principal credentials from IP Address $ActorIpAddress$
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
observable:
|
||||
- name: ActorIpAddress
|
||||
type: IP Address
|
||||
|
||||
@@ -45,6 +45,7 @@ tags:
|
||||
list of trusted IPs to bypass MFA
|
||||
mitre_attack_id:
|
||||
- T1562.007
|
||||
- T1562
|
||||
observable:
|
||||
- name: ip_addresses_new_added
|
||||
type: IP Address
|
||||
|
||||
@@ -44,6 +44,7 @@ tags:
|
||||
$OrganizationName$
|
||||
mitre_attack_id:
|
||||
- T1136.003
|
||||
- T1136
|
||||
observable:
|
||||
- name: OrganizationName
|
||||
type: Other
|
||||
|
||||
@@ -39,6 +39,7 @@ tags:
|
||||
the same destination $ForwardingAddress$
|
||||
mitre_attack_id:
|
||||
- T1114.003
|
||||
- T1114
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.AE
|
||||
|
||||
@@ -38,6 +38,7 @@ tags:
|
||||
that allow access to sensitive
|
||||
mitre_attack_id:
|
||||
- T1114.002
|
||||
- T1114
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.AE
|
||||
|
||||
@@ -39,6 +39,7 @@ tags:
|
||||
a forwarding rule to same destination $ForwardingSmtpAddress$
|
||||
mitre_attack_id:
|
||||
- T1114.003
|
||||
- T1114
|
||||
nist:
|
||||
- DE.DP
|
||||
- DE.AE
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
name: Active Setup Registry Autostart
|
||||
id: f64579c0-203f-11ec-abcc-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-28'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious modification of the active setup
|
||||
registry for persistence and privilege escalation. This technique was seen in several
|
||||
malware (poisonIvy), adware and APT to gain persistence to the compromised machine
|
||||
upon boot up. This TTP is a good indicator to further check the process id that
|
||||
do the modification since modification of this registry is not commonly done. check
|
||||
the legitimacy of the file and process involve in this rules to check if it is a
|
||||
valid setup installer that creating or modifying this registry.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_value_name
|
||||
= "StubPath" Registry.registry_key_name = "*\\SOFTWARE\\Microsoft\\Active Setup\\Installed
|
||||
Components*" by Registry.dest Registry.user Registry.registry_path Registry.registry_key_name
|
||||
Registry.registry_value_name | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)`
|
||||
| `drop_dm_object_name(Registry)` | `active_setup_registry_autostart_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting
|
||||
data that records registry activity from your hosts to populate the endpoint data
|
||||
model in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: Active setup installer may add or modify this registry.
|
||||
references:
|
||||
- https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?Name=Backdoor%3aWin32%2fPoisonivy.E
|
||||
- https://attack.mitre.org/techniques/T1547/014/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/t1547.014/active_setup_stubpath/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1547.014
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 80
|
||||
risk_score: 64
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,67 @@
|
||||
name: Change Default File Association
|
||||
id: 462d17d8-1f71-11ec-ad07-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-27'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is developed to detect suspicious registry modification
|
||||
to change the default file association of windows to malicious payload. This techninique
|
||||
was seen in some APT where it modify the default process to run file association,
|
||||
like .txt to notepad.exe. Instead notepad.exe it will point to a Script or other
|
||||
payload that will load malicious command to the compromised host.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path
|
||||
="*\\shell\\open\\command\\*" Registry.registry_path = "*HKCR\\*" by Registry.dest Registry.user
|
||||
Registry.registry_path Registry.registry_key_name Registry.registry_value_name |
|
||||
`security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)`
|
||||
| `change_default_file_association_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://dmcxblue.gitbook.io/red-team-notes-2-0/red-team-techniques/privilege-escalation/untitled-3/accessibility-features
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.001/txtfile_reg/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1546.001
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,65 @@
|
||||
name: Disable Security Logs Using MiniNt Registry
|
||||
id: 39ebdc68-25b9-11ec-aec7-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious registry modification to disable
|
||||
security audit logs. This technique was shared by a researcher to disable Security
|
||||
logs of windows by adding this registry. The Windows will think it is WinPE and
|
||||
will not log any event to the Security Log
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path="*\\Control\\MiniNt\\*"
|
||||
by Registry.dest Registry.user Registry.registry_value_name Registry.registry_key_name
|
||||
Registry.registry_path Registry.registry_value_data | `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)` | `disable_security_logs_using_minint_registry_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting
|
||||
data that records registry activity from your hosts to populate the endpoint data
|
||||
model in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: Unknown.
|
||||
references:
|
||||
- https://twitter.com/0gtweet/status/1182516740955226112
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Defense Evasion Tactics
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/minint_reg/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1112
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_value_name
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_path
|
||||
- Registry.registry_value_data
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Defense Evasion
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,69 @@
|
||||
name: Disable UAC Remote Restriction
|
||||
id: 9928b732-210e-11ec-b65e-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-29'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious modification of registry to disable
|
||||
UAC remote restriction. This technique was well documented in Microsoft page where
|
||||
attacker may modify this registry value to bypassed UAC feature of windows host.
|
||||
This is a good indicator that some tries to bypassed UAC to suspicious process or
|
||||
gain privilege escalation.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path
|
||||
="*\\CurrentVersion\\Policies\\System*" Registry.registry_value_name="LocalAccountTokenFilterPolicy"
|
||||
Registry.registry_value_data="0x00000001" by Registry.dest Registry.user Registry.registry_path
|
||||
Registry.registry_key_name Registry.registry_value_name Registry.registry_value_data
|
||||
| `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)`
|
||||
| `disable_uac_remote_restriction_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: admin may set this policy for non-critical machine.
|
||||
references:
|
||||
- https://docs.microsoft.com/en-us/troubleshoot/windows-server/windows-security/user-account-control-and-remote-restriction
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Defense Evasion Tactics
|
||||
- Suspicious Windows Registry Activities
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.002/LocalAccountTokenFilterPolicy/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1548.002
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
- Registry.registry_value_data
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Enable WDigest UseLogonCredential Registry
|
||||
id: 0c7d8ffe-25b1-11ec-9f39-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious registry modification to enable
|
||||
plain text credential feature of windows. This technique was used by several malware
|
||||
and also by mimikatz to be able to dumpe the a plain text credential to the compromised
|
||||
or target host. This TTP is really a good indicator that someone wants to dump the
|
||||
crendential of the host so it must be a good pivot for credential dumping techniques.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path="*\\System\\CurrentControlSet\\Control\\SecurityProviders\\WDigest\\*"
|
||||
Registry.registry_value_name = "UseLogonCredential" Registry.registry_value_data
|
||||
= 0x00000001 by Registry.dest Registry.user Registry.registry_value_name Registry.registry_key_name
|
||||
Registry.registry_path Registry.registry_value_data | `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)` | `enable_wdigest_uselogoncredential_registry_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting
|
||||
data that records registry activity from your hosts to populate the endpoint data
|
||||
model in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://www.csoonline.com/article/3438824/how-to-detect-and-halt-credential-theft-via-windows-wdigest.html
|
||||
tags:
|
||||
analytic_story:
|
||||
- Credential Dumping
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/wdigest_enable/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1112
|
||||
- T1003
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_value_name
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_path
|
||||
- Registry.registry_value_data
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Credential Access
|
||||
message: wdigest registry $registry_path$ was modified in $dest$
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,67 @@
|
||||
name: ETW Registry Disabled
|
||||
id: 8ed523ac-276b-11ec-ac39-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-07'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a registry modification to disable ETW feature
|
||||
of windows. This technique is to evade EDR appliance to evade detections and hide
|
||||
its execution from audit logs.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where (Registry.registry_path="*\\SOFTWARE\\Microsoft\\.NETFramework*")
|
||||
Registry.registry_value_name = ETWEnabled Registry.registry_value_data=0x00000000
|
||||
by Registry.dest Registry.user Registry.registry_path Registry.registry_key_name
|
||||
Registry.registry_value_name Registry.registry_value_data | `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)` | `etw_registry_disabled_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting
|
||||
data that records registry activity from your hosts to populate the endpoint data
|
||||
model in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://gist.github.com/Cyb3rWard0g/a4a115fd3ab518a0e593525a379adee3
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1127/etw_disable/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1562.006
|
||||
- T1127
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
- Registry.registry_value_data
|
||||
security_domain: endpoint
|
||||
impact: 90
|
||||
confidence: 100
|
||||
risk_score: 90
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,65 @@
|
||||
name: Logon Script Event Trigger Execution
|
||||
id: 4c38c264-1f74-11ec-b5fa-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-27'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This search is to detect a suspicious modification of registry entry
|
||||
to persist and gain privilege escalation upon booting up of compromised host. This
|
||||
technique was seen in several APT and malware where it modify UserInitMprLogonScript
|
||||
registry entry to its malicious payload to be executed upon boot up of the machine.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path
|
||||
IN ("*\\Environment\\UserInitMprLogonScript") by Registry.dest Registry.user Registry.registry_path
|
||||
Registry.registry_key_name Registry.registry_value_name | `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)` | `logon_script_event_trigger_execution_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1037/001
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1037.001/logonscript_reg/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1037.001
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,86 @@
|
||||
name: Malicious InProcServer32 Modification
|
||||
id: 127c8d08-25ff-11ec-9223-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Michael Haag, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: The following analytic identifies a process modifying the registry with
|
||||
a known malicious CLSID under InProcServer32. Most COM classes are registered with
|
||||
the operating system and are identified by a GUID that represents the Class Identifier
|
||||
(CLSID) within the registry (usually under HKLM\\Software\\Classes\\CLSID or HKCU\\Software\\Classes\\CLSID). Behind
|
||||
the implementation of a COM class is the server (some binary) that is referenced
|
||||
within registry keys under the CLSID. The LocalServer32 key represents a path to
|
||||
an executable (exe) implementation, and the InprocServer32 key represents a path
|
||||
to a dynamic link library (DLL) implementation (Bohops). During triage, review parallel
|
||||
processes for suspicious activity. Pivot on the process GUID to see the full timeline
|
||||
of events. Analyze the value and look for file modifications. Being this is looking
|
||||
for inprocserver32, a DLL found in the value will most likely be loaded by a parallel
|
||||
process.
|
||||
search: '| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes
|
||||
by _time Processes.process_id Processes.process_name Processes.dest Processes.process_guid
|
||||
Processes.user | `drop_dm_object_name(Processes)` | join process_guid [| tstats
|
||||
`security_content_summariesonly` count FROM datamodel=Endpoint.Registry where Registry.registry_path=
|
||||
"*\\CLSID\\{89565275-A714-4a43-912E-978B935EDCCC}\\InProcServer32\\(Default)" by
|
||||
Registry.registry_path Registry.registry_key_name Registry.registry_value_name Registry.dest
|
||||
Registry.process_guid Registry.user | `drop_dm_object_name(Registry)` | fields _time
|
||||
dest registry_path registry_key_name registry_value_name process_name process_path
|
||||
process process_guid user] | stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by dest, process_name registry_path registry_key_name registry_value_name user |
|
||||
`security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `malicious_inprocserver32_modification_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. In addition,
|
||||
confirm the latest CIM App 4.20 or higher is installed and the latest TA for the
|
||||
endpoint product.
|
||||
known_false_positives: False positives should be limited, filter as needed. In our
|
||||
test case, Remcos used regsvr32.exe to modify the registry. It may be required,
|
||||
dependent upon the EDR tool producing registry events, to remove (Default) from
|
||||
the command-line.
|
||||
references:
|
||||
- https://bohops.com/2018/06/28/abusing-com-registry-structure-clsid-localserver32-inprocserver32/
|
||||
- https://tria.ge/210929-ap75vsddan
|
||||
- https://www.virustotal.com/gui/file/cb77b93150cb0f7fe65ce8a7e2a5781e727419451355a7736db84109fa215a89
|
||||
tags:
|
||||
analytic_story:
|
||||
- Suspicious Regsvr32 Activity
|
||||
- Remcos
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1218.010
|
||||
- T1112
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- dest
|
||||
- process_name
|
||||
- registry_path
|
||||
- registry_key_name
|
||||
- registry_value_name
|
||||
- user
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Defense Evasion
|
||||
message: The $process_name$ was identified on endpoint $dest$ modifying the registry
|
||||
with a known malicious clsid under InProcServer32.
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,65 @@
|
||||
name: MSBuild Suspicious Spawned By Script Process
|
||||
id: 213b3148-24ea-11ec-93a2-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-04'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious child process of MSBuild
|
||||
spawned by Windows Script Host - cscript or wscript.
|
||||
This behavior or event are commonly seen and used by malware or adversaries
|
||||
to execute malicious msbuild process using malicious script in the compromised host.
|
||||
During triage, review parallel processes and identify any file modifications. MSBuild
|
||||
may load a script from the same path without having command-line arguments.
|
||||
search: '| tstats `security_content_summariesonly` count values(Processes.process_name)
|
||||
as process_name values(Processes.process) as process min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name
|
||||
IN ("wscript.exe", "cscript.exe") AND `process_msbuild` by Processes.dest Processes.parent_process
|
||||
Processes.parent_process_name Processes.process_name Processes.original_file_name
|
||||
Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)` | `msbuild_suspicious_spawned_by_script_process_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: False positives should be limited as developers do not spawn MSBuild via a WSH.
|
||||
references:
|
||||
- https://app.any.run/tasks/dc93ee63-050c-4ff8-b07e-8277af9ab939/#
|
||||
tags:
|
||||
analytic_story:
|
||||
- Trusted Developer Utilities Proxy Execution MSBuild
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1127.001/regsvr32_silent/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1127.001
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.parent_process
|
||||
- Processes.parent_process_name
|
||||
- Processes.process_name
|
||||
- Processes.original_file_name
|
||||
- Processes.user
|
||||
security_domain: endpoint
|
||||
impact: 70
|
||||
confidence: 70
|
||||
risk_score: 49
|
||||
context:
|
||||
- Stage:Execution
|
||||
- Stage:Defense Evasion
|
||||
message: Msbuild.exe process spawned by $parent_process_name$ on $dest$ executed
|
||||
by $user$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: User
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,86 @@
|
||||
name: Process Writing DynamicWrapperX
|
||||
id: b0a078e4-2601-11ec-9aec-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Michael Haag, Splunk
|
||||
type: Hunting
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: DynamicWrapperX is an ActiveX component that can be used in a script
|
||||
to call Windows API functions, but it requires the dynwrapx.dll to be installed
|
||||
and registered. With that, a binary writing dynwrapx.dll to disk and registering
|
||||
it into the registry is highly suspect. Why is it needed? In most malicious instances,
|
||||
it will be written to disk at a non-standard location. During triage, review parallel
|
||||
processes and pivot on the process_guid. Review the registry for any suspicious
|
||||
modifications meant to load dynwrapx.dll. Identify any suspicious module loads of
|
||||
dynwrapx.dll. This will identify the process that will invoke vbs/wscript/cscript.
|
||||
search: '| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes
|
||||
by _time Processes.process_id Processes.process_name Processes.dest Processes.process_guid
|
||||
Processes.user | `drop_dm_object_name(Processes)` | join process_guid [| tstats
|
||||
`security_content_summariesonly` count FROM datamodel=Endpoint.Filesystem where
|
||||
Filesystem.file_name="dynwrapx.dll" by _time Filesystem.dest Filesystem.file_create_time
|
||||
Filesystem.file_name Filesystem.file_path Filesystem.process_guid Filesystem.user
|
||||
| `drop_dm_object_name(Filesystem)` | fields _time process_guid file_path file_name
|
||||
file_create_time user dest process_name] | stats count min(_time) as firstTime max(_time)
|
||||
as lastTime by dest process_name process_guid file_name file_path file_create_time
|
||||
user | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `process_writing_dynamicwrapperx_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` and `Filesystem`
|
||||
node. In addition, confirm the latest CIM App 4.20 or higher is installed and the
|
||||
latest TA for the endpoint product.
|
||||
known_false_positives: False positives should be limited, however it is possible to
|
||||
filter by Processes.process_name and specific processes (ex. wscript.exe). Filter
|
||||
as needed. This may need modification based on EDR telemetry and how it brings in registry data. For example, removal of (Default).
|
||||
references:
|
||||
- https://blog.f-secure.com/hunting-for-koadic-a-com-based-rootkit/
|
||||
- https://www.script-coding.com/dynwrapx_eng.html
|
||||
- https://bohops.com/2018/06/28/abusing-com-registry-structure-clsid-localserver32-inprocserver32/
|
||||
- https://tria.ge/210929-ap75vsddan
|
||||
- https://www.virustotal.com/gui/file/cb77b93150cb0f7fe65ce8a7e2a5781e727419451355a7736db84109fa215a89
|
||||
tags:
|
||||
analytic_story:
|
||||
- Remcos
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1059
|
||||
- T1559.001
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- dest
|
||||
- process_name
|
||||
- process_guid
|
||||
- file_name
|
||||
- file_path
|
||||
- file_create_time user
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Defense Evasion
|
||||
message: An instance of $process_name$ was identified on endpoint $dest$ downloading
|
||||
the DynamicWrapperX dll.
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
automated_detection_testing: passed
|
||||
@@ -11,7 +11,8 @@ description: The search looks for modifications to registry keys that can be use
|
||||
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=*\\currentversion\\run*
|
||||
OR Registry.registry_path=*\\currentVersion\\Windows\\Appinit_Dlls* OR Registry.registry_path=*\\CurrentVersion\\Winlogon\\Shell*
|
||||
OR Registry.registry_path=*\\currentVersion\\Windows\\Appinit_Dlls* OR Registry.registry_path=*\\CurrentVersion\\Winlogon\\Shell*
|
||||
OR Registry.registry_path=*\\CurrentVersion\\Winlogon\\Notify*
|
||||
OR Registry.registry_path=*\\CurrentVersion\\Winlogon\\Userinit* OR Registry.registry_path=*\\CurrentVersion\\Winlogon\\VmApplet*
|
||||
OR Registry.registry_path=*\\currentversion\\policies\\explorer\\run* OR Registry.registry_path=*\\currentversion\\runservices*
|
||||
OR Registry.registry_path=HKLM\\SOFTWARE\\Microsoft\\Netsh\\* OR (Registry.registry_path="*Microsoft\\Windows
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
name: Regsvr32 Silent Param Dll Loading
|
||||
id: f421c250-24e7-11ec-bc43-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-04'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a loading of dll using regsvr32 application
|
||||
with silent parameter and dllinstall execution. This technique was seen in several
|
||||
RAT malware like remcos, njrat and APT's to load their malicious dll in the compromised
|
||||
machine. This TTP may executed by normal 3rd party application so it is better to
|
||||
pivot the parent process, parent commandline and commandline of the file that execute
|
||||
this regsvr32.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where Processes.process_name = regsvr32.exe
|
||||
Processes.process="*/i*" Processes.process="*/s*" by Processes.dest Processes.parent_process
|
||||
Processes.process Processes.parent_process_name Processes.process_name Processes.original_file_name
|
||||
Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)` | `regsvr32_silent_param_dll_loading_filter`'
|
||||
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.
|
||||
known_false_positives: Other third part application may used this parameter but not
|
||||
so common in base windows environment.
|
||||
references:
|
||||
- https://app.any.run/tasks/dc93ee63-050c-4ff8-b07e-8277af9ab939/#
|
||||
- https://attack.mitre.org/techniques/T1218/010/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Suspicious Regsvr32 Activity
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1218.010
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name
|
||||
- Processes.parent_process
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name
|
||||
- Processes.process
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 60
|
||||
confidence: 60
|
||||
risk_score: 36
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Defense Evasion
|
||||
message: regsvr32 process with $process$ commandline in $dest$
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,67 @@
|
||||
name: Rundll32 Shimcache Flush
|
||||
id: a913718a-25b6-11ec-96d3-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious rundll32 commandline to clear
|
||||
shim cache. This technique is a anti-forensic technique to clear the cache taht
|
||||
are one important artifacts in terms of digital forensic during attacks or incident.
|
||||
This TTP is a good indicator that someone tries to evade some tools and clear foothold
|
||||
on the machine.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where `process_rundll32` AND Processes.process
|
||||
= "*apphelp.dll,ShimFlushCache*" by Processes.dest Processes.user Processes.parent_process_name
|
||||
Processes.process_name Processes.process Processes.process_id Processes.parent_process_id Processes.original_file_name
|
||||
| `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `rundll32_shimcache_flush_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://blueteamops.medium.com/shimcache-flush-89daff28d15e
|
||||
tags:
|
||||
analytic_story:
|
||||
- Unusual Processes
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/shimcache_flush/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1112
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Stage:Execution
|
||||
- Stage:Defense Evasion
|
||||
message: rundll32 process execute $process$ to clear shim cache in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: User
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Screensaver Event Trigger Execution
|
||||
id: 58cea3ec-1f6d-11ec-8560-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-27'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is developed to detect possible event trigger execution
|
||||
through screensaver registry entry modification for persistence or privilege escalation.
|
||||
This technique was seen in several APT and malware where they put the malicious
|
||||
payload path to the SCRNSAVE.EXE registry key to redirect the execution to their
|
||||
malicious payload path. This TTP is a good indicator that some attacker may modify
|
||||
this entry for their persistence and privilege escalation.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where (Registry.registry_path="*\\Control
|
||||
Panel\\Desktop\\SCRNSAVE.EXE*") by Registry.dest Registry.user Registry.registry_path
|
||||
Registry.registry_key_name Registry.registry_value_name | `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)` | `screensaver_event_trigger_execution_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1546/002/
|
||||
- https://dmcxblue.gitbook.io/red-team-notes-2-0/red-team-techniques/privilege-escalation/untitled-3/screensaver
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.002/scrnsave_reg/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1546.002
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 90
|
||||
risk_score: 72
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,70 @@
|
||||
name: Sdelete Application Execution
|
||||
id: 31702fc0-2682-11ec-85c3-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect the execution of sdelete.exe application sysinternal
|
||||
tools. This tool is one of the most use tool of malware and adversaries to remove
|
||||
or clear their tracks and artifact in the targetted host. This tool is designed
|
||||
to delete securely a file in file system that remove the forensic evidence on the
|
||||
machine. A good TTP query to check why user execute this application which is not
|
||||
a common practice.
|
||||
search: '| tstats `security_content_summariesonly` values(Processes.process) as process
|
||||
values(Processes.parent_process) as parent_process values(Processes.process_id)
|
||||
as process_id count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes
|
||||
where `process_sdelete` by Processes.process_name Processes.original_file_name
|
||||
Processes.dest Processes.user Processes.parent_process_name Processes.parent_process
|
||||
| `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `sdelete_application_execution_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: user may execute and use this application
|
||||
references:
|
||||
- https://app.any.run/tasks/956f50be-2c13-465a-ac00-6224c14c5f89/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Masquerading - Rename System Utilities
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1485/sdelete/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1485
|
||||
- T1070.004
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 70
|
||||
confidence: 70
|
||||
risk_score: 49
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Execution
|
||||
message: sdelete process $process_name$ executed in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Suspicious Copy on System32
|
||||
id: ce633e56-25b2-11ec-9e76-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious copy of file from systemroot
|
||||
folder of the windows OS. This technique is commonly used by APT or other malware
|
||||
as part of execution (LOLBIN) to run its malicious code using the available legitimate
|
||||
tool in OS. this type of event may seen or may execute of normal user in some instance
|
||||
but this is really a anomaly that needs to be check within the network.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name
|
||||
IN("cmd.exe", "powershell*","pwsh.exe", "sqlps.exe", "sqltoolsps.exe", "powershell_ise.exe") AND `process_copy` AND Processes.process IN("*\\Windows\\System32\*",
|
||||
"*\\Windows\\SysWow64\\*") AND Processes.process = "*copy*" by Processes.dest Processes.user
|
||||
Processes.parent_process_name 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)`| `suspicious_copy_on_system32_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: every user may do this event but very un-ussual.
|
||||
references:
|
||||
- https://www.hybrid-analysis.com/sample/8da5b75b6380a41eee3a399c43dfe0d99eeefaa1fd21027a07b1ecaa4cd96fdd?environmentId=120
|
||||
tags:
|
||||
analytic_story:
|
||||
- Unusual Processes
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1036.003/copy_sysmon/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1036.003
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 70
|
||||
confidence: 90
|
||||
risk_score: 63
|
||||
context:
|
||||
- Stage:Execution
|
||||
- Stage:Defense Evasion
|
||||
message: execution of copy exe to copy file from $process$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: User
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -1,18 +1,18 @@
|
||||
name: Suspicious wevtutil Usage
|
||||
id: 2827c0fd-e1be-4868-ae25-59d28e0f9d4f
|
||||
version: 3
|
||||
date: '2020-07-22'
|
||||
author: David Dorsey, Splunk
|
||||
version: 4
|
||||
date: '2021-10-11'
|
||||
author: David Dorsey, Michael Haag, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: The wevtutil.exe application is the windows event log utility. This searches
|
||||
for wevtutil.exe with parameters for clearing the application, security, setup,
|
||||
for wevtutil.exe with parameters for clearing the application, security, setup, trace
|
||||
or system event logs.
|
||||
search: '| tstats `security_content_summariesonly` values(Processes.process) as process
|
||||
min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes
|
||||
where Processes.process_name = wevtutil.exe Processes.process="*cl*" (Processes.process="*System*"
|
||||
OR Processes.process="*Security*" OR Processes.process="*Setup*" OR Processes.process="*Application*")
|
||||
where Processes.process_name=wevtutil.exe Processes.process IN ("* cl *", "*clear-log*") (Processes.process="*System*"
|
||||
OR Processes.process="*Security*" OR Processes.process="*Setup*" OR Processes.process="*Application*" OR Processes.process="*trace*")
|
||||
by Processes.process_name Processes.parent_process_name Processes.dest Processes.user|
|
||||
`drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` |`security_content_ctime(lastTime)`
|
||||
| `suspicious_wevtutil_usage_filter`'
|
||||
@@ -23,13 +23,13 @@ how_to_implement: You must be ingesting data that records process activity from
|
||||
model.
|
||||
known_false_positives: The wevtutil.exe application is a legitimate Windows event
|
||||
log utility. Administrators may use it to manage Windows event logs.
|
||||
references: []
|
||||
references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1070.001/T1070.001.md
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Log Manipulation
|
||||
- Ransomware
|
||||
- Clop Ransomware
|
||||
asset_type: ''
|
||||
automated_detection_testing: passed
|
||||
cis20:
|
||||
- CIS 3
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Time Provider Persistence Registry
|
||||
id: 5ba382c4-2105-11ec-8d8f-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-29'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspiciouos modification of time provider
|
||||
registry for persistence and autostart. This technique can allow the attacker to
|
||||
persist on the compromised host and autostart as soon as the machine boot up. This
|
||||
TTP can be a good indicator of suspicious behavior since this registry is not commonly
|
||||
modified by normal user or even an admin.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry where Registry.registry_path
|
||||
="*\\CurrentControlSet\\Services\\W32Time\\TimeProviders*" by Registry.dest Registry.user
|
||||
Registry.registry_path Registry.registry_key_name Registry.registry_value_name |
|
||||
`security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `drop_dm_object_name(Registry)`
|
||||
| `time_provider_persistence_registry_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://pentestlab.blog/2019/10/22/persistence-time-providers/
|
||||
- https://attack.mitre.org/techniques/T1547/003/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1547.003/timeprovider_reg/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1547.003
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,69 @@
|
||||
name: Vbscript Execution Using Wscript App
|
||||
id: 35159940-228f-11ec-8a49-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-01'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious wscript commandline to execute
|
||||
vbscript. This technique was seen in several malware to execute malicious vbs file
|
||||
using wscript application. commonly vbs script is associated to cscript process
|
||||
and this can be a technique to evade process parent child detections or even some
|
||||
av script emulation system.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where (Processes.parent_process_name
|
||||
= "wscript.exe" AND Processes.parent_process = "*//e:vbscript*") OR (Processes.process_name
|
||||
= "wscript.exe" AND Processes.process = "*//e:vbscript*") by Processes.parent_process_name
|
||||
Processes.parent_process Processes.process_name Processes.process_id Processes.process
|
||||
Processes.dest Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)` | `vbscript_execution_using_wscript_app_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: unknown
|
||||
references:
|
||||
- https://www.joesandbox.com/analysis/369332/0/html
|
||||
tags:
|
||||
analytic_story:
|
||||
- FIN7
|
||||
- Remcos
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1059.005
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 70
|
||||
confidence: 70
|
||||
risk_score: 49
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Execution
|
||||
message: Process name $process_name$ with commandline $process$ to execute vbsscript
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,72 @@
|
||||
name: Verclsid CLSID Execution
|
||||
id: 61e9a56a-20fa-11ec-8ba3-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-29'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: Hunting
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a possible abuse of verclsid to execute malicious
|
||||
file through generate CLSID. This process is a normal application of windows to
|
||||
verify the CLSID COM object before it is instantiated by Windows Explorer. This
|
||||
hunting query can be a good pivot point to analyze what is he CLSID or COM object
|
||||
pointing too to check if it is a valid application or not.
|
||||
search: '| tstats `security_content_summariesonly` values(Processes.process) as process
|
||||
values(Processes.parent_process) as parent_process values(Processes.process_id)
|
||||
as process_id count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes
|
||||
where `process_verclsid` AND Processes.process="*/S*" Processes.process="*/C*" AND Processes.process="*{*"
|
||||
AND Processes.process="*}*" by Processes.process_name Processes.original_file_name
|
||||
Processes.dest Processes.user Processes.parent_process_name Processes.parent_process
|
||||
| `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
||||
| `verclsid_clsid_execution_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. In addition, confirm the latest CIM App 4.20 or higher is installed and the latest TA for the endpoint product.
|
||||
known_false_positives: windows can used this application for its normal COM object
|
||||
validation.
|
||||
references:
|
||||
- https://gist.github.com/NickTyrer/0598b60112eaafe6d07789f7964290d5
|
||||
- https://bohops.com/2018/08/18/abusing-the-com-registry-structure-part-2-loading-techniques-for-evasion-and-persistence/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Unusual Processes
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1218.012/verclsid_exec/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1218.012
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 50
|
||||
confidence: 50
|
||||
risk_score: 25
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Defense Evasion
|
||||
message: process $process_name$ to execute possible clsid commandline $process$
|
||||
in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,88 @@
|
||||
name: Winhlp32 Spawning a Process
|
||||
id: d17dae9e-2618-11ec-b9f5-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-05'
|
||||
author: Michael Haag, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: The following analytic identifies winhlp32.exe, found natively in `c:\windows\`,
|
||||
spawning a child process that loads a file out of appdata, programdata, or temp.
|
||||
Winhlp32.exe has a rocky past in that multiple vulnerabilities were found and added
|
||||
to MetaSploit. WinHlp32.exe is required to display 32-bit Help files that have the
|
||||
".hlp" file name extension. This particular instance is related to a Remcos sample
|
||||
where dynwrapx.dll is added to the registry under inprocserver32, and later module
|
||||
loaded by winhlp32.exe to spawn wscript.exe and load a vbs or file from disk. During
|
||||
triage, review parallel processes to identify further suspicious behavior. Review
|
||||
module loads for unsuspecting unsigned modules. Capture any file modifications and
|
||||
analyze.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=winhlp32.exe
|
||||
Processes.process IN ("*\\appdata\\*","*\\programdata\\*", "*\\temp\\*") by Processes.dest
|
||||
Processes.user Processes.parent_process_name Processes.process_name Processes.original_file_name
|
||||
Processes.process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)`
|
||||
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `winhlp32_spawning_a_process_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. In addition,
|
||||
confirm the latest CIM App 4.20 or higher is installed and the latest TA for the
|
||||
endpoint product.
|
||||
known_false_positives: False positives should be limited as winhlp32.exe is typically
|
||||
not used with the latest flavors of Windows OS. However, filter as needed.
|
||||
references:
|
||||
- https://www.exploit-db.com/exploits/16541
|
||||
- https://tria.ge/210929-ap75vsddan
|
||||
- https://www.virustotal.com/gui/file/cb77b93150cb0f7fe65ce8a7e2a5781e727419451355a7736db84109fa215a89
|
||||
tags:
|
||||
analytic_story:
|
||||
- Remcos
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1055
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name
|
||||
- Processes.parent_process
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name
|
||||
- Processes.process
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
risk_score: 80
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Defense Evasion
|
||||
message: An instance of $parent_process_name$ spawning $process_name$ was identified
|
||||
on endpoint $dest$, and is not typical activity for this process.
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Parent Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,78 @@
|
||||
name: Wscript Or Cscript Suspicious Child Process
|
||||
id: 1f35e1da-267b-11ec-90a9-acde48001122
|
||||
version: 1
|
||||
date: '2021-10-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious spawned process by wscript or
|
||||
cscript process. This technique was a common technique used by adversaries and malware
|
||||
to execute different LOLBIN, other script like powershell or create a suspended
|
||||
process to inject its code as a defense evasion. This TTP may detect some normal
|
||||
script that using several application tool that are in the list of the child process
|
||||
it detects but a good pivot and indicator that a script is may execute suspicious
|
||||
code.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
||||
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name
|
||||
IN ("cscript.exe", "wscript.exe") Processes.process_name IN ("regsvr32.exe", "rundll32.exe","winhlp32.exe","certutil.exe","msbuild.exe","cmd.exe","powershell*","wmic.exe","mshta.exe")
|
||||
by Processes.dest Processes.user Processes.parent_process_name 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)`
|
||||
| `wscript_or_cscript_suspicious_child_process_filter`'
|
||||
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.
|
||||
known_false_positives: user may create vbs or js script that use several tool as part
|
||||
of its execution.
|
||||
references:
|
||||
- https://www.hybrid-analysis.com/sample/8da5b75b6380a41eee3a399c43dfe0d99eeefaa1fd21027a07b1ecaa4cd96fdd?environmentId=120
|
||||
tags:
|
||||
analytic_story:
|
||||
- FIN7
|
||||
- Remcos
|
||||
- Unusual Processes
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1055
|
||||
- T1543
|
||||
- T1134.004
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name #parent process name
|
||||
- Processes.parent_process #parent cmdline
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name #process name
|
||||
- Processes.process #process cmdline
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
security_domain: endpoint
|
||||
impact: 70
|
||||
confidence: 70
|
||||
risk_score: 49
|
||||
context:
|
||||
- Source:Endpoint
|
||||
- Stage:Execution
|
||||
message: wscript or cscript parent process spawned $process_name$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
automated_detection_testing: passed
|
||||
@@ -0,0 +1,69 @@
|
||||
name: Print Processor Registry Autostart
|
||||
id: 1f5b68aa-2037-11ec-898e-acde48001122
|
||||
version: 1
|
||||
date: '2021-09-28'
|
||||
author: Teoderick Contreras, Splunk
|
||||
type: TTP
|
||||
datamodel:
|
||||
- Endpoint
|
||||
description: This analytic is to detect a suspicious modification or new registry entry regarding print processor.
|
||||
This registry is known to be abuse by turla or other APT to gain persistence and privilege escalation to the compromised machine.
|
||||
This is done by adding the malicious dll payload on the new created key in this registry that will be executed as it restarted the spoolsv.exe process and services.
|
||||
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
|
||||
max(_time) as lastTime FROM datamodel=Endpoint.Registry
|
||||
where Registry.registry_path ="*\\Control\\Print\\Environments\\Windows x64\\Print Processors*"
|
||||
by Registry.dest Registry.user Registry.registry_path Registry.registry_key_name Registry.registry_value_name
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `drop_dm_object_name(Registry)`
|
||||
| `print_processor_registry_autostart_filter`'
|
||||
how_to_implement: To successfully implement this search, you must be ingesting data
|
||||
that records registry activity from your hosts to populate the endpoint data model
|
||||
in the registry node. This is typically populated via endpoint detection-and-response
|
||||
product, such as Carbon Black or endpoint data sources, such as Sysmon. The data
|
||||
used for this search is typically generated via logs that report reads and writes
|
||||
to the registry.
|
||||
known_false_positives: possible new printer installation may add driver component on this registry.
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1547/012/
|
||||
- https://www.welivesecurity.com/2020/05/21/no-game-over-winnti-group/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Windows Persistence Techniques
|
||||
- Windows Privilege Escalation
|
||||
dataset:
|
||||
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1547.012/print_reg/sysmon_print.log
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
mitre_attack_id:
|
||||
- T1547.012
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
required_fields:
|
||||
- _time
|
||||
- Registry.dest
|
||||
- Registry.user
|
||||
- Registry.registry_path
|
||||
- Registry.registry_key_name
|
||||
- Registry.registry_value_name
|
||||
security_domain: endpoint
|
||||
impact: 80
|
||||
confidence: 100
|
||||
# (impact * confidence)/100
|
||||
risk_score: 80
|
||||
context:
|
||||
- source:endpoint
|
||||
- stage:Privilege Escalation Persistence
|
||||
message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$
|
||||
observable:
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: user
|
||||
type: user
|
||||
role:
|
||||
- Victim
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
definition: (Processes.process_name=copy.exe OR Processes.original_file_name=copy.exe OR Processes.process_name=xcopy.exe OR Processes.original_file_name=xcopy.exe)
|
||||
description: Matches the process with its original file name, data for this macro came from https://strontic.github.io/
|
||||
name: process_copy
|
||||
@@ -0,0 +1,3 @@
|
||||
definition: (Processes.process_name=sdelete.exe OR Processes.original_file_name=sdelete.exe)
|
||||
description: Matches the process with its original file name, data for this macro came from https://strontic.github.io/
|
||||
name: process_sdelete
|
||||
@@ -0,0 +1,3 @@
|
||||
definition: (Processes.process_name=verclsid.exe OR Processes.original_file_name=verclsid.exe)
|
||||
description: Matches the process with its original file name, data for this macro came from https://strontic.github.io/
|
||||
name: process_verclsid
|
||||
@@ -14,7 +14,7 @@ narrative: DevSecOps is a collaborative framework, which thinks about applicatio
|
||||
references:
|
||||
- https://www.redhat.com/en/topics/devops/what-is-devsecops
|
||||
tags:
|
||||
analytic_story: DevSecOps
|
||||
analytic_story: Dev Sec Ops
|
||||
category:
|
||||
- Cloud Security
|
||||
product:
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Active Setup Registry Autostart Unit Test
|
||||
tests:
|
||||
- name: Active Setup Registry Autostart
|
||||
file: endpoint/active_setup_registry_autostart.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/t1547.014/active_setup_stubpath/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Change Default File Association Unit Test
|
||||
tests:
|
||||
- name: Change Default File Association
|
||||
file: endpoint/change_default_file_association.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.001/txtfile_reg/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Disable Security Logs Using MiniNt Registry Unit Test
|
||||
tests:
|
||||
- name: Disable Security Logs Using MiniNt Registry
|
||||
file: endpoint/disable_security_logs_using_minint_registry.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/minint_reg/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Disable UAC Remote Restriction Unit Test
|
||||
tests:
|
||||
- name: Disable UAC Remote Restriction
|
||||
file: endpoint/disable_uac_remote_restriction.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.002/LocalAccountTokenFilterPolicy/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Enable WDigest UseLogonCredential Registry Unit Test
|
||||
tests:
|
||||
- name: Enable WDigest UseLogonCredential Registry
|
||||
file: endpoint/enable_wdigest_uselogoncredential_registry.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/wdigest_enable/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: ETW Registry Disabled Unit Test
|
||||
tests:
|
||||
- name: ETW Registry Disabled
|
||||
file: endpoint/etw_registry_disabled.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1127/etw_disable/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Logon Script Event Trigger Execution Unit Test
|
||||
tests:
|
||||
- name: Logon Script Event Trigger Execution
|
||||
file: endpoint/logon_script_event_trigger_execution.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1037.001/logonscript_reg/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Malicious InProcServer32 Modification Unit Test
|
||||
tests:
|
||||
- name: Malicious InProcServer32 Modification
|
||||
file: endpoint/malicious_inprocserver32_modification.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: windows-sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: MSBuild Suspicious Spawned By Script Process Unit Test
|
||||
tests:
|
||||
- name: MSBuild Suspicious Spawned By Script Process
|
||||
file: endpoint/msbuild_suspicious_spawned_by_script_process.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1127.001/regsvr32_silent/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Print Processor Registry Autostart Unit Test
|
||||
tests:
|
||||
- name: Print Processor Registry Autostart
|
||||
file: experimental/endpoint/print_processor_registry_autostart.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-365d'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon_print.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1547.012/print_reg/sysmon_print.log
|
||||
source: WinEventLog:Microsoft-Windows-PrintService/Operational
|
||||
sourcetype: WinEventLog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Process Writing DynamicWrapperX Unit Test
|
||||
tests:
|
||||
- name: Process Writing DynamicWrapperX
|
||||
file: endpoint/process_writing_dynamicwrapperx.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: windows-sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Regsvr32 Silent Param Dll Loading Unit Test
|
||||
tests:
|
||||
- name: Regsvr32 Silent Param Dll Loading
|
||||
file: endpoint/regsvr32_silent_param_dll_loading.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Rundll32 Shimcache Flush Unit Test
|
||||
tests:
|
||||
- name: Rundll32 Shimcache Flush
|
||||
file: endpoint/rundll32_shimcache_flush.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/shimcache_flush/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Screensaver Event Trigger Execution Unit Test
|
||||
tests:
|
||||
- name: Manual datasets generation for Screensaver Event Trigger Execution.
|
||||
file: endpoint/screensaver_event_trigger_execution.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.002/scrnsave_reg/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Sdelete Application Execution Unit Test
|
||||
tests:
|
||||
- name: Sdelete Application Execution
|
||||
file: endpoint/sdelete_application_execution.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1485/sdelete/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Suspicious Copy on System32 Unit Test
|
||||
tests:
|
||||
- name: Suspicious Copy on System32
|
||||
file: endpoint/suspicious_copy_on_system32.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1036.003/copy_sysmon/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Time Provider Persistence Registry Unit Test
|
||||
tests:
|
||||
- name: Time Provider Persistence Registry
|
||||
file: endpoint/time_provider_persistence_registry.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1547.003/timeprovider_reg/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Vbscript Execution Using Wscript App Unit Test
|
||||
tests:
|
||||
- name: Vbscript Execution Using Wscript App
|
||||
file: endpoint/vbscript_execution_using_wscript_app.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Verclsid CLSID Execution Unit Test
|
||||
tests:
|
||||
- name: Verclsid CLSID Execution
|
||||
file: endpoint/verclsid_clsid_execution.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1218.012/verclsid_exec/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Winhlp32 Spawning a Process Unit Test
|
||||
tests:
|
||||
- name: Winhlp32 Spawning a Process
|
||||
file: endpoint/winhlp32_spawning_a_process.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: windows-sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/remcos/remcos/windows-sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Wscript Or Cscript Suspicious Child Process Unit Test
|
||||
tests:
|
||||
- name: Wscript Or Cscript Suspicious Child Process
|
||||
file: endpoint/wscript_or_cscript_suspicious_child_process.yml
|
||||
pass_condition: '| stats count | where count > 0'
|
||||
earliest_time: '-24h'
|
||||
latest_time: 'now'
|
||||
attack_data:
|
||||
- file_name: sysmon.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.005/vbs_wscript/sysmon.log
|
||||
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
|
||||
sourcetype: xmlwineventlog
|
||||
Reference in New Issue
Block a user