https://api.splunkresearch.com/schemas/baselines.jsonThe fields that make up the manifest of a version 2 baseline search
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Defined In |
|---|---|---|---|---|---|---|
| Can be instantiated | Yes | Experimental | No | Forbidden | Permitted |
| Property | Type | Required | Nullable | Defined by |
|---|---|---|---|---|
| baseline | object |
Required | No | Baseline Manifest (this schema) |
| creation_date | string |
Required | No | Baseline Manifest (this schema) |
| data_metadata | object |
Required | No | Baseline Manifest (this schema) |
| description | string |
Required | No | Baseline Manifest (this schema) |
| eli5 | string |
Required | No | Baseline Manifest (this schema) |
| entities | enum[] |
Optional | No | Baseline Manifest (this schema) |
| how_to_implement | string |
Required | No | Baseline Manifest (this schema) |
| id | string |
Required | No | Baseline Manifest (this schema) |
| known_false_positives | string |
Required | No | Baseline Manifest (this schema) |
| maintainers | object[] |
Required | No | Baseline Manifest (this schema) |
| modification_date | string |
Required | No | Baseline Manifest (this schema) |
| name | string |
Required | No | Baseline Manifest (this schema) |
| original_authors | object[] |
Required | No | Baseline Manifest (this schema) |
| spec_version | integer |
Required | No | Baseline Manifest (this schema) |
| type | enum |
Required | No | Baseline Manifest (this schema) |
| version | string |
Required | No | Baseline Manifest (this schema) |
* |
any | Additional | Yes | this schema allows additional properties |
baseline
- is required
- type:
object - defined in this schema
object with following properties:
| Property | Type | Required |
|---|---|---|
phantom |
Optional | |
splunk |
Optional |
phantom
- is optional
- type: reference
splunk
- is optional
- type: reference
The date the baseline manifest was created
creation_date
- is required
- type:
string - defined in this schema
string
"2019-02-14"Information about the date being ingested
data_metadata
- is required
- type:
object - defined in this schema
object with following properties:
| Property | Type | Required |
|---|---|---|
data_eventtypes |
array | Optional |
data_models |
array | Optional |
data_source |
array | Required |
data_sourcetypes |
array | Optional |
providing_technologies |
array | Required |
A list of eventtypes, if any, used by this search
data_eventtypes
- is optional
- type:
string[]* at least0items in the array
Array type: string[]
All items must be of the type:
string
wineventlogA list of data models, if any, used by this search
data_models
- is optional
- type:
enum[]* at least0items in the array
Array type: enum[]
All items must be of the type: Unknown type ``.
{
"description": "A list of data models, if any, used by this search",
"examples": [
"Network_Resolution"
],
"items": {
"enum": [
"Alerts",
"Application_State",
"Authentication",
"Certificates",
"Change_Analysis",
"Change",
"Cloud_Infrastructure",
"Malware",
"Email",
"Identity_Management",
"Network_Resolution",
"Network_Traffic",
"Vulnerabilities",
"Web",
"Network_Sessions",
"Updates",
"Risk",
"Endpoint"
],
"simpletype": "`enum`",
"meta:enum": {
"Alerts": "",
"Application_State": "",
"Authentication": "",
"Certificates": "",
"Change_Analysis": "",
"Cloud_Infrastructure": "",
"Change": "",
"Malware": "",
"Email": "",
"Identity_Management": "",
"Network_Resolution": "",
"Network_Traffic": "",
"Vulnerabilities": "",
"Web": "",
"Network_Sessions": "",
"Updates": "",
"Risk": "",
"Endpoint": ""
}
},
"minItems": 0,
"type": "array",
"uniqueItems": true,
"simpletype": "`enum[]`"
}Network_ResolutionA high-level description of the type of data needed for this search to complete
data_source
- is required
- type:
string[]* at least0items in the array
Array type: string[]
All items must be of the type:
string
DNSThe list of sourcetypes, if any, used by this search
data_sourcetypes
- is optional
- type:
string[]* at least0items in the array
Array type: string[]
All items must be of the type:
string
stream:dnsA list of technologies that provide this data
providing_technologies
- is required
- type:
enum[]* at least0items in the array
Array type: enum[]
All items must be of the type: Unknown type ``.
{
"description": "A list of technologies that provide this data",
"examples": [
"Bro"
],
"items": {
"enum": [
"Apache",
"AWS",
"Bro",
"Microsoft Windows",
"Linux",
"macOS",
"Netbackup",
"Splunk Enterprise",
"Splunk Enterprise Security",
"Splunk Stream",
"Active Directory",
"Bluecoat",
"Carbon Black Response",
"Carbon Black Protect",
"CrowdStrike Falcon",
"Microsoft Exchange",
"Nessus",
"Palo Alto Firewall",
"Qualys",
"Sysmon",
"Tanium",
"Ziften",
"Censys",
"Passive Total",
"WHOIS"
],
"simpletype": "`enum`",
"meta:enum": {
"Apache": "",
"AWS": "",
"Bro": "",
"Microsoft Windows": "",
"Linux": "",
"macOS": "",
"Netbackup": "",
"Splunk Enterprise": "",
"Splunk Enterprise Security": "",
"Splunk Stream": "",
"Active Directory": "",
"Bluecoat": "",
"Carbon Black Response": "",
"Carbon Black Protect": "",
"CrowdStrike Falcon": "",
"Microsoft Exchange": "",
"Nessus": "",
"Palo Alto Firewall": "",
"Qualys": "",
"Sysmon": "",
"Tanium": "",
"Ziften": "",
"Censys": "",
"Passive Total": "",
"WHOIS": ""
}
},
"minItems": 0,
"type": "array",
"uniqueItems": true,
"simpletype": "`enum[]`"
}BroA description of what the search is is doing to create a baseline
description
- is required
- type:
string - defined in this schema
string
"The search takes corporate and common cloud provider domains configured under `cim_corporate_email_domains.csv`, `cim_corporate_web_domains.csv`, and `cloud_domains.csv` finds their responses across the last 30 days from data in the `Network_Traffic` datamodel, then stores the output under the `discovered_dns_records.csv` lookup"Explain it like I am 5 - A detail description of the SPL of the search, written in a style that can be understood by a future Splunk expert
eli5
- is required
- type:
string - defined in this schema
string
"Discover the DNS records and their answers for domains owned by the company using network traffic events. The discovered events are exported as a lookup named `discovered_dns_records.csv`"A list of entities that will used in the story flow or are relevant to the security investigation.
entities
- is optional
- type:
enum[] - at least
0items in the array - defined in this schema
Array type: enum[]
All items must be of the type: Unknown type ``.
{
"description": "A list of entities that will used in the story flow or are relevant to the security investigation.",
"examples": [
"dest",
"user"
],
"items": {
"enum": [
"accessKeyId",
"arn",
"awsRegion",
"bucketName",
"City",
"Country",
"dest_port",
"dest",
"event_id",
"instanceId",
"message_id",
"networkAclId",
"process_name",
"process",
"recipient",
"Region",
"resourceId",
"session_id",
"src_ip",
"src_mac",
"src_user",
"src",
"user",
"query",
"answer"
],
"simpletype": "`enum`",
"meta:enum": {
"accessKeyId": "",
"arn": "",
"awsRegion": "",
"bucketName": "",
"City": "",
"Country": "",
"dest_port": "",
"dest": "",
"event_id": "",
"instanceId": "",
"message_id": "",
"networkAclId": "",
"process_name": "",
"process": "",
"recipient": "",
"Region": "",
"resourceId": "",
"session_id": "",
"src_ip": "",
"src_mac": "",
"src_user": "",
"src": "",
"user": "",
"query": "",
"answer": ""
}
},
"minItems": 0,
"type": "array",
"uniqueItems": true,
"simpletype": "`enum[]`"
}"dest""user"A discussion on how to implement this search, from what needs to be ingested, config files modified, and suggested per site modifications
how_to_implement
- is required
- type:
string - defined in this schema
string
"To successfully implement this search, you must be ingesting DNS logs, and populating the Network_Resolution data model. Also make sure that the cim_corporate_web_domains and cim_corporate_email_domains lookups are populated with the domains owned by your corporation"The unique identifier for the search
id
- is required
- type:
string - defined in this schema
string
"c096f721-8842-42ce-bfc7-74bd8c72b7c3"Describe the known false postives while the analyst builds the baseline.
known_false_positives
- is required
- type:
string - defined in this schema
string
"Please vet the lookup created by this baseline search."An array of the current maintainers of the Analytic Story.
maintainers
- is required
- type:
object[] - defined in this schema
Array type: object[]
All items must be of the type:
object with following properties:
| Property | Type | Required |
|---|---|---|
company |
string | Required |
email |
string | Required |
name |
string | Required |
Company associated with the person maintaining this search
company
- is required
- type:
string
string
SplunkEmail address of the person maintaining this search
email
- is required
- type:
string
string
daftpunk@splunk.comName of the person maintaining this search
name
- is required
- type:
string
string
Daft PunkThe date of the most recent modification to the search
modification_date
- is required
- type:
string - defined in this schema
string
"2019-02-14"The name of the search that creates the baseline
name
- is required
- type:
string - defined in this schema
string
"Discover DNS records"A list of the original authors of the search
original_authors
- is required
- type:
object[] - defined in this schema
Array type: object[]
All items must be of the type:
object with following properties:
| Property | Type | Required |
|---|---|---|
company |
string | Required |
email |
string | Required |
name |
string | Required |
Company associated with the person who originally authored the search
company
- is required
- type:
string
string
SplunkEmail address of the person who originally authored the search
email
- is required
- type:
string
string
daftpunk@splunk.comName of the person who originally authored the search
name
- is required
- type:
string
string
Daft PunkThe version of the detection search specification this manifest follows
spec_version
- is required
- type:
integer - defined in this schema
integer
"2.0"The type of baseline
type
- is required
- type:
enum - defined in this schema
The value of this property must be equal to one of the known values below.
| Value | Description |
|---|---|
splunk |
|
phantom |
|
uba |
"splunk"The version of the search
version
- is required
- type:
string - defined in this schema
string
"1""2"| Property | Type | Group |
|---|---|---|
| phantom_server | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/phantom |
| playbook_name | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/phantom |
| playbook_url | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/phantom |
| schedule | object |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/splunk |
| search | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/splunk |
| sensitivity | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/phantom |
| severity | string |
https://api.splunkresearch.com/schemas/baselines.json#/definitions/phantom |
IP address and username of the phantom server. Currently, we will ship this value as automation (hostname) and we encourage the users to modify those values according to their environment. Eg: automation (hostname)
phantom_server
- is optional
- type:
string - defined in this schema
string
"automation (hostname)"Name of the playbook. This name should be the same as the name on phantom community repository on github with underscores and appended with community/<playbook_name>. The playbooks are hosted on https://github.com/phantomcyber/playbooks. Eg: community/simple_network_enrichment
playbook_name
- is optional
- type:
string - defined in this schema
string
"community/dns_hijack_investigation"Url of the playbook on Phantom website.
playbook_url
- is optional
- type:
string - defined in this schema
string
"https://my.phantom.us/4.1/playbook/dns-hijack-investigation/"Various fields to assist in scheduling the search
schedule
- is optional
- type:
object - defined in this schema
object with following properties:
| Property | Type | Required |
|---|---|---|
cron_schedule |
string | Optional |
earliest_time |
string | Optional |
latest_time |
string | Optional |
Schedule of the search in cron format
cron_schedule
- is optional
- type:
string
string
0 * * * *The earliest time the search should run in Splunk format
earliest_time
- is optional
- type:
string
string
-70m@mThe latest time tes search should run against in Splunk format
latest_time
- is optional
- type:
string
string
-10m@mThe search (in SPL) executed within core Splunk for investgation.
search
- is optional
- type:
string - defined in this schema
string
"| inputlookup discovered_dns_records.csv | rename answer as discovered_answer | join domain[|tstats summariesonly=true 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)"TLP colors (White, Green, Amber or Red)
sensitivity
- is optional
- type:
string - defined in this schema
string
"green"Severity in phantom (High, Medium, Low)
severity
- is optional
- type:
string - defined in this schema
string
"medium"