/
dns_record_changed.yml
67 lines (64 loc) · 2.79 KB
/
dns_record_changed.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: DNS record changed
id: 44d3a43e-dcd5-49f7-8356-5209bb369065
version: 3
date: '2020-07-21'
author: Jose Hernandez, Splunk
status: deprecated
type: TTP
description: The search takes the DNS records and their answers results of the discovered_dns_records
lookup and finds if any records have changed by searching DNS response from the
Network_Resolution datamodel across the last day.
data_source: []
search: '| inputlookup discovered_dns_records | rename answer as discovered_answer
| join domain[|tstats `security_content_summariesonly` count values(DNS.record_type)
as type, values(DNS.answer) as current_answer values(DNS.src) as src from datamodel=Network_Resolution
where DNS.message_type=RESPONSE DNS.answer!="unknown" DNS.answer!="" by DNS.query
| rename DNS.query as query | where query!="unknown" | rex field=query "(?<domain>\w+\.\w+?)(?:$|/)"]
| makemv delim=" " answer | makemv delim=" " type | sort -count | table count,src,domain,type,query,current_answer,discovered_answer
| makemv current_answer | mvexpand current_answer | makemv discovered_answer |
eval n=mvfind(discovered_answer, current_answer) | where isnull(n) | `dns_record_changed_filter`'
how_to_implement: 'To successfully implement this search you will need to ensure that
DNS data is populating the `Network_Resolution` data model. It also requires that
the `discover_dns_record` lookup table be populated by the included support search
"Discover DNS record".
**Splunk>Phantom Playbook Integration**
If Splunk>Phantom is also configured in your environment, a Playbook called "DNS Hijack Enrichment"
can be configured to run when any results are found by this detection search.
The playbook takes in the DNS record changed and uses Geoip, whois, Censys and
PassiveTotal to detect if DNS issuers changed. To use this integration, install
the Phantom App for Splunk `https://splunkbase.splunk.com/app/3411/`, add the
correct hostname to the \"Phantom Instance\" field in the Adaptive Response Actions
when configuring this detection search, and set the corresponding Playbook to
active.
(Playbook Link:`https://my.phantom.us/4.2/playbook/dns-hijack-enrichment/`)'
known_false_positives: Legitimate DNS changes can be detected in this search. Investigate,
verify and update the list of provided current answers for the domains in question
as appropriate.
references: []
tags:
analytic_story:
- DNS Hijacking
asset_type: Endpoint
confidence: 50
impact: 50
message: tbd
mitre_attack_id:
- T1071.004
observable:
- name: field
type: Unknown
role:
- Unknown
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
required_fields:
- _time
- DNS.record_type
- DNS.answer
- DNS.src
- DNS.message_type
- DNS.query
risk_score: 25
security_domain: network