From 7d2a728085976bb5d0eb7635b3ddff63cf5a2094 Mon Sep 17 00:00:00 2001 From: Lou Stella Date: Thu, 26 May 2022 12:21:20 -0500 Subject: [PATCH] anomaly for non TLS forwarders --- ...igital_certificates_lack_of_encryption.yml | 53 +++++++++++++++++++ ...l_certificates_lack_of_encryption.test.yml | 13 +++++ 2 files changed, 66 insertions(+) create mode 100644 detections/application/splunk_digital_certificates_lack_of_encryption.yml create mode 100644 tests/application/splunk_digital_certificates_lack_of_encryption.test.yml diff --git a/detections/application/splunk_digital_certificates_lack_of_encryption.yml b/detections/application/splunk_digital_certificates_lack_of_encryption.yml new file mode 100644 index 0000000000..56daf54a7a --- /dev/null +++ b/detections/application/splunk_digital_certificates_lack_of_encryption.yml @@ -0,0 +1,53 @@ +name: Splunk Digital Certificates Lack of Encryption +id: 386a7ebc-737b-48cf-9ca8-5405459ed508 +version: 1 +date: '2022-05-26' +author: Lou Stella, Splunk +type: Anomaly +datamodel: [] +description: On June 10th, 2022, Splunk released a security advisory relating to the authentication that happens between Universal Forwarders and Deployment Servers. In some circumstances, an unauthenticated client can download forwarder bundles from the Deployment Server. In other circumstances, a client may be allowed to publish a forwarder bundle to other clients, which may allow for arbitrary code execution. The fixes for these require upgrading to at least Splunk 9.0 on the forwarder as well. This is a great opportunity to configure TLS across the environment. This search looks for forwarders that are not using TLS and adds risk to those entities. +search: '| `splunkd` group="tcpin_connections" ssl="false" | stats values(sourceIp) latest(fwdType) latest(version) by hostname | `splunk_digital_certificates_lack_of_encryption_filter`' +how_to_implement: This anomaly search looks for forwarder connections that are not currently using TLS. It then presents the source IP, the type of forwarder, and the version of the forwarder. You can also remove the "ssl=false" argument from the initial stanza in order to get a full list of all your forwarders that are sending data, and the version of Splunk software they are running, for audit purposes. +known_false_positives: None at this time +references: +- https://www.splunk.com/en_us/product-security/announcements/svd-2022-0607.html +- https://www.splunk.com/en_us/product-security/announcements/svd-2022-0608.html +tags: + analytic_story: + - Splunk Vulnerabilities + asset_type: endpoint + cis20: + - CIS 3 + - CIS 5 + - CIS 16 + confidence: 80 + context: + - Source:Endpoint + dataset: + - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1587.003/splunk_fwder/splunkd.log + impact: 25 + kill_chain_phases: + - Exploitation + message: $hostname$ is not using TLS when forwarding data + mitre_attack_id: + - T1587.003 + nist: + - DE.CM + observable: + - name: hostname + type: Hostname + role: + - Victim + product: + - Splunk Enterprise + - Splunk Enterprise Security + - Splunk Cloud + required_fields: + - group + - ssl + - sourceIp + - fwdType + - version + - hostname + risk_score: 20 + security_domain: threat diff --git a/tests/application/splunk_digital_certificates_lack_of_encryption.test.yml b/tests/application/splunk_digital_certificates_lack_of_encryption.test.yml new file mode 100644 index 0000000000..6fc83c2e2f --- /dev/null +++ b/tests/application/splunk_digital_certificates_lack_of_encryption.test.yml @@ -0,0 +1,13 @@ +name: Splunk Digital Certificates Lack of Encryption Unit Test +tests: +- name: Splunk Digital Certificates Lack of Encryption + file: application/splunk_digital_certificates_lack_of_encryption.yml + pass_condition: '| stats count | where count > 0' + earliest_time: -24h + latest_time: now + attack_data: + - file_name: splunkd.log + data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1587.003/splunk_fwder/splunkd.log + source: "/opt/splunk/var/log/splunk/metrics.log" + sourcetype: splunkd + update_timestamp: false