Skip to content

Commit 7c402fa

Browse files
authored
Merge branch 'develop' into nterl0k-t1567-o365-sus-file-exfil
2 parents 5232702 + 11ca403 commit 7c402fa

18 files changed

+844
-5
lines changed

detections/endpoint/suspicious_event_log_service_behavior.yml renamed to detections/deprecated/suspicious_event_log_service_behavior.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ id: 2b85aa3d-f5f6-4c2e-a081-a09f6e1c2e40
33
version: 6
44
date: '2025-02-10'
55
author: Mauricio Velazco, Splunk
6-
status: production
6+
status: deprecated
77
type: Hunting
8-
description: The following analytic detects the shutdown of the Windows Event Log
8+
description: This search has been deprecated in favour of Windows Event Logging Service Has Shutdown . The following analytic detects the shutdown of the Windows Event Log
99
service using Windows Event ID 1100. This event is logged every time the service
1010
stops, including during normal system shutdowns. Monitoring this activity is crucial
1111
as it can indicate attempts to cover tracks or disable logging. If confirmed malicious,
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Potential Telegram API Request Via CommandLine
2+
id: d6b0d627-d0bf-46b1-936f-c48284767d21
3+
version: 1
4+
date: '2025-02-19'
5+
author: Nasreddine Bencherchali, Splunk, Zaki Zarkasih Al Mustafa
6+
status: production
7+
type: Anomaly
8+
description: The following analytic detects the presence of "api.telegram.org" in the CommandLine of a process. It leverages data from Endpoint Detection and Response (EDR) agents, focusing on process execution logs that include command-line details. This activity can be significant as the telegram API has been used as an exfiltration mechanism or even as a C2 channel. If confirmed malicious, this could allow an attacker or malware to exfiltrate data or receive additional C2 instruction, potentially leading to further compromise and persistence within the network.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
- CrowdStrike ProcessRollup2
13+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process= "*api.telegram.org*" NOT Processes.process IN ("*-osint -url*", "* --single-argument*") by Processes.dest Processes.user Processes.parent_process_name Processes.parent_process_id Processes.process_name Processes.process Processes.process_id Processes.process_guid | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `potential_telegram_api_request_via_commandline_filter`'
14+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process GUID, process name, and parent process. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
15+
known_false_positives: False positive may stem from application or users requesting the API directly via CommandLine for testing purposes. Investigate the matches and apply the necessary filters.
16+
references:
17+
- https://www.virustotal.com/gui/file/0b3ef5e04329cefb5bb4bf30b3edcb32d1ec6bbcb29d22695a079bfb5b56e8ac/behavior
18+
- https://www.virustotal.com/gui/file/72c59eeb15b5ec1d95e72e4b06a030bc058822bc10e5cb807e78a4624d329666/behavior
19+
- https://www.virustotal.com/gui/file/72c59eeb15b5ec1d95e72e4b06a030bc058822bc10e5cb807e78a4624d329666/content
20+
- https://www.virustotal.com/gui/file/1c4541bf70b6e251ef024ec4dde8dce400539c2368461c0d90e15a81b11ace44/content
21+
drilldown_searches:
22+
- name: View the detection results for - "$dest$"
23+
search: '%original_detection_search% | search dest = "$dest$"'
24+
earliest_offset: $info_min_time$
25+
latest_offset: $info_max_time$
26+
- name: View risk events for the last 7 days for - "$dest$"
27+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
28+
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
29+
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
30+
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
31+
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
32+
| `security_content_ctime(lastTime)`'
33+
earliest_offset: $info_min_time$
34+
latest_offset: $info_max_time$
35+
rba:
36+
message: Process $process_name$ with command line $process$ in $dest$
37+
risk_objects:
38+
- field: dest
39+
type: system
40+
score: 30
41+
threat_objects:
42+
- field: process_name
43+
type: process_name
44+
tags:
45+
analytic_story:
46+
- XMRig
47+
asset_type: Endpoint
48+
mitre_attack_id:
49+
- T1102.002
50+
- T1041
51+
product:
52+
- Splunk Enterprise
53+
- Splunk Enterprise Security
54+
- Splunk Cloud
55+
security_domain: endpoint
56+
tests:
57+
- name: True Positive Test
58+
attack_data:
59+
- data:
60+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1102.002/telegram_api_cli/telegram_cli.log
61+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
62+
sourcetype: XmlWinEventLog

detections/endpoint/windows_ad_domain_controller_audit_policy_disabled.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Windows AD Domain Controller Audit Policy Disabled
22
id: fc3ccef1-60a4-4239-bd66-b279511b4d14
3-
version: 4
4-
date: '2024-11-13'
3+
version: 5
4+
date: '2025-01-28'
55
author: Dean Luxton
66
type: TTP
77
status: production
@@ -53,7 +53,7 @@ rba:
5353
threat_objects: []
5454
tags:
5555
analytic_story:
56-
- Sneaky Active Directory Persistence Tricks
56+
- Windows Audit Policy Tampering
5757
asset_type: Endpoint
5858
mitre_attack_id:
5959
- T1562.001
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Windows Audit Policy Auditing Option Disabled via Auditpol
2+
id: 663a7a50-b752-4c84-975b-8325ca3f6f9e
3+
version: 1
4+
date: '2025-01-27'
5+
author: Nasreddine Bencherchali, Splunk
6+
status: production
7+
type: TTP
8+
description: The following analytic identifies the execution of `auditpol.exe` with the "/set", "/option" and "/value:disable" command-line arguments used to disable specific auditing options of the audit policy. It leverages data from Endpoint Detection and Response (EDR) agents, focusing on process names and command-line executions. This activity can be significant as it indicates potential defense evasion by adversaries or Red Teams, aiming to limit data that can be leveraged for detections and audits. If confirmed malicious, this behavior could allow attackers to bypass defenses, and plan further attacks, potentially leading to full machine compromise or lateral movement.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
- CrowdStrike ProcessRollup2
13+
search: '| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where `process_auditpol` Processes.process="*/set*" Processes.process="*/option:*" Processes.process="*/value:disable*" Processes.process IN ("*FullPrivilegeAuditing*", "*AuditBaseObjects*", "*AuditBaseDirectories*") by Processes.dest Processes.user Processes.parent_process 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)` | `windows_audit_policy_auditing_option_disabled_via_auditpol_filter`'
14+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process name, and process original file name. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
15+
known_false_positives: None identified. Attempts to disable logging should be identified and understood.
16+
references:
17+
- https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gpac/262a2bed-93d4-4c04-abec-cf06e9ec72fd
18+
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/auditpol-set
19+
drilldown_searches:
20+
- name: View the detection results for - "$user$" and "$dest$"
21+
search: '%original_detection_search% | search user = "$user$" dest = "$dest$"'
22+
earliest_offset: $info_min_time$
23+
latest_offset: $info_max_time$
24+
- name: View risk events for the last 7 days for - "$user$" and "$dest$"
25+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$",
26+
"$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
27+
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
28+
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
29+
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
30+
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
31+
earliest_offset: $info_min_time$
32+
latest_offset: $info_max_time$
33+
rba:
34+
message: An instance of $parent_process_name$ spawning $process_name$ was identified attempting to disable an audit policy auditing option on endpoint $dest$ by user $user$.
35+
risk_objects:
36+
- field: user
37+
type: user
38+
score: 60
39+
- field: dest
40+
type: system
41+
score: 60
42+
threat_objects:
43+
- field: process_name
44+
type: process_name
45+
tags:
46+
analytic_story:
47+
- Windows Audit Policy Tampering
48+
asset_type: Endpoint
49+
mitre_attack_id:
50+
- T1562.002
51+
product:
52+
- Splunk Enterprise
53+
- Splunk Enterprise Security
54+
- Splunk Cloud
55+
security_domain: endpoint
56+
tests:
57+
- name: True Positive Test - Sysmon
58+
attack_data:
59+
- data:
60+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.002/auditpol_tampering/auditpol_tampering_sysmon.log
61+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
62+
sourcetype: XmlWinEventLog
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Windows Audit Policy Auditing Option Modified - Registry
2+
id: 27914692-9c62-44ea-9129-ceb429b61bd0
3+
version: 1
4+
date: '2025-01-27'
5+
author: Nasreddine Bencherchali, Splunk
6+
status: production
7+
type: Anomaly
8+
description: The following analytic detects potentially suspicious modifications to the Audit Policy auditing options registry values. It leverages data from the Endpoint.Registry data model, focusing on changes to one of the following auditing option values "CrashOnAuditFail", "FullPrivilegeAuditing", "AuditBaseObjects" and "AuditBaseDirectories" within the "HKLM\\System\\CurrentControlSet\\Control\\Lsa\\" registry key. This activity is significant as it could be a sign of a threat actor trying to tamper with the audit policy configuration, and disabling SACLs configuration. If confirmed malicious, this behavior could allow attackers to bypass defenses, and plan further attacks, potentially leading to full machine compromise or lateral movement.
9+
data_source:
10+
- Sysmon EventID 13
11+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry WHERE Registry.registry_key_name="*\\Control\\Lsa" Registry.registry_value_name IN ("CrashOnAuditFail", "FullPrivilegeAuditing", "AuditBaseObjects", "AuditBaseDirectories") BY Registry.registry_path Registry.registry_key_name Registry.registry_value_name Registry.registry_value_data Registry.process_guid Registry.dest Registry.user | `drop_dm_object_name(Registry)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_audit_policy_auditing_option_modified___registry_filter`'
12+
how_to_implement: To successfully implement this search, you need to be ingesting logs with the registry value name, registry path, and registry value data from your endpoints. If you are using Sysmon, you must have at least version 2.0 of the official Sysmon TA. https://splunkbase.splunk.com/app/5709
13+
known_false_positives: Active setup installer may add or modify this registry.
14+
references:
15+
- https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gpac/262a2bed-93d4-4c04-abec-cf06e9ec72fd
16+
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/auditpol-set
17+
drilldown_searches:
18+
- name: View the detection results for - "$dest$" and "$user$"
19+
search: '%original_detection_search% | search dest = "$dest$" user = "$user$"'
20+
earliest_offset: $info_min_time$
21+
latest_offset: $info_max_time$
22+
- name: View risk events for the last 7 days for - "$dest$" and "$user$"
23+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$",
24+
"$user$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
25+
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
26+
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
27+
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
28+
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
29+
earliest_offset: $info_min_time$
30+
latest_offset: $info_max_time$
31+
rba:
32+
message: The auditing option $registry_value_name$ from the configured Audit Policy was modified on $dest$.
33+
risk_objects:
34+
- field: dest
35+
type: system
36+
score: 64
37+
- field: user
38+
type: user
39+
score: 64
40+
threat_objects: []
41+
tags:
42+
analytic_story:
43+
- Windows Audit Policy Tampering
44+
asset_type: Endpoint
45+
mitre_attack_id:
46+
- T1547.014
47+
product:
48+
- Splunk Enterprise
49+
- Splunk Enterprise Security
50+
- Splunk Cloud
51+
security_domain: endpoint
52+
tests:
53+
- name: True Positive Test - Sysmon
54+
attack_data:
55+
- data:
56+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.002/auditpol_tampering/auditpol_tampering_sysmon.log
57+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
58+
sourcetype: XmlWinEventLog
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Windows Audit Policy Cleared via Auditpol
2+
id: f067f7cf-f41b-4a60-985e-c23e268a13cb
3+
version: 1
4+
date: '2025-01-27'
5+
author: Nasreddine Bencherchali, Splunk
6+
status: production
7+
type: TTP
8+
description: The following analytic identifies the execution of `auditpol.exe` with the "/clear" command-line argument used to clears the audit policy. It leverages data from Endpoint Detection and Response (EDR) agents, focusing on process names and command-line executions. This activity can be significant as it indicates potential defense evasion by adversaries or Red Teams, aiming to limit data that can be leveraged for detections and audits. If confirmed malicious, this behavior could allow attackers to bypass defenses, and plan further attacks, potentially leading to full machine compromise or lateral movement.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
- CrowdStrike ProcessRollup2
13+
search: '| tstats `security_content_summariesonly` values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where `process_auditpol` Processes.process IN ("*/clear*", "*/remove*") AND NOT Processes.process IN ("*/resourceSACL*", "*/?*") by Processes.dest Processes.user Processes.parent_process 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)` | `windows_audit_policy_cleared_via_auditpol_filter`'
14+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process name, and process original file name. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
15+
known_false_positives: None identified. Attempts to disable logging should be identified and understood.
16+
references:
17+
- https://www.microsoft.com/en-us/security/blog/2021/01/20/deep-dive-into-the-solorigate-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/
18+
- https://www.cybereason.com/blog/research/prometei-botnet-exploiting-microsoft-exchange-vulnerabilities
19+
- https://attack.mitre.org/techniques/T1562/002/
20+
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/auditpol-clear
21+
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/auditpol-remove
22+
drilldown_searches:
23+
- name: View the detection results for - "$user$" and "$dest$"
24+
search: '%original_detection_search% | search user = "$user$" dest = "$dest$"'
25+
earliest_offset: $info_min_time$
26+
latest_offset: $info_max_time$
27+
- name: View risk events for the last 7 days for - "$user$" and "$dest$"
28+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$",
29+
"$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
30+
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
31+
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
32+
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
33+
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
34+
earliest_offset: $info_min_time$
35+
latest_offset: $info_max_time$
36+
rba:
37+
message: An instance of $parent_process_name$ spawning $process_name$ was identified attempting to clear logging on endpoint $dest$ by user $user$.
38+
risk_objects:
39+
- field: user
40+
type: user
41+
score: 16
42+
- field: dest
43+
type: system
44+
score: 16
45+
threat_objects:
46+
- field: process_name
47+
type: process_name
48+
tags:
49+
analytic_story:
50+
- Windows Audit Policy Tampering
51+
asset_type: Endpoint
52+
mitre_attack_id:
53+
- T1562.002
54+
product:
55+
- Splunk Enterprise
56+
- Splunk Enterprise Security
57+
- Splunk Cloud
58+
security_domain: endpoint
59+
tests:
60+
- name: True Positive Test - Sysmon
61+
attack_data:
62+
- data:
63+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.002/auditpol_tampering/auditpol_tampering_sysmon.log
64+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
65+
sourcetype: XmlWinEventLog
66+
- name: True Positive Test - Security
67+
attack_data:
68+
- data:
69+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.002/auditpol_tampering/auditpol_tampering_security.log
70+
source: XmlWinEventLog:Security
71+
sourcetype: XmlWinEventLog

0 commit comments

Comments
 (0)