Skip to content

Commit 91e97c1

Browse files
authored
Merge branch 'develop' into shadow_single
2 parents 5158549 + ac5b667 commit 91e97c1

File tree

102 files changed

+4287
-3792
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+4287
-3792
lines changed
Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Disable Registry Tool
22
id: cd2cf33c-9201-11eb-a10a-acde48001122
3-
version: 11
4-
date: '2025-02-10'
3+
version: 12
4+
date: '2025-04-22'
55
author: Teoderick Contreras, Splunk, Steven Dick
66
status: production
77
type: TTP
8-
description: The following analytic detects modifications to the Windows registry
8+
description:
9+
The following analytic detects modifications to the Windows registry
910
aimed at disabling the Registry Editor (regedit). It leverages data from the Endpoint.Registry
1011
data model, specifically monitoring changes to the registry path "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DisableRegistryTools"
1112
with a value of "0x00000001". This activity is significant because malware, such
@@ -14,60 +15,63 @@ description: The following analytic detects modifications to the Windows registr
1415
could hinder incident response efforts and allow the attacker to maintain control
1516
over the compromised system.
1617
data_source:
17-
- Sysmon EventID 13
18-
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18+
- Sysmon EventID 13
19+
search:
20+
'| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
1921
as lastTime FROM datamodel=Endpoint.Registry WHERE (Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\\DisableRegistryTools"
2022
Registry.registry_value_data = "0x00000001") by Registry.action Registry.dest Registry.process_guid
2123
Registry.process_id Registry.registry_hive Registry.registry_path Registry.registry_key_name
2224
Registry.registry_value_data Registry.registry_value_name Registry.registry_value_type
2325
Registry.status Registry.user Registry.vendor_product | `drop_dm_object_name(Registry)`|
2426
where isnotnull(registry_value_data) | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
2527
| `disable_registry_tool_filter`'
26-
how_to_implement: To successfully implement this search, you need to be ingesting
28+
how_to_implement:
29+
To successfully implement this search, you need to be ingesting
2730
logs with the registry value name, registry path, and registry value data from your
2831
endpoints. If you are using Sysmon, you must have at least version 2.0 of the official
2932
Sysmon TA. https://splunkbase.splunk.com/app/5709
3033
known_false_positives: admin may disable this application for non technical user.
3134
references:
32-
- https://any.run/report/ea4ea08407d4ee72e009103a3b77e5a09412b722fdef67315ea63f22011152af/a866d7b1-c236-4f26-a391-5ae32213dfc4#registry
35+
- https://any.run/report/ea4ea08407d4ee72e009103a3b77e5a09412b722fdef67315ea63f22011152af/a866d7b1-c236-4f26-a391-5ae32213dfc4#registry
3336
drilldown_searches:
34-
- name: View the detection results for - "$dest$"
35-
search: '%original_detection_search% | search dest = "$dest$"'
36-
earliest_offset: $info_min_time$
37-
latest_offset: $info_max_time$
38-
- name: View risk events for the last 7 days for - "$dest$"
39-
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
40-
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
41-
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
42-
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
43-
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
44-
| `security_content_ctime(lastTime)`'
45-
earliest_offset: $info_min_time$
46-
latest_offset: $info_max_time$
37+
- name: View the detection results for - "$dest$"
38+
search: '%original_detection_search% | search dest = "$dest$"'
39+
earliest_offset: $info_min_time$
40+
latest_offset: $info_max_time$
41+
- name: View risk events for the last 7 days for - "$dest$"
42+
search:
43+
'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
44+
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
45+
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
46+
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
47+
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
48+
| `security_content_ctime(lastTime)`'
49+
earliest_offset: $info_min_time$
50+
latest_offset: $info_max_time$
4751
rba:
4852
message: Disabled Registry Tools on $dest$
4953
risk_objects:
50-
- field: dest
51-
type: system
52-
score: 40
54+
- field: dest
55+
type: system
56+
score: 40
5357
threat_objects: []
5458
tags:
5559
analytic_story:
56-
- Windows Defense Evasion Tactics
57-
- Windows Registry Abuse
58-
- NjRAT
60+
- Windows Defense Evasion Tactics
61+
- Windows Registry Abuse
62+
- NjRAT
5963
asset_type: Endpoint
6064
mitre_attack_id:
61-
- T1112
62-
- T1562.001
65+
- T1112
66+
- T1562.001
6367
product:
64-
- Splunk Enterprise
65-
- Splunk Enterprise Security
66-
- Splunk Cloud
68+
- Splunk Enterprise
69+
- Splunk Enterprise Security
70+
- Splunk Cloud
6771
security_domain: endpoint
6872
tests:
69-
- name: True Positive Test
70-
attack_data:
71-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-sysmon.log
72-
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
73-
sourcetype: XmlWinEventLog
73+
- name: True Positive Test
74+
attack_data:
75+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-sysmon.log
76+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
77+
sourcetype: XmlWinEventLog
Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Disable Security Logs Using MiniNt Registry
22
id: 39ebdc68-25b9-11ec-aec7-acde48001122
3-
version: 10
4-
date: '2024-12-08'
3+
version: 11
4+
date: '2025-04-22'
55
author: Teoderick Contreras, Splunk, Steven Dick
66
status: production
77
type: TTP
8-
description: The following analytic detects a suspicious registry modification aimed
8+
description:
9+
The following analytic detects a suspicious registry modification aimed
910
at disabling security audit logs by adding a specific registry entry. It leverages
1011
data from the Endpoint.Registry data model, focusing on changes to the "Control\\MiniNt"
1112
registry path. This activity is significant because it can prevent Windows from
@@ -14,61 +15,64 @@ description: The following analytic detects a suspicious registry modification a
1415
undetected, making it difficult to trace their actions and compromising the integrity
1516
of security audits.
1617
data_source:
17-
- Sysmon EventID 13
18-
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18+
- Sysmon EventID 13
19+
search:
20+
'| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
1921
as lastTime FROM datamodel=Endpoint.Registry WHERE (Registry.registry_path="*\\Control\\MiniNt\\*")
2022
by Registry.action Registry.dest Registry.process_guid Registry.process_id Registry.registry_hive
2123
Registry.registry_path Registry.registry_key_name Registry.registry_value_data Registry.registry_value_name
2224
Registry.registry_value_type Registry.status Registry.user Registry.vendor_product
2325
| `drop_dm_object_name(Registry)` | where isnotnull(registry_value_data) | `security_content_ctime(firstTime)`
2426
| `security_content_ctime(lastTime)` | `disable_security_logs_using_minint_registry_filter`'
25-
how_to_implement: To successfully implement this search, you need to be ingesting
27+
how_to_implement:
28+
To successfully implement this search, you need to be ingesting
2629
logs with the registry value name, registry path, and registry value data from your
2730
endpoints. If you are using Sysmon, you must have at least version 2.0 of the official
2831
Sysmon TA. https://splunkbase.splunk.com/app/5709
2932
known_false_positives: Unknown.
3033
references:
31-
- https://twitter.com/0gtweet/status/1182516740955226112
34+
- https://twitter.com/0gtweet/status/1182516740955226112
3235
drilldown_searches:
33-
- name: View the detection results for - "$dest$" and "$user$"
34-
search: '%original_detection_search% | search dest = "$dest$" user = "$user$"'
35-
earliest_offset: $info_min_time$
36-
latest_offset: $info_max_time$
37-
- name: View risk events for the last 7 days for - "$dest$" and "$user$"
38-
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$",
39-
"$user$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
40-
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
41-
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
42-
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
43-
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
44-
earliest_offset: $info_min_time$
45-
latest_offset: $info_max_time$
36+
- name: View the detection results for - "$dest$" and "$user$"
37+
search: '%original_detection_search% | search dest = "$dest$" user = "$user$"'
38+
earliest_offset: $info_min_time$
39+
latest_offset: $info_max_time$
40+
- name: View risk events for the last 7 days for - "$dest$" and "$user$"
41+
search:
42+
'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$",
43+
"$user$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
44+
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
45+
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
46+
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
47+
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
48+
earliest_offset: $info_min_time$
49+
latest_offset: $info_max_time$
4650
rba:
4751
message: Modified/added/deleted registry entry $registry_path$ on $dest$
4852
risk_objects:
49-
- field: dest
50-
type: system
51-
score: 80
52-
- field: user
53-
type: user
54-
score: 80
53+
- field: dest
54+
type: system
55+
score: 80
56+
- field: user
57+
type: user
58+
score: 80
5559
threat_objects: []
5660
tags:
5761
analytic_story:
58-
- Windows Defense Evasion Tactics
59-
- CISA AA23-347A
60-
- Windows Registry Abuse
62+
- Windows Defense Evasion Tactics
63+
- CISA AA23-347A
64+
- Windows Registry Abuse
6165
asset_type: Endpoint
6266
mitre_attack_id:
63-
- T1112
67+
- T1112
6468
product:
65-
- Splunk Enterprise
66-
- Splunk Enterprise Security
67-
- Splunk Cloud
69+
- Splunk Enterprise
70+
- Splunk Enterprise Security
71+
- Splunk Cloud
6872
security_domain: endpoint
6973
tests:
70-
- name: True Positive Test
71-
attack_data:
72-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/minint_reg/sysmon.log
73-
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
74-
sourcetype: XmlWinEventLog
74+
- name: True Positive Test
75+
attack_data:
76+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1112/minint_reg/sysmon.log
77+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
78+
sourcetype: XmlWinEventLog
Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
name: Disable Show Hidden Files
22
id: 6f3ccfa2-91fe-11eb-8f9b-acde48001122
3-
version: 11
4-
date: '2025-02-10'
3+
version: 12
4+
date: '2025-04-22'
55
author: Teoderick Contreras, Splunk, Steven Dick
66
status: production
77
type: Anomaly
8-
description: The following analytic detects modifications to the Windows registry
8+
description:
9+
The following analytic detects modifications to the Windows registry
910
that disable the display of hidden files. It leverages data from the Endpoint.Registry
1011
data model, specifically monitoring changes to registry paths associated with hidden
1112
file settings. This activity is significant because malware, such as worms and trojan
1213
spyware, often use hidden files to evade detection. If confirmed malicious, this
1314
behavior could allow an attacker to conceal malicious files on the system, making
1415
it harder for security tools and analysts to identify and remove the threat.
1516
data_source:
16-
- Sysmon EventID 13
17-
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
17+
- Sysmon EventID 13
18+
search:
19+
'| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
1820
as lastTime FROM datamodel=Endpoint.Registry WHERE (Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Hidden"
1921
OR (Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\HideFileExt"
2022
Registry.registry_value_data = "0x00000001") OR (Registry.registry_path= "*\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\ShowSuperHidden"
@@ -24,58 +26,60 @@ search: '| tstats `security_content_summariesonly` count min(_time) as firstTime
2426
Registry.registry_value_type Registry.status Registry.user Registry.vendor_product
2527
| `drop_dm_object_name(Registry)` | where isnotnull(registry_value_data) | `security_content_ctime(firstTime)`
2628
| `security_content_ctime(lastTime)` | `disable_show_hidden_files_filter`'
27-
how_to_implement: To successfully implement this search, you need to be ingesting
29+
how_to_implement:
30+
To successfully implement this search, you need to be ingesting
2831
logs with the registry value name, registry path, and registry value data from your
2932
endpoints. If you are using Sysmon, you must have at least version 2.0 of the official
3033
Sysmon TA. https://splunkbase.splunk.com/app/5709
3134
known_false_positives: unknown
3235
references:
33-
- https://www.sophos.com/en-us/threat-center/threat-analyses/viruses-and-spyware/W32~Tiotua-P/detailed-analysis
36+
- https://www.sophos.com/en-us/threat-center/threat-analyses/viruses-and-spyware/W32~Tiotua-P/detailed-analysis
3437
drilldown_searches:
35-
- name: View the detection results for - "$dest$"
36-
search: '%original_detection_search% | search dest = "$dest$"'
37-
earliest_offset: $info_min_time$
38-
latest_offset: $info_max_time$
39-
- name: View risk events for the last 7 days for - "$dest$"
40-
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
41-
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
42-
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
43-
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
44-
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
45-
| `security_content_ctime(lastTime)`'
46-
earliest_offset: $info_min_time$
47-
latest_offset: $info_max_time$
38+
- name: View the detection results for - "$dest$"
39+
search: '%original_detection_search% | search dest = "$dest$"'
40+
earliest_offset: $info_min_time$
41+
latest_offset: $info_max_time$
42+
- name: View risk events for the last 7 days for - "$dest$"
43+
search:
44+
'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
45+
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
46+
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
47+
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
48+
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
49+
| `security_content_ctime(lastTime)`'
50+
earliest_offset: $info_min_time$
51+
latest_offset: $info_max_time$
4852
rba:
4953
message: Disabled 'Show Hidden Files' on $dest$
5054
risk_objects:
51-
- field: dest
52-
type: system
53-
score: 40
55+
- field: dest
56+
type: system
57+
score: 40
5458
threat_objects: []
5559
tags:
5660
analytic_story:
57-
- Windows Defense Evasion Tactics
58-
- Windows Registry Abuse
59-
- Azorult
61+
- Windows Defense Evasion Tactics
62+
- Windows Registry Abuse
63+
- Azorult
6064
asset_type: Endpoint
6165
mitre_attack_id:
62-
- T1112
63-
- T1562.001
64-
- T1564.001
66+
- T1112
67+
- T1562.001
68+
- T1564.001
6569
product:
66-
- Splunk Enterprise
67-
- Splunk Enterprise Security
68-
- Splunk Cloud
70+
- Splunk Enterprise
71+
- Splunk Enterprise Security
72+
- Splunk Cloud
6973
security_domain: endpoint
7074
tests:
71-
- name: True Positive Test
72-
attack_data:
73-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-security.log
74-
source: WinEventLog:Security
75-
sourcetype: WinEventLog
76-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-system.log
77-
source: WinEventLog:System
78-
sourcetype: WinEventLog
79-
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-sysmon.log
80-
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
81-
sourcetype: XmlWinEventLog
75+
- name: True Positive Test
76+
attack_data:
77+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-security.log
78+
source: WinEventLog:Security
79+
sourcetype: WinEventLog
80+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-system.log
81+
source: WinEventLog:System
82+
sourcetype: WinEventLog
83+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.001/win_app_defender_disabling/windows-sysmon.log
84+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
85+
sourcetype: XmlWinEventLog

0 commit comments

Comments
 (0)