mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
Merge branch 'develop' into nvm-batch1
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
name: Linux Auditd Daemon Abort
|
||||
id: cc8b3bb0-0fae-4236-9c61-fe2d7138bd63
|
||||
version: 2
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
description: Logs the execution of processes on a Linux system, including details
|
||||
about the auditd daemon status.
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
mitre_components:
|
||||
- Command Execution
|
||||
- Process Creation
|
||||
- Process Metadata
|
||||
- OS API Execution
|
||||
- Application Log Content
|
||||
separator: type
|
||||
separator_value: DAEMON_ABORT
|
||||
configuration: https://github.com/Neo23x0/auditd/blob/master/audit.rules
|
||||
supported_TA:
|
||||
- name: Splunk Add-on for Unix and Linux
|
||||
url: https://splunkbase.splunk.com/app/833
|
||||
version: 10.1.0
|
||||
fields:
|
||||
- type
|
||||
- op
|
||||
- res
|
||||
- pid
|
||||
- uid
|
||||
example_log: 'type=DAEMON_ABORT msg=audit(06/05/2025 11:03:38.453:6845) : op=set-pid auid=unset pid=61314 uid=root ses=unset subj=unconfined res=failed'
|
||||
output_fields:
|
||||
- op
|
||||
- res
|
||||
- pid
|
||||
- uid
|
||||
- dest
|
||||
@@ -0,0 +1,35 @@
|
||||
name: Linux Auditd Daemon End
|
||||
id: 15135c45-e302-4d5a-a38a-3e8279f2ebd8
|
||||
version: 2
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
description: Logs the execution of processes on a Linux system, including details
|
||||
about the auditd daemon status.
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
mitre_components:
|
||||
- Command Execution
|
||||
- Process Creation
|
||||
- Process Metadata
|
||||
- OS API Execution
|
||||
- Application Log Content
|
||||
separator: type
|
||||
separator_value: DAEMON_END
|
||||
configuration: https://github.com/Neo23x0/auditd/blob/master/audit.rules
|
||||
supported_TA:
|
||||
- name: Splunk Add-on for Unix and Linux
|
||||
url: https://splunkbase.splunk.com/app/833
|
||||
version: 10.1.0
|
||||
fields:
|
||||
- type
|
||||
- op
|
||||
- res
|
||||
- auid
|
||||
- pid
|
||||
example_log: 'type=DAEMON_END msg=audit(06/05/2025 11:01:46.838:9436) : op=terminate auid=root pid=1 subj=unconfined res=success'
|
||||
output_fields:
|
||||
- op
|
||||
- res
|
||||
- pid
|
||||
- uid
|
||||
- dest
|
||||
@@ -0,0 +1,36 @@
|
||||
name: Linux Auditd Daemon Start
|
||||
id: f1b97407-ddf0-41a5-8685-ada05aae3555
|
||||
version: 2
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
description: Logs the execution of processes on a Linux system, including details
|
||||
about the auditd daemon status.
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
mitre_components:
|
||||
- Command Execution
|
||||
- Process Creation
|
||||
- Process Metadata
|
||||
- OS API Execution
|
||||
- Application Log Content
|
||||
separator: type
|
||||
separator_value: DAEMON_START
|
||||
configuration: https://github.com/Neo23x0/auditd/blob/master/audit.rules
|
||||
supported_TA:
|
||||
- name: Splunk Add-on for Unix and Linux
|
||||
url: https://splunkbase.splunk.com/app/833
|
||||
version: 10.1.0
|
||||
fields:
|
||||
- type
|
||||
- op
|
||||
- res
|
||||
- auid
|
||||
- pid
|
||||
example_log: 'type=DAEMON_START msg=audit(06/05/2025 11:03:38.949:6844) : op=start ver=3.0.7 format=enriched kernel=6.8.0-1029-aws auid=unset pid=61323 uid=root ses=unset subj=unconfined res=success'
|
||||
output_fields:
|
||||
- op
|
||||
- res
|
||||
- pid
|
||||
- uid
|
||||
- dest
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Add User Account Type
|
||||
id: f8c325ea-506e-4105-8ccf-da1492e90115
|
||||
version: 7
|
||||
date: '2025-05-02'
|
||||
version: 8
|
||||
date: '2025-06-26'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -14,8 +14,8 @@ description: The following analytic detects the suspicious add user account type
|
||||
early is essential to prevent potential security incidents.
|
||||
data_source:
|
||||
- Linux Auditd Add User
|
||||
search: '`linux_auditd` type=ADD_USER | rename hostname as dest| stats count min(_time)
|
||||
as firstTime max(_time) as lastTime by exe pid dest res UID type | `security_content_ctime(firstTime)`
|
||||
search: '`linux_auditd` type=ADD_USER | rename host as dest| stats count min(_time)
|
||||
as firstTime max(_time) as lastTime by exe pid dest res type | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`| `linux_auditd_add_user_account_type_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Linux Auditd Auditd Daemon Abort
|
||||
id: 76d6573f-c4ab-4fa1-8390-c036416d4add
|
||||
version: 1
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
description: The following analytic detects the abnormal termination of the Linux audit daemon (auditd) by identifying DAEMON_ABORT events in audit logs. These terminations suggest a serious failure of the auditing subsystem, potentially due to resource exhaustion, corruption, or malicious interference. Unlike a clean shutdown, DAEMON_ABORT implies that audit logging may have been disabled without system administrator intent. Alerts should be generated on detection and correlated with DAEMON_START, DAEMON_END, and system logs to determine root cause. If no DAEMON_START follows soon after, or this pattern repeats, it indicates a high-severity issue that impacts log integrity and should be immediately investigated.
|
||||
data_source:
|
||||
- Linux Auditd Daemon Abort
|
||||
search: '`linux_auditd` type=DAEMON_ABORT
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by type op res uid dest pid
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_auditd_daemon_abort_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
and processed using Splunk Add-on for Unix and Linux (https://splunkbase.splunk.com/app/833),
|
||||
which is essential for correctly parsing and categorizing the data. The next step
|
||||
involves normalizing the field names to match the field names set by the Splunk
|
||||
Common Information Model (CIM) to ensure consistency across different data sources
|
||||
and enhance the efficiency of data modeling. This approach enables effective monitoring
|
||||
and detection of linux endpoints where auditd is deployed
|
||||
known_false_positives: Administrator or network operator can use this application
|
||||
for automation purposes. Please update the filter macros to remove false positives.
|
||||
references:
|
||||
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/security_guide/sec-audit_record_types
|
||||
drilldown_searches:
|
||||
- name: View the detection results for - "$dest$"
|
||||
search: '%original_detection_search% | search dest = "$dest$"'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
- name: View risk events for the last 7 days for - "$dest$"
|
||||
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
|
||||
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
|
||||
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
|
||||
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
|
||||
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
rba:
|
||||
message: Auditd service event - [$type$] event occurred on host - [$dest$].
|
||||
risk_objects:
|
||||
- field: dest
|
||||
type: system
|
||||
score: 25
|
||||
threat_objects: []
|
||||
tags:
|
||||
analytic_story:
|
||||
- Compromised Linux Host
|
||||
asset_type: Endpoint
|
||||
mitre_attack_id:
|
||||
- T1562.012
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
security_domain: endpoint
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.012/auditd_daemon_type/linux_auditd_daemon.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Linux Auditd Auditd Daemon Shutdown
|
||||
id: 6e2574b3-e24b-4321-ae3c-ba83a75bb714
|
||||
version: 1
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
description: The following analytic detects the unexpected termination of the Linux Audit daemon (auditd) by monitoring for log entries of type DAEMON_END. This event signifies that the audit logging service has stopped, either due to a legitimate system shutdown, manual administrative action, or potentially malicious tampering. Since auditd is responsible for recording critical security events, its sudden stoppage may indicate an attempt to disable security monitoring or evade detection during an attack. This detection should be correlated with system logs to determine whether the shutdown was part of routine maintenance or an anomaly. If confirmed as malicious, this could lead to a compromised system where security events are no longer being logged, allowing attackers to operate undetected. Therefore, monitoring and alerting on auditd shutdown events is crucial for maintaining the integrity of system security monitoring.
|
||||
data_source:
|
||||
- Linux Auditd Daemon End
|
||||
search: '`linux_auditd` type=DAEMON_END
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by type op res auid dest pid
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_auditd_daemon_shutdown_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
and processed using Splunk Add-on for Unix and Linux (https://splunkbase.splunk.com/app/833),
|
||||
which is essential for correctly parsing and categorizing the data. The next step
|
||||
involves normalizing the field names to match the field names set by the Splunk
|
||||
Common Information Model (CIM) to ensure consistency across different data sources
|
||||
and enhance the efficiency of data modeling. This approach enables effective monitoring
|
||||
and detection of linux endpoints where auditd is deployed
|
||||
known_false_positives: Administrator or network operator can use this application
|
||||
for automation purposes. Please update the filter macros to remove false positives.
|
||||
references:
|
||||
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/security_guide/sec-audit_record_types
|
||||
drilldown_searches:
|
||||
- name: View the detection results for - "$dest$"
|
||||
search: '%original_detection_search% | search dest = "$dest$"'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
- name: View risk events for the last 7 days for - "$dest$"
|
||||
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
|
||||
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
|
||||
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
|
||||
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
|
||||
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
rba:
|
||||
message: Auditd service event - [$type$] event occurred on host - [$dest$].
|
||||
risk_objects:
|
||||
- field: dest
|
||||
type: system
|
||||
score: 25
|
||||
threat_objects: []
|
||||
tags:
|
||||
analytic_story:
|
||||
- Compromised Linux Host
|
||||
asset_type: Endpoint
|
||||
mitre_attack_id:
|
||||
- T1562.012
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
security_domain: endpoint
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.012/auditd_daemon_end/linux_daemon_end.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Linux Auditd Auditd Daemon Start
|
||||
id: 6b0cb0ff-9a7e-4475-a687-43827fdb31d6
|
||||
version: 1
|
||||
date: '2025-06-06'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
description: The following analytic detects the (re)initialization of the Linux audit daemon (auditd) by identifying log entries of type DAEMON_START. This event indicates that the audit subsystem has resumed logging after being stopped or has started during system boot. While DAEMON_START may be expected during reboots or legitimate configuration changes, it can also signal attempts to re-enable audit logging after evasion, or restarts with modified or reduced rule sets. Monitoring this event in correlation with DAEMON_END, DAEMON_ABORT, and auditctl activity provides visibility into the continuity and integrity of audit logs. Frequent or unexplained DAEMON_START events should be investigated, especially if they are not accompanied by valid administrative or system activity.
|
||||
data_source:
|
||||
- Linux Auditd Daemon Start
|
||||
search: '`linux_auditd` type=DAEMON_START
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by type op res auid dest pid
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_auditd_daemon_start_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
and processed using Splunk Add-on for Unix and Linux (https://splunkbase.splunk.com/app/833),
|
||||
which is essential for correctly parsing and categorizing the data. The next step
|
||||
involves normalizing the field names to match the field names set by the Splunk
|
||||
Common Information Model (CIM) to ensure consistency across different data sources
|
||||
and enhance the efficiency of data modeling. This approach enables effective monitoring
|
||||
and detection of linux endpoints where auditd is deployed
|
||||
known_false_positives: Administrator or network operator can use this application
|
||||
for automation purposes. Please update the filter macros to remove false positives.
|
||||
references:
|
||||
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/security_guide/sec-audit_record_types
|
||||
drilldown_searches:
|
||||
- name: View the detection results for - "$dest$"
|
||||
search: '%original_detection_search% | search dest = "$dest$"'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
- name: View risk events for the last 7 days for - "$dest$"
|
||||
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$")
|
||||
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
|
||||
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
|
||||
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
|
||||
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`'
|
||||
earliest_offset: $info_min_time$
|
||||
latest_offset: $info_max_time$
|
||||
rba:
|
||||
message: Auditd service event - [$type$] event occurred on host - [$dest$].
|
||||
risk_objects:
|
||||
- field: dest
|
||||
type: system
|
||||
score: 15
|
||||
threat_objects: []
|
||||
tags:
|
||||
analytic_story:
|
||||
- Compromised Linux Host
|
||||
asset_type: Endpoint
|
||||
mitre_attack_id:
|
||||
- T1562.012
|
||||
product:
|
||||
- Splunk Enterprise
|
||||
- Splunk Enterprise Security
|
||||
- Splunk Cloud
|
||||
security_domain: endpoint
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1562.012/auditd_daemon_type/linux_auditd_daemon.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Auditd Service Stop
|
||||
id: 6cb9d0e1-eabe-41de-a11a-5efade354e9d
|
||||
version: 5
|
||||
date: '2025-05-02'
|
||||
version: 6
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -15,7 +15,7 @@ description: The following analytic detects the suspicious auditd service stop.
|
||||
data_source:
|
||||
- Linux Auditd Service Stop
|
||||
search: '`linux_auditd` type=SERVICE_STOP unit IN ("auditd") | rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid UID comm
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid comm
|
||||
exe unit dest | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_auditd_service_stop_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Disable Or Modify System Firewall
|
||||
id: 07052556-d4b5-4bae-89aa-cbdc1bb11250
|
||||
version: 6
|
||||
date: '2025-05-02'
|
||||
version: 7
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -15,8 +15,8 @@ description: The following analytic detects the suspicious disable or modify sys
|
||||
data_source:
|
||||
- Linux Auditd Service Stop
|
||||
search: '`linux_auditd` type=SERVICE_STOP unit IN ("firewalld", "ufw") | rename host
|
||||
as dest | stats count min(_time) as firstTime max(_time) as lastTime by type pid
|
||||
UID comm exe unit dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
as dest | stats count min(_time) as firstTime max(_time) as lastTime by type pid comm exe unit dest
|
||||
| `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_disable_or_modify_system_firewall_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Doas Conf File Creation
|
||||
id: 61059783-574b-40d2-ac2f-69b898afd6b4
|
||||
version: 6
|
||||
date: '2025-05-02'
|
||||
version: 7
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: TTP
|
||||
@@ -14,10 +14,13 @@ description: The following analytic detects the creation of the doas.conf file o
|
||||
commands with root privileges, leading to full system compromise.
|
||||
data_source:
|
||||
- Linux Auditd Path
|
||||
search: '`linux_auditd` type=PATH name ="/etc/doas.conf*" | rename host as dest |
|
||||
stats count min(_time) as firstTime max(_time) as lastTime by name nametype OGID
|
||||
type dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_doas_conf_file_creation_filter`'
|
||||
search: '`linux_auditd` type=PATH name ="/etc/doas.conf*"
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid type dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_doas_conf_file_creation_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
@@ -70,6 +73,6 @@ tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data:
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.003/linux_audited_doas_conf/linux_audited_doas_conf.log
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.003/linux_audited_doas_conf/linux_path_doas_config.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Osquery Service Stop
|
||||
id: 0c320fea-6e87-4b99-a884-74d09d4b655d
|
||||
version: 5
|
||||
date: '2025-05-02'
|
||||
version: 6
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -16,7 +16,7 @@ description: The following analytic detects suspicious stopping of the `osquery`
|
||||
data_source:
|
||||
- Linux Auditd Service Stop
|
||||
search: '`linux_auditd` type=SERVICE_STOP unit IN ("osqueryd") | rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid UID comm
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid comm
|
||||
exe unit dest | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_osquery_service_stop_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
|
||||
+10
-7
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Possible Access Or Modification Of Sshd Config File
|
||||
id: acb3ea33-70f7-47aa-b335-643b3aebcb2f
|
||||
version: 6
|
||||
date: '2025-05-02'
|
||||
version: 7
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -15,10 +15,13 @@ description: The following analytic detects suspicious access or modification of
|
||||
access, posing a severe security risk.
|
||||
data_source:
|
||||
- Linux Auditd Path
|
||||
search: '`linux_auditd` type=PATH name="/etc/ssh/ssh_config*" | rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by name nametype OGID
|
||||
type dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_possible_access_or_modification_of_sshd_config_file_filter`'
|
||||
search: '`linux_auditd` type=PATH name="/etc/ssh/ssh_config*"
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid type dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_possible_access_or_modification_of_sshd_config_file_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
@@ -73,6 +76,6 @@ tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data:
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098.004/linux_auditd_nopasswd/linux_auditd_ssh_config.log
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098.004/linux_auditd_nopasswd/linux_path_ssh_config.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Possible Access To Sudoers File
|
||||
id: 8be88f46-f7e8-4ae6-b15e-cf1b13392834
|
||||
version: 9
|
||||
date: '2025-05-02'
|
||||
version: 10
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -14,10 +14,13 @@ description: The following analytic detects potential access or modification of
|
||||
targeted host.
|
||||
data_source:
|
||||
- Linux Auditd Path
|
||||
search: '`linux_auditd` type=PATH name="/etc/sudoers*" | rename host as dest | stats
|
||||
count min(_time) as firstTime max(_time) as lastTime by name nametype OGID type
|
||||
dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_possible_access_to_sudoers_file_filter`'
|
||||
search: '`linux_auditd` type=PATH name="/etc/sudoers*"
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid type dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_possible_access_to_sudoers_file_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
@@ -72,6 +75,6 @@ tags:
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.003/linux_auditd_sudoers_access/linux_auditd_sudoers_access.log
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548.003/linux_auditd_sudoers_access/linux_path_sudoers.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
+9
-6
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Possible Append Cronjob Entry On Existing Cronjob File
|
||||
id: fea71cf0-fa10-4ef6-9202-9682b2e0c477
|
||||
version: 7
|
||||
date: '2025-05-02'
|
||||
version: 8
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Hunting
|
||||
@@ -15,9 +15,12 @@ description: The following analytic detects potential tampering with cronjob fil
|
||||
data_source:
|
||||
- Linux Auditd Path
|
||||
search: '`linux_auditd` type=PATH name IN("*/etc/cron*", "*/var/spool/cron/*", "*/etc/anacrontab*")
|
||||
| rename host as dest | stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype OGID dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_possible_append_cronjob_entry_on_existing_cronjob_file_filter`'
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_possible_append_cronjob_entry_on_existing_cronjob_file_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consists of SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures
|
||||
command-line executions and process details on Unix/Linux systems. These logs should
|
||||
@@ -54,6 +57,6 @@ tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data:
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1053.003/linux_auditd_cron_file_audited/linux_auditd_cron_file_audited2.log
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1053.003/linux_auditd_cron_file_audited/linux_path_cron.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Preload Hijack Via Preload File
|
||||
id: c1b7abca-55cb-4a39-bdfb-e28c1c12745f
|
||||
version: 6
|
||||
date: '2025-05-02'
|
||||
version: 7
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: TTP
|
||||
@@ -15,10 +15,13 @@ description: The following analytic detects suspicious preload hijacking via the
|
||||
and security.
|
||||
data_source:
|
||||
- Linux Auditd Path
|
||||
search: '`linux_auditd` type=PATH name="/etc/ld.so.preload*" | rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by name nametype OGID
|
||||
type dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_preload_hijack_via_preload_file_filter`'
|
||||
search: '`linux_auditd` type=PATH name="/etc/ld.so.preload*"
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid type dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_preload_hijack_via_preload_file_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
@@ -72,6 +75,6 @@ tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data:
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1574.006/linux_auditd_preload_file/linux_auditd_preload_file.log
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1574.006/linux_auditd_preload_file/linux_path_preload.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Stop Services
|
||||
id: 43bc9281-753b-4743-b4b7-60af84f085f3
|
||||
version: 5
|
||||
date: '2025-05-02'
|
||||
version: 6
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Hunting
|
||||
@@ -15,7 +15,7 @@ description: The following analytic detects attempts to stop a service on Linux
|
||||
data_source:
|
||||
- Linux Auditd Service Stop
|
||||
search: '`linux_auditd` type=SERVICE_STOP | rename host as dest | stats count min(_time)
|
||||
as firstTime max(_time) as lastTime by type pid UID comm exe dest | `security_content_ctime(firstTime)`|
|
||||
as firstTime max(_time) as lastTime by type pid comm exe dest | `security_content_ctime(firstTime)`|
|
||||
`security_content_ctime(lastTime)`| `linux_auditd_stop_services_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consists of SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Sysmon Service Stop
|
||||
id: 20901256-633a-40de-8753-7b88811a460f
|
||||
version: 5
|
||||
date: '2025-05-02'
|
||||
version: 6
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: Anomaly
|
||||
@@ -15,7 +15,7 @@ description: The following analytic detects the suspicious sysmon service stop.
|
||||
data_source:
|
||||
- Linux Auditd Service Stop
|
||||
search: '`linux_auditd` type=SERVICE_STOP unit IN ("sysmon") | rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid UID comm
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime by type pid comm
|
||||
exe unit dest | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_sysmon_service_stop_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Linux Auditd Unix Shell Configuration Modification
|
||||
id: 66f737c6-3f7f-46ed-8e9b-cc0e5bf01f04
|
||||
version: 6
|
||||
date: '2025-05-02'
|
||||
version: 7
|
||||
date: '2025-06-10'
|
||||
author: Teoderick Contreras, Splunk
|
||||
status: production
|
||||
type: TTP
|
||||
@@ -20,10 +20,13 @@ search: '`linux_auditd` type=PATH name IN ("/etc/profile", "/etc/shells", "/etc/
|
||||
"/etc/zsh/zlogout", "/etc/csh.cshrc", "/etc/csh.login", "/root/.bashrc", "/root/.bash_profile",
|
||||
"root/.profile", "/root/.zshrc", "/root/.zprofile", "/home/*/.bashrc", "/home/*/.zshrc",
|
||||
"/home/*/.bash_profile", "/home/*/.zprofile", "/home/*/.profile", "/home/*/.bash_login",
|
||||
"/home/*/.bash_logout", "/home/*/.zlogin", "/home/*/.zlogout") | rename host as
|
||||
dest | stats count min(_time) as firstTime max(_time) as lastTime by name nametype
|
||||
OGID type dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
|
||||
`linux_auditd_unix_shell_configuration_modification_filter`'
|
||||
"/home/*/.bash_logout", "/home/*/.zlogin", "/home/*/.zlogout")
|
||||
| rename host as dest
|
||||
| stats count min(_time) as firstTime max(_time) as lastTime
|
||||
by name nametype ogid type dest
|
||||
| `security_content_ctime(firstTime)`
|
||||
| `security_content_ctime(lastTime)`
|
||||
| `linux_auditd_unix_shell_configuration_modification_filter`'
|
||||
how_to_implement: To implement this detection, the process begins by ingesting auditd
|
||||
data, that consist SYSCALL, TYPE, EXECVE and PROCTITLE events, which captures command-line
|
||||
executions and process details on Unix/Linux systems. These logs should be ingested
|
||||
@@ -78,6 +81,6 @@ tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data:
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.004/linux_auditd_unix_shell_mod_config/linux_auditd_unix_shell_mod_config.log
|
||||
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1546.004/linux_auditd_unix_shell_mod_config//linux_path_profile_d.log
|
||||
source: auditd
|
||||
sourcetype: auditd
|
||||
|
||||
Reference in New Issue
Block a user