From 84fc9ace197cd3ad0026f640b935778f3f0b6e75 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Fri, 9 Aug 2024 17:07:42 +0200 Subject: [PATCH 01/10] Disable normalization if synthetics is enabled when validating transforms --- internal/testrunner/runners/system/tester.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/testrunner/runners/system/tester.go b/internal/testrunner/runners/system/tester.go index 72b79c0cf..dc16c99b8 100644 --- a/internal/testrunner/runners/system/tester.go +++ b/internal/testrunner/runners/system/tester.go @@ -1462,7 +1462,7 @@ func (r *tester) validateTestScenario(ctx context.Context, result *testrunner.Re } // Check transforms if present - if err := r.checkTransforms(ctx, config, r.pkgManifest, scenario.kibanaDataStream, scenario.dataStream); err != nil { + if err := r.checkTransforms(ctx, config, r.pkgManifest, scenario.kibanaDataStream, scenario.dataStream, scenario.syntheticEnabled); err != nil { results, _ := result.WithError(err) return results, nil } @@ -1793,7 +1793,7 @@ func selectPolicyTemplateByName(policies []packages.PolicyTemplate, name string) return packages.PolicyTemplate{}, fmt.Errorf("policy template %q not found", name) } -func (r *tester) checkTransforms(ctx context.Context, config *testConfig, pkgManifest *packages.PackageManifest, ds kibana.PackageDataStream, dataStream string) error { +func (r *tester) checkTransforms(ctx context.Context, config *testConfig, pkgManifest *packages.PackageManifest, ds kibana.PackageDataStream, dataStream string, syntheticEnabled bool) error { transforms, err := packages.ReadTransformsFromPackageRoot(r.packageRootPath) if err != nil { return fmt.Errorf("loading transforms for package failed (root: %s): %w", r.packageRootPath, err) @@ -1839,6 +1839,7 @@ func (r *tester) checkTransforms(ctx context.Context, config *testConfig, pkgMan fields.WithSpecVersion(pkgManifest.SpecVersion), fields.WithNumericKeywordFields(config.NumericKeywordFields), fields.WithEnabledImportAllECSSChema(true), + fields.WithDisableNormalization(syntheticEnabled), ) if err != nil { return fmt.Errorf("creating fields validator for data stream failed (path: %s): %w", transformRootPath, err) From ab88d3dbad6ae6363c109edbb267d1f7ead70cf7 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Fri, 9 Aug 2024 17:08:09 +0200 Subject: [PATCH 02/10] Enable logsdb by default - to be reverted --- internal/stack/_static/elasticsearch.yml.tmpl | 4 ++-- internal/stack/resources.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/stack/_static/elasticsearch.yml.tmpl b/internal/stack/_static/elasticsearch.yml.tmpl index 43a8a981a..ceb876147 100644 --- a/internal/stack/_static/elasticsearch.yml.tmpl +++ b/internal/stack/_static/elasticsearch.yml.tmpl @@ -15,8 +15,8 @@ ingest.geoip.downloader.enabled: false {{- $version := fact "elasticsearch_version" -}} {{- $logsdb_enabled := fact "logsdb_enabled" -}} -{{ if (and (eq $logsdb_enabled "true") (not (semverLessThan $version "8.15.0-SNAPSHOT"))) }} -cluster.logsdb.enabled: true +{{ if (not (semverLessThan $version "8.15.0-SNAPSHOT")) }} +cluster.logsdb.enabled: {{ $logsdb_enabled }} {{- end -}} {{ if semverLessThan $version "8.0.0" }} diff --git a/internal/stack/resources.go b/internal/stack/resources.go index a7587e663..8238157af 100644 --- a/internal/stack/resources.go +++ b/internal/stack/resources.go @@ -163,7 +163,7 @@ func applyResources(profile *profile.Profile, stackVersion string) error { "apm_enabled": profile.Config(configAPMEnabled, "false"), "geoip_dir": profile.Config(configGeoIPDir, "./ingest-geoip"), "kibana_http2_enabled": profile.Config(configKibanaHTTP2Enabled, "true"), - "logsdb_enabled": profile.Config(configLogsDBEnabled, "false"), + "logsdb_enabled": profile.Config(configLogsDBEnabled, "true"), "logstash_enabled": profile.Config(configLogstashEnabled, "false"), "self_monitor_enabled": profile.Config(configSelfMonitorEnabled, "false"), }) From 1003403ca288437265fe4387d29b26035df07685 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 12 Aug 2024 11:07:37 +0200 Subject: [PATCH 03/10] Allow to read pipeline trace value as string or slice of strings --- internal/testrunner/runners/system/tester.go | 33 ++++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/internal/testrunner/runners/system/tester.go b/internal/testrunner/runners/system/tester.go index dc16c99b8..2c6713d18 100644 --- a/internal/testrunner/runners/system/tester.go +++ b/internal/testrunner/runners/system/tester.go @@ -842,14 +842,35 @@ type scenarioTest struct { startTestTime time.Time } +type pipelineTrace []string + +func (p *pipelineTrace) UnmarshalJSON(d []byte) error { + var alias interface{} + if err := json.Unmarshal(d, &alias); err != nil { + return err + } + switch v := alias.(type) { + case string: + *p = append(*p, v) + case []any: + // asume it is going to be an array of strings + for _, value := range v { + *p = append(*p, fmt.Sprint(value)) + } + default: + return fmt.Errorf("unexpected type found for pipeline_trace: %T", v) + } + return nil +} + type failureStoreDocument struct { Error struct { - Type string `json:"type"` - Message string `json:"message"` - StackTrace string `json:"stack_trace"` - PipelineTrace []string `json:"pipeline_trace"` - Pipeline string `json:"pipeline"` - ProcessorType string `json:"processor_type"` + Type string `json:"type"` + Message string `json:"message"` + StackTrace string `json:"stack_trace"` + PipelineTrace pipelineTrace `json:"pipeline_trace"` + Pipeline string `json:"pipeline"` + ProcessorType string `json:"processor_type"` } `json:"error"` } From 0c8abda4208f46ca8bfed0cc9d269c5ed54509f0 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Mon, 12 Aug 2024 15:54:48 +0200 Subject: [PATCH 04/10] Revert "Enable logsdb by default - to be reverted" This reverts commit ab88d3dbad6ae6363c109edbb267d1f7ead70cf7. --- internal/stack/_static/elasticsearch.yml.tmpl | 4 ++-- internal/stack/resources.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/stack/_static/elasticsearch.yml.tmpl b/internal/stack/_static/elasticsearch.yml.tmpl index ceb876147..43a8a981a 100644 --- a/internal/stack/_static/elasticsearch.yml.tmpl +++ b/internal/stack/_static/elasticsearch.yml.tmpl @@ -15,8 +15,8 @@ ingest.geoip.downloader.enabled: false {{- $version := fact "elasticsearch_version" -}} {{- $logsdb_enabled := fact "logsdb_enabled" -}} -{{ if (not (semverLessThan $version "8.15.0-SNAPSHOT")) }} -cluster.logsdb.enabled: {{ $logsdb_enabled }} +{{ if (and (eq $logsdb_enabled "true") (not (semverLessThan $version "8.15.0-SNAPSHOT"))) }} +cluster.logsdb.enabled: true {{- end -}} {{ if semverLessThan $version "8.0.0" }} diff --git a/internal/stack/resources.go b/internal/stack/resources.go index 8238157af..a7587e663 100644 --- a/internal/stack/resources.go +++ b/internal/stack/resources.go @@ -163,7 +163,7 @@ func applyResources(profile *profile.Profile, stackVersion string) error { "apm_enabled": profile.Config(configAPMEnabled, "false"), "geoip_dir": profile.Config(configGeoIPDir, "./ingest-geoip"), "kibana_http2_enabled": profile.Config(configKibanaHTTP2Enabled, "true"), - "logsdb_enabled": profile.Config(configLogsDBEnabled, "true"), + "logsdb_enabled": profile.Config(configLogsDBEnabled, "false"), "logstash_enabled": profile.Config(configLogstashEnabled, "false"), "self_monitor_enabled": profile.Config(configSelfMonitorEnabled, "false"), }) From 708f4c8cfb6d3845890e467a1e451d20a58ce3e8 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 13:36:43 +0200 Subject: [PATCH 05/10] Add error and expected errors in rally_benchmark_malformed_template test package --- .../rally_benchmark_malformed_template.expected_errors | 1 + .../_dev/benchmark/rally/logs-benchmark/template.ndjson | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 test/packages/false_positives/rally_benchmark_malformed_template.expected_errors diff --git a/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors b/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors new file mode 100644 index 000000000..a23cc32eb --- /dev/null +++ b/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors @@ -0,0 +1 @@ +failed to initialize backfill generator for scenario "logs-benchmark": template: generator:12: unexpected "}" in operand diff --git a/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson b/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson index 0d1de34e7..a24574006 100644 --- a/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson +++ b/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson @@ -1,7 +1,7 @@ {{- $timestamp := generate "timestamp" -}} { "@timestamp": "{{ $timestamp.Format "2006-01-02T15:04:05.999999Z07:00" }}", -"data_stream.type": "logs", +data_stream.type": "logs", "data_stream.dataset": "rally_benchmarks.testds", "data_stream.namespace": "ep", "container.id": "{{ generate "container.id" }}", @@ -11,4 +11,4 @@ "log.offset": {{ generate "log.offset" }}, "tags": ["rally_benchmark.testds", "forwarded", "{{ generate "tags" }" ], "message": "{{ generate "IP" }} - - [{{ $timestamp.Format "02/Jan/2006:15:04:05.999999 -0700" }}] \"GET /favicon.ico HTTP/1.1\" {{ generate "StatusCode" }} {{ generate "Size" }} \"http://{{ generate "Hostname" }}:{{ generate "Port" }}/\" \"skip-this-one/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36\"" -} \ No newline at end of file +} From 5e96fbc5817f94650c2c9af163f3f67d94d2e9e6 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 17:43:20 +0200 Subject: [PATCH 06/10] Add test package to catch errors in transforms --- scripts/stack_parameters.sh | 31 + scripts/test-check-false-positives.sh | 22 +- scripts/test-check-packages.sh | 12 +- .../ti_anomali_logsdb.stack_provider_settings | 1 + .../ti_anomali_logsdb/_dev/build/build.yml | 3 + .../_dev/build/docs/README.md | 33 + .../_dev/deploy/docker/docker-compose.yml | 37 + .../_dev/deploy/docker/files/config.yml | 476 ++ .../deploy/docker/files/test-intel.ndjson | 3 + .../sample_logs/test-threatstream-ndjson.log | 100 + .../parallel/ti_anomali_logsdb/changelog.yml | 121 + .../pipeline/test-anomali-threatstream.json | 2410 +++++++ ...st-anomali-threatstream.json-expected.json | 5743 +++++++++++++++++ .../_dev/test/pipeline/test-common-config.yml | 5 + .../system/test-integrator-http-config.yml | 11 + .../test/system/test-webhook-http-config.yml | 10 + .../test/system/test-webhook-https-config.yml | 61 + .../agent/stream/http_endpoint.yml.hbs | 54 + .../elasticsearch/ilm/default_poilcy.json | 23 + .../elasticsearch/ingest_pipeline/default.yml | 472 ++ .../data_stream/threatstream/fields/agent.yml | 198 + .../threatstream/fields/base-fields.yml | 28 + .../data_stream/threatstream/fields/beats.yml | 12 + .../data_stream/threatstream/fields/ecs.yml | 70 + .../threatstream/fields/fields.yml | 106 + .../data_stream/threatstream/manifest.yml | 93 + .../threatstream/sample_event.json | 92 + .../parallel/ti_anomali_logsdb/docs/README.md | 231 + .../transform/latest_ioc/fields/agent.yml | 198 + .../latest_ioc/fields/base-fields.yml | 28 + .../transform/latest_ioc/fields/beats.yml | 12 + .../transform/latest_ioc/fields/ecs.yml | 70 + .../transform/latest_ioc/fields/fields.yml | 101 + .../transform/latest_ioc/manifest.yml | 18 + .../transform/latest_ioc/transform.yml | 31 + .../ti_anomali_logsdb/img/anomali.svg | 4950 ++++++++++++++ ...-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json | 938 +++ ...-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json | 830 +++ ...-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json | 862 +++ ...-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json | 811 +++ ...-94419670-4261-11ec-b7be-d3026acdf1cf.json | 15 + .../tag/ti_anomali-fleet-managed-default.json | 15 + ..._anomali-fleet-pkg-ti_anomali-default.json | 15 + ...-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json | 14 + .../parallel/ti_anomali_logsdb/manifest.yml | 26 + 45 files changed, 19374 insertions(+), 18 deletions(-) create mode 100644 scripts/stack_parameters.sh create mode 100644 test/packages/parallel/ti_anomali_logsdb.stack_provider_settings create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/config.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/test-intel.ndjson create mode 100644 test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/sample_logs/test-threatstream-ndjson.log create mode 100644 test/packages/parallel/ti_anomali_logsdb/changelog.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/agent.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/fields.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/docs/README.md create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/img/anomali.svg create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json create mode 100644 test/packages/parallel/ti_anomali_logsdb/manifest.yml diff --git a/scripts/stack_parameters.sh b/scripts/stack_parameters.sh new file mode 100644 index 000000000..9370b75fa --- /dev/null +++ b/scripts/stack_parameters.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +stack_version_args() { + if [[ -z "$PACKAGE_UNDER_TEST" ]]; then + # Don't force stack version if we are testing multiple packages. + return + fi + + local package_root=test/packages/${PACKAGE_TEST_TYPE:-false_positives}/${PACKAGE_UNDER_TEST}/ + local stack_version_file="${package_root%/}.stack_version" + if [[ ! -f "$stack_version_file" ]]; then + return + fi + + echo -n "--version $(cat "$stack_version_file")" +} + +stack_provider_args() { + if [[ -z "$PACKAGE_UNDER_TEST" ]]; then + # Don't force stack version if we are testing multiple packages. + return + fi + + local package_root=test/packages/${PACKAGE_TEST_TYPE:-false_positives}/${PACKAGE_UNDER_TEST}/ + local parameters="${package_root%/}.stack_provider_settings" + if [[ ! -f "$parameters" ]]; then + return + fi + + echo -n "-U $(cat "${parameters}" | tr '\n' ',' | tr -d ' ' | sed 's/,$//')" +} \ No newline at end of file diff --git a/scripts/test-check-false-positives.sh b/scripts/test-check-false-positives.sh index 975100384..38b2ae38e 100755 --- a/scripts/test-check-false-positives.sh +++ b/scripts/test-check-false-positives.sh @@ -1,5 +1,9 @@ #!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +source "${SCRIPT_DIR}/stack_parameters.sh" + set -euxo pipefail function cleanup() { @@ -76,27 +80,13 @@ function check_build_output() { ) } -function stack_version_args() { - if [[ -z "$PACKAGE_UNDER_TEST" ]]; then - # Don't force stack version if we are testing multiple packages. - return - fi - - local package_root=test/packages/${PACKAGE_TEST_TYPE:-false_positives}/${PACKAGE_UNDER_TEST}/ - local stack_version_file="${package_root%/}.stack_version" - if [[ ! -f $stack_version_file ]]; then - return - fi - - echo -n "--version $(cat $stack_version_file)" -} - trap cleanup EXIT ELASTIC_PACKAGE_LINKS_FILE_PATH="$(pwd)/scripts/links_table.yml" export ELASTIC_PACKAGE_LINKS_FILE_PATH -stack_args=$(stack_version_args) +stack_args=$(stack_version_args) # --version +stack_args="${stack_args} $(stack_provider_args)" # -U # Update the stack elastic-package stack update -v ${stack_args} diff --git a/scripts/test-check-packages.sh b/scripts/test-check-packages.sh index d4d2d81f9..692067481 100755 --- a/scripts/test-check-packages.sh +++ b/scripts/test-check-packages.sh @@ -1,5 +1,9 @@ #!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +source "${SCRIPT_DIR}/stack_parameters.sh" + set -euxo pipefail cleanup() { @@ -69,11 +73,15 @@ fi # started to test all packages. In our CI, this Elastic serverless stack is started # at the beginning of the pipeline and must be running for all packages. if [[ "${SERVERLESS}" != "true" ]]; then + stack_args=$(stack_version_args) # --version + stack_args="${stack_args} $(stack_provider_args)" # -U + + echo "Stack Args: ${stack_args}" # Update the stack - elastic-package stack update -v + elastic-package stack update -v ${stack_args} # Boot up the stack - elastic-package stack up -d -v + elastic-package stack up -d -v ${stack_args} elastic-package stack status fi diff --git a/test/packages/parallel/ti_anomali_logsdb.stack_provider_settings b/test/packages/parallel/ti_anomali_logsdb.stack_provider_settings new file mode 100644 index 000000000..efdce0154 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb.stack_provider_settings @@ -0,0 +1 @@ +stack.logsdb_enabled=true diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml b/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml new file mode 100644 index 000000000..9da3f46d4 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml @@ -0,0 +1,3 @@ +dependencies: + ecs: + reference: git@8.7 diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md b/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md new file mode 100644 index 000000000..d15fa64fe --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md @@ -0,0 +1,33 @@ +# Anomali Integration + +The Anomali integration supports the following datasets. + +- `threatstream` dataset: Support for [Anomali ThreatStream](https://www.anomali.com/products/threatstream), a commercial Threat Intelligence service. + +## Logs + +### Anomali Threatstream + +This integration requires additional software, the _Elastic_ _Extension,_ +to connect the Anomali ThreatStream with this integration. It's available +at the [ThreatStream download page.](https://ui.threatstream.com/downloads) + +Please refer to the documentation included with the Extension for a detailed +explanation on how to configure the Anomali ThreatStream to send indicator +to this integration. + +### Expiration of Indicators of Compromise (IOCs) +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. + +#### Handling Orphaned IOCs +When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. + +**NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. + +### ILM Policy +To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. + + +{{event "threatstream"}} + +{{fields "threatstream"}} diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml new file mode 100644 index 000000000..ba5c31a79 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml @@ -0,0 +1,37 @@ +version: '2.3' +services: + limo-http: + image: docker.elastic.co/observability/stream:v0.6.1 + ports: + - 8080 + volumes: + - ./files:/files:ro + environment: + PORT: 8080 + command: + - http-server + - --addr=:8080 + - --config=/files/config.yml + threatstream-webhook-http: + image: docker.elastic.co/observability/stream:v0.6.1 + volumes: + - ./sample_logs:/sample_logs:ro + environment: + - STREAM_PROTOCOL=webhook + - STREAM_ADDR=http://elastic-agent:9080/ + command: log --webhook-content-type application/x-ndjson --start-signal=SIGHUP --delay=5s /sample_logs/test-threatstream-ndjson.log + threatstream-webhook-https: + image: docker.elastic.co/observability/stream:v0.6.1 + volumes: + - ./sample_logs:/sample_logs:ro + environment: + - STREAM_PROTOCOL=webhook + - STREAM_INSECURE=true + - STREAM_ADDR=https://elastic-agent:7443/ + command: log --webhook-content-type application/x-ndjson --start-signal=SIGHUP --delay=5s /sample_logs/test-threatstream-ndjson.log + threatstream-integrator-test: + image: docker.io/adrisr/filebeat-anomali-integrator-test:latest + volumes: + - ./files:/files:ro + command: + - /files/test-intel.ndjson diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/config.yml b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/config.yml new file mode 100644 index 000000000..edd49e773 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/config.yml @@ -0,0 +1,476 @@ +rules: + - path: /api/v1/taxii2/feeds/collections/200/objects + methods: ["GET"] + request_headers: + Authorization: "Basic Z3Vlc3Q6Z3Vlc3Q=" + Range: "items 0-10000" + query_params: + match[type]: "indicator" + added_after: "2019-11-18T16:38:52.980Z" + responses: + - status_code: 200 + headers: + X-TAXII-Date-Added-Last: "2019-11-18T16:38:52.990Z" + Content-Type: "application/vnd.oasis.stix+json; version=2.0" + body: |- + { + "id": "bundle--53bf8cb5-4ea7-439b-a27d-3f86bfcca0ea", + "objects": [ + { + "created": "2019-09-25T20:40:56.387Z", + "description": "TS ID: 53831101724; iType: mal_domain; State: active; Org: Amazon.com; Source: Malware Domain List - Hotlist", + "id": "indicator--fea41bba-7eb7-4a3e-9eee-8ee08a6c651c", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-53" + ], + "modified": "2019-09-25T20:40:56.387Z", + "name": "mal_domain: www.assculturaleincontri.it", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'www.assculturaleincontri.it']", + "type": "indicator", + "valid_from": "2019-09-25T20:40:56.387Z" + }, + { + "created": "2019-09-25T20:41:45.991Z", + "description": "TS ID: 53831093466; iType: mal_domain; State: active; Org: Hostway Services; Source: Malware Domain List - Hotlist", + "id": "indicator--a1991fef-fb70-4dac-a60b-fe2533f2a379", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-16" + ], + "modified": "2019-09-25T20:41:45.991Z", + "name": "mal_domain: dancecourt.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'dancecourt.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:41:45.991Z" + }, + { + "created": "2019-09-25T20:43:07.257Z", + "description": "TS ID: 53831099469; iType: mal_domain; State: active; Org: Confluence Networks; Source: Malware Domain List - Hotlist", + "id": "indicator--f0db091e-1930-410b-bb83-245d390f7ae6", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-33" + ], + "modified": "2019-09-25T20:43:07.257Z", + "name": "mal_domain: strangeduckfilms.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'strangeduckfilms.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:43:07.257Z" + }, + { + "created": "2019-09-25T20:43:35.089Z", + "description": "TS ID: 53831100456; iType: mal_domain; State: active; Org: Rackspace Cloud Servers; Source: Malware Domain List - Hotlist", + "id": "indicator--f09cdeed-2c29-480d-b68a-2d2e6e2b5097", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-55" + ], + "modified": "2019-09-25T20:43:35.089Z", + "name": "mal_domain: ukonline.hc0.me", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'ukonline.hc0.me']", + "type": "indicator", + "valid_from": "2019-09-25T20:43:35.089Z" + }, + { + "created": "2019-09-25T20:45:58.09Z", + "description": "TS ID: 53831092118; iType: mal_domain; State: active; Org: Cloudflare; Source: Malware Domain List - Hotlist", + "id": "indicator--d3378c74-9091-4646-b87c-51a7492d2b48", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-46" + ], + "modified": "2019-09-25T20:45:58.09Z", + "name": "mal_domain: boschetto-hotel.gr", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'boschetto-hotel.gr']", + "type": "indicator", + "valid_from": "2019-09-25T20:45:58.09Z" + }, + { + "created": "2019-09-25T20:49:09.974Z", + "description": "TS ID: 53831099613; iType: mal_domain; State: active; Org: OVH SAS; Source: Malware Domain List - Hotlist", + "id": "indicator--099d613c-a6ac-47ac-8aee-6e1eaa844e11", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-48" + ], + "modified": "2019-09-25T20:49:09.974Z", + "name": "mal_domain: tecslide.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'tecslide.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:49:09.974Z" + }, + { + "created": "2019-09-25T20:49:11.119Z", + "description": "TS ID: 53831094038; iType: mal_domain; State: active; Org: New World Telephone; Source: Malware Domain List - Hotlist", + "id": "indicator--2a2040ba-db30-427d-8413-9f111670d24e", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-32" + ], + "modified": "2019-09-25T20:49:11.119Z", + "name": "mal_domain: dl.microsword.net", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'dl.microsword.net']", + "type": "indicator", + "valid_from": "2019-09-25T20:49:11.119Z" + }, + { + "created": "2019-09-25T20:55:24.344Z", + "description": "TS ID: 53838367927; iType: mal_domain; State: active; Org: GoDaddy.com, LLC; Source: Malware Domain List - Hotlist", + "id": "indicator--6f174eb8-4c13-4da2-82a4-ae0d524a6fec", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-55" + ], + "modified": "2019-09-25T20:55:24.344Z", + "name": "mal_domain: axisbuild.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'axisbuild.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:55:24.344Z" + }, + { + "created": "2019-09-25T21:02:24.591Z", + "description": "TS ID: 53860360073; iType: mal_domain; State: active; Org: Viacom Informatics Ltd.; Source: Malware Domain List - Hotlist", + "id": "indicator--837d2c7c-d0e7-4a15-ba43-86be8f96455a", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-20" + ], + "modified": "2019-09-25T21:02:24.591Z", + "name": "mal_domain: romvarimarton.hu", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'romvarimarton.hu']", + "type": "indicator", + "valid_from": "2019-09-25T21:02:24.591Z" + }, + { + "created": "2019-09-29T03:52:31.539Z", + "description": "TS ID: 53947478938; iType: mal_domain; State: active; Org: Iomart Hosting Limited; Source: Malware Domain List - Hotlist", + "id": "indicator--9954cfe8-5cbd-4d0f-9604-cbf00df6aa4d", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-24" + ], + "modified": "2019-09-29T03:52:31.539Z", + "name": "mal_domain: rsiuk.co.uk", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'rsiuk.co.uk']", + "type": "indicator", + "valid_from": "2019-09-29T03:52:31.539Z" + }, + { + "created": "2019-11-18T16:38:52.98Z", + "description": "TS ID: 54458889860; iType: mal_domain; State: active; Org: A100 ROW GmbH; Source: Malware Domain List - Hotlist", + "id": "indicator--245b5dad-f4b4-41bd-ac26-b074ba291612", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-16" + ], + "modified": "2019-11-18T16:38:52.98Z", + "name": "mal_domain: www.catgallery.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'www.catgallery.com']", + "type": "indicator", + "valid_from": "2019-11-18T16:38:52.98Z" + }, + { + "created": "2017-01-20T00:00:00.000Z", + "definition": { + "tlp": "green" + }, + "definition_type": "tlp", + "id": "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da", + "type": "marking-definition" + } + ], + "spec_version": "2.0", + "type": "bundle" + } + - path: /api/v1/taxii2/feeds/collections/200/objects + methods: ["GET"] + request_headers: + Authorization: "Basic Z3Vlc3Q6Z3Vlc3Q=" + Range: "items 0-10000" + query_params: + match[type]: "indicator" + added_after: "2019-11-18T16:38:52.990Z" + responses: + - status_code: 200 + headers: + X-TAXII-Date-Added-Last: "2019-11-18T16:38:52.991Z" + Content-Type: "application/vnd.oasis.stix+json; version=2.0" + body: |- + { + "id": "bundle--64fb1a2e-a973-4152-9c31-432d9da2bf9f", + "spec_version": "2.0", + "type": "bundle" + } + - path: /api/v1/taxii2/feeds/collections/200/objects + methods: ["GET"] + request_headers: + Authorization: "Basic Z3Vlc3Q6Z3Vlc3Q=" + Range: "items 0-10000" + query_params: + match[type]: "indicator" + added_after: "{added_after:.*}" + responses: + - status_code: 200 + headers: + X-TAXII-Date-Added-Last: "2019-11-18T16:38:52.980Z" + Content-Type: "application/vnd.oasis.stix+json; version=2.0" + body: |- + { + "id": "bundle--53bf8cb5-4ea7-439b-a27d-3f86bfcca0ea", + "objects": [ + { + "created": "2019-09-25T20:40:56.387Z", + "description": "TS ID: 53831101724; iType: mal_domain; State: active; Org: Amazon.com; Source: Malware Domain List - Hotlist", + "id": "indicator--fea41bba-7eb7-4a3e-9eee-8ee08a6c651c", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-53" + ], + "modified": "2019-09-25T20:40:56.387Z", + "name": "mal_domain: www.assculturaleincontri.it", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'www.assculturaleincontri.it']", + "type": "indicator", + "valid_from": "2019-09-25T20:40:56.387Z" + }, + { + "created": "2019-09-25T20:41:45.991Z", + "description": "TS ID: 53831093466; iType: mal_domain; State: active; Org: Hostway Services; Source: Malware Domain List - Hotlist", + "id": "indicator--a1991fef-fb70-4dac-a60b-fe2533f2a379", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-16" + ], + "modified": "2019-09-25T20:41:45.991Z", + "name": "mal_domain: dancecourt.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'dancecourt.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:41:45.991Z" + }, + { + "created": "2019-09-25T20:43:07.257Z", + "description": "TS ID: 53831099469; iType: mal_domain; State: active; Org: Confluence Networks; Source: Malware Domain List - Hotlist", + "id": "indicator--f0db091e-1930-410b-bb83-245d390f7ae6", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-33" + ], + "modified": "2019-09-25T20:43:07.257Z", + "name": "mal_domain: strangeduckfilms.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'strangeduckfilms.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:43:07.257Z" + }, + { + "created": "2019-09-25T20:43:35.089Z", + "description": "TS ID: 53831100456; iType: mal_domain; State: active; Org: Rackspace Cloud Servers; Source: Malware Domain List - Hotlist", + "id": "indicator--f09cdeed-2c29-480d-b68a-2d2e6e2b5097", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-55" + ], + "modified": "2019-09-25T20:43:35.089Z", + "name": "mal_domain: ukonline.hc0.me", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'ukonline.hc0.me']", + "type": "indicator", + "valid_from": "2019-09-25T20:43:35.089Z" + }, + { + "created": "2019-09-25T20:45:58.09Z", + "description": "TS ID: 53831092118; iType: mal_domain; State: active; Org: Cloudflare; Source: Malware Domain List - Hotlist", + "id": "indicator--d3378c74-9091-4646-b87c-51a7492d2b48", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-46" + ], + "modified": "2019-09-25T20:45:58.09Z", + "name": "mal_domain: boschetto-hotel.gr", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'boschetto-hotel.gr']", + "type": "indicator", + "valid_from": "2019-09-25T20:45:58.09Z" + }, + { + "created": "2019-09-25T20:49:09.974Z", + "description": "TS ID: 53831099613; iType: mal_domain; State: active; Org: OVH SAS; Source: Malware Domain List - Hotlist", + "id": "indicator--099d613c-a6ac-47ac-8aee-6e1eaa844e11", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-48" + ], + "modified": "2019-09-25T20:49:09.974Z", + "name": "mal_domain: tecslide.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'tecslide.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:49:09.974Z" + }, + { + "created": "2019-09-25T20:49:11.119Z", + "description": "TS ID: 53831094038; iType: mal_domain; State: active; Org: New World Telephone; Source: Malware Domain List - Hotlist", + "id": "indicator--2a2040ba-db30-427d-8413-9f111670d24e", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-32" + ], + "modified": "2019-09-25T20:49:11.119Z", + "name": "mal_domain: dl.microsword.net", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'dl.microsword.net']", + "type": "indicator", + "valid_from": "2019-09-25T20:49:11.119Z" + }, + { + "created": "2019-09-25T20:55:24.344Z", + "description": "TS ID: 53838367927; iType: mal_domain; State: active; Org: GoDaddy.com, LLC; Source: Malware Domain List - Hotlist", + "id": "indicator--6f174eb8-4c13-4da2-82a4-ae0d524a6fec", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-55" + ], + "modified": "2019-09-25T20:55:24.344Z", + "name": "mal_domain: axisbuild.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'axisbuild.com']", + "type": "indicator", + "valid_from": "2019-09-25T20:55:24.344Z" + }, + { + "created": "2019-09-25T21:02:24.591Z", + "description": "TS ID: 53860360073; iType: mal_domain; State: active; Org: Viacom Informatics Ltd.; Source: Malware Domain List - Hotlist", + "id": "indicator--837d2c7c-d0e7-4a15-ba43-86be8f96455a", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-20" + ], + "modified": "2019-09-25T21:02:24.591Z", + "name": "mal_domain: romvarimarton.hu", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'romvarimarton.hu']", + "type": "indicator", + "valid_from": "2019-09-25T21:02:24.591Z" + }, + { + "created": "2019-09-29T03:52:31.539Z", + "description": "TS ID: 53947478938; iType: mal_domain; State: active; Org: Iomart Hosting Limited; Source: Malware Domain List - Hotlist", + "id": "indicator--9954cfe8-5cbd-4d0f-9604-cbf00df6aa4d", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-24" + ], + "modified": "2019-09-29T03:52:31.539Z", + "name": "mal_domain: rsiuk.co.uk", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'rsiuk.co.uk']", + "type": "indicator", + "valid_from": "2019-09-29T03:52:31.539Z" + }, + { + "created": "2019-11-18T16:38:52.98Z", + "description": "TS ID: 54458889860; iType: mal_domain; State: active; Org: A100 ROW GmbH; Source: Malware Domain List - Hotlist", + "id": "indicator--245b5dad-f4b4-41bd-ac26-b074ba291612", + "labels": [ + "malicious-activity", + "threatstream-severity-very-high", + "threatstream-confidence-16" + ], + "modified": "2019-11-18T16:38:52.98Z", + "name": "mal_domain: www.catgallery.com", + "object_marking_refs": [ + "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da" + ], + "pattern": "[domain-name:value = 'www.catgallery.com']", + "type": "indicator", + "valid_from": "2019-11-18T16:38:52.98Z" + }, + { + "created": "2017-01-20T00:00:00.000Z", + "definition": { + "tlp": "green" + }, + "definition_type": "tlp", + "id": "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da", + "type": "marking-definition" + } + ], + "spec_version": "2.0", + "type": "bundle" + } diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/test-intel.ndjson b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/test-intel.ndjson new file mode 100644 index 000000000..482303a3d --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/files/test-intel.ndjson @@ -0,0 +1,3 @@ +{"message_type":"start","integrator_metadata":{"user_metadata":"{\"url\":\"http://elastic-agent:9080/\",\"secret\":\"TheSecret\",\"request_timeout\":10}","ioc_field_names":["domain","itype","classification","lat","update_id","source_feed_id","id","confidence","severity","trusted_circle_ids","lon","date_first","source","state","import_session_id","value_type","srcip","org","date_last","country","detail2","resource_uri","added_at"]}} +{"message_type":"data","intelligence":[["d4xgfj.example.net","mal_domain","public",-49.1,3786618776,3143,3135167627,20,"high","122",94.4,"2020-10-08T12:21:50","Default Organization","active",1400,"domain","89.160.20.156","OVH Hosting","2020-10-08T12:24:42","FR","imported by user 184","/api/v1/intelligence/P46279656657/","2020-10-08T12:22:11"]]} +{"message_type":"finish","message":"goodbye!"} diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/sample_logs/test-threatstream-ndjson.log b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/sample_logs/test-threatstream-ndjson.log new file mode 100644 index 000000000..4ea72bd6e --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/sample_logs/test-threatstream-ndjson.log @@ -0,0 +1,100 @@ +{"domain": "d4xgfj.example.net", "itype": "mal_domain", "classification": "public", "lat": -49.1, "update_id": 3786618776, "source_feed_id": 3143, "id": 3135167627, "confidence": 20, "severity": "high", "trusted_circle_ids": "122", "lon": 94.4, "date_first": "2020-10-08T12:21:50", "source": "Default Organization", "state": "active", "import_session_id": 1400, "value_type": "domain", "srcip": "89.160.20.156", "org": "OVH Hosting", "date_last": "2020-10-08T12:24:42", "country": "FR", "detail2": "imported by user 184", "resource_uri": "/api/v1/intelligence/P46279656657/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 51, "itype": "mal_ip", "severity": "low", "classification": "private", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "RU", "update_id": 3311633654, "lon": -64.7, "id": 2465691587, "source": "Default Organization", "state": "active", "detail2": "imported by user 979", "trusted_circle_ids": "355,386,461", "import_session_id": 1934, "lat": -51.2, "org": "IP Khnykin Vitaliy Yakovlevich", "value_type": "ip", "source_feed_id": 639, "date_first": "2020-10-08T12:21:59", "date_last": "2020-10-08T12:24:42", "resource_uri": "/api/v1/intelligence/P26893014825/", "added_at": "2020-10-08T12:22:11"} +{"itype": "mal_ip", "classification": "public", "lat": 38.4, "update_id": 1860329541, "source_feed_id": 2564, "date_first": "2020-10-08T12:22:11", "confidence": 24, "severity": "high", "trusted_circle_ids": "954,740", "lon": 0.0, "id": 1886961414, "source": "Default Organization", "state": "active", "import_session_id": 3569, "value_type": "ip", "srcip": "192.168.2.8", "org": "Cox Communications", "asn": "22773", "date_last": "2020-10-08T12:24:42", "country": "US", "detail2": "imported by user 830", "resource_uri": "/api/v1/intelligence/P16938191113/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 56, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "439,942,801", "id": 1785659799, "source": "Default Organization", "state": "active", "detail2": "imported by user 723", "import_session_id": 244, "update_id": 3898969521, "value_type": "md5", "resource_uri": "/api/v1/intelligence/P44706407813/", "source_feed_id": 3759, "date_first": "2020-10-08T12:22:16", "date_last": "2020-10-08T12:24:42", "md5": "6466e2", "added_at": "2020-10-08T12:22:11"} +{"itype": "mal_ip", "classification": "private", "lat": -64.8, "update_id": 1925356831, "source_feed_id": 1834, "date_first": "2020-10-08T12:28:50", "confidence": 61, "severity": "very-high", "trusted_circle_ids": "310,709,553", "lon": -129.3, "id": 2788278724, "source": "Default Organization", "state": "active", "import_session_id": 3146, "value_type": "ip", "srcip": "192.168.2.235", "org": "Spectrum", "asn": "20001", "date_last": "2020-10-09T18:49:37", "country": "US", "detail2": "imported by user 16", "resource_uri": "/api/v1/intelligence/P39996084337/", "added_at": "2020-10-08T12:22:11"} +{"itype": "mal_ip", "classification": "public", "lat": 72.1, "update_id": 1327494837, "source_feed_id": 2122, "date_first": "2020-10-08T12:29:01", "confidence": 31, "severity": "low", "trusted_circle_ids": "811,297", "lon": -52.2, "id": 2979716207, "source": "Default Organization", "state": "active", "import_session_id": 2369, "value_type": "ip", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "org": "Spectrum", "asn": "11351", "date_last": "2020-10-09T18:49:37", "country": "US", "detail2": "imported by user 659", "resource_uri": "/api/v1/intelligence/P24601068254/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 72, "itype": "c2_domain", "severity": "very-high", "classification": "private", "srcip": "89.160.20.156", "trusted_circle_ids": "238,259,537", "update_id": 1356750652, "detail": "3vzmr9,Botnet-VXPC5QK8T,popularity=high,type=2,first_seen=2020-07-24T07:36:41,Botnet-1QZ2U,mask=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,popularity=high,threat=jn4", "id": 3763825895, "source": "Default Organization", "state": "active", "detail2": "imported by user 50", "domain": "ei1im6skd.example.com", "lat": 85.1, "maltype": "malware:r47agu9", "value_type": "domain", "source_feed_id": 967, "date_first": "2020-10-09T18:14:43", "date_last": "2020-10-09T18:14:43", "resource_uri": "/api/v1/intelligence/P49850231022/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 60, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "455,761,112", "id": 3178646499, "source": "Default Organization", "state": "active", "detail2": "imported by user 167", "update_id": 1585930018, "value_type": "md5", "resource_uri": "/api/v1/intelligence/P35792781031/", "source_feed_id": 1743, "date_first": "2020-10-09T18:30:10", "date_last": "2020-10-09T18:30:10", "md5": "0f321db9", "added_at": "2020-10-08T12:22:11"} +{"confidence": 70, "itype": "phish_url", "severity": "low", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 2070423140, "detail": "jn5jpvg", "id": 2435568409, "source": "Default Organization", "state": "active", "detail2": "imported by user 654", "url": "https://ax1a6o38z.example.org/enec3i/f1n8fv?4shpqq9=fbo9osx8p", "trusted_circle_ids": "633,641", "lat": -26.2, "maltype": "malware:9rb9", "value_type": "url", "source_feed_id": 3940, "date_first": "2020-10-09T18:30:13", "date_last": "2020-10-09T18:30:13", "resource_uri": "/api/v1/intelligence/P41264495308/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 35, "itype": "mal_url", "severity": "low", "classification": "public", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "CN", "update_id": 2151391711, "detail": "7zhsn5t7,xl4", "id": 1404936664, "source": "Default Organization", "state": "active", "detail2": "imported by user 81", "url": "https://beko3.example.com/vkelnz/jdz6zf-ga?g39fu=88309ge", "trusted_circle_ids": "718,424", "lat": -55.3, "maltype": "malware:4p1lc0bf", "value_type": "url", "source_feed_id": 2236, "date_first": "2020-10-09T18:30:13", "date_last": "2020-10-09T18:30:13", "resource_uri": "/api/v1/intelligence/P22799247040/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 7, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "812", "update_id": 1852221746, "detail": "aampq5,d6-", "id": 1300368058, "source": "Default Organization", "state": "active", "detail2": "imported by user 993", "maltype": "malware:s7-t", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P43593676062/", "source_feed_id": 1581, "date_first": "2020-10-09T18:30:22", "date_last": "2020-10-09T18:30:22", "md5": "b91c", "added_at": "2020-10-08T12:22:11"} +{"confidence": 63, "itype": "mal_md5", "severity": "very-high", "classification": "private", "trusted_circle_ids": "29,879,537", "update_id": 3048270616, "detail": "", "id": 1511736215, "source": "Default Organization", "state": "active", "detail2": "imported by user 963", "maltype": "malware:0vnvp84", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P47666251160/", "source_feed_id": 1695, "date_first": "2020-10-09T18:30:23", "date_last": "2020-10-09T18:30:23", "md5": "3c49c", "added_at": "2020-10-08T12:22:11"} +{"confidence": 95, "itype": "phish_url", "severity": "very-high", "classification": "private", "srcip": "192.168.2.162", "country": "US", "update_id": 2851232102, "detail": "22nciqjs", "id": 2213035853, "source": "Default Organization", "state": "active", "detail2": "imported by user 302", "url": "http://sevs82.example.com/c5-d/hdajog?4rs78hl=wvwi", "trusted_circle_ids": "766,154", "lat": -12.8, "maltype": "malware:25iv", "value_type": "url", "source_feed_id": 787, "date_first": "2020-10-09T18:30:30", "date_last": "2020-10-09T18:30:30", "resource_uri": "/api/v1/intelligence/P11608678465/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 18, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "6,539", "update_id": 2328838402, "detail": "vnx4nu7c,26sg-3-", "id": 2594216423, "source": "Default Organization", "state": "active", "detail2": "imported by user 548", "maltype": "malware:i6z9qr", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P32471582403/", "source_feed_id": 1475, "date_first": "2020-10-09T18:30:37", "date_last": "2020-10-09T18:30:37", "md5": "e29608b", "added_at": "2020-10-08T12:22:11"} +{"confidence": 54, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "762", "update_id": 1784507596, "detail": "", "id": 1133111133, "source": "Default Organization", "state": "active", "detail2": "imported by user 438", "maltype": "malware:4rs9qpc1", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P20539380512/", "source_feed_id": 3600, "date_first": "2020-10-09T18:30:40", "date_last": "2020-10-09T18:30:40", "md5": "c38d2e6d", "added_at": "2020-10-08T12:22:11"} +{"confidence": 78, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "751", "update_id": 2343991526, "detail": "ica,8ahl", "id": 2543010039, "source": "Default Organization", "state": "active", "detail2": "imported by user 690", "maltype": "malware:ghdl7nwwq", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P16167095005/", "source_feed_id": 926, "date_first": "2020-10-09T18:30:45", "date_last": "2020-10-09T18:30:45", "md5": "67808c", "added_at": "2020-10-08T12:22:11"} +{"confidence": 0, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "519,390,909", "update_id": 3008175946, "detail": "iop,gyu-", "id": 3233930917, "source": "Default Organization", "state": "active", "detail2": "imported by user 517", "maltype": "malware:m5pk44o", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P15758111412/", "source_feed_id": 2010, "date_first": "2020-10-09T18:30:54", "date_last": "2020-10-09T18:30:54", "md5": "efa99", "added_at": "2020-10-08T12:22:11"} +{"confidence": 34, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "109,718,621", "update_id": 2404949482, "detail": "", "id": 1777540600, "source": "Default Organization", "state": "active", "detail2": "imported by user 303", "maltype": "malware:-fesxy", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P13990676648/", "source_feed_id": 3201, "date_first": "2020-10-09T18:30:59", "date_last": "2020-10-09T18:30:59", "md5": "e8c1", "added_at": "2020-10-08T12:22:11"} +{"confidence": 15, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "559", "update_id": 3529199846, "detail": "", "id": 2796250594, "source": "Default Organization", "state": "active", "detail2": "imported by user 219", "maltype": "malware:c1b7kt7", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P13506696048/", "source_feed_id": 3205, "date_first": "2020-10-09T18:31:10", "date_last": "2020-10-09T18:31:10", "md5": "be24", "added_at": "2020-10-08T12:22:11"} +{"confidence": 56, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "190,495,959", "update_id": 3510871820, "detail": "", "id": 2310429917, "source": "Default Organization", "state": "active", "detail2": "imported by user 762", "maltype": "malware:slwl", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P35629727989/", "source_feed_id": 885, "date_first": "2020-10-09T18:31:16", "date_last": "2020-10-09T18:31:16", "md5": "a2678fc", "added_at": "2020-10-08T12:22:11"} +{"confidence": 11, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "454,562", "update_id": 3756244435, "detail": "", "id": 2853859039, "source": "Default Organization", "state": "active", "detail2": "imported by user 616", "maltype": "malware:voc", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P39948074871/", "source_feed_id": 586, "date_first": "2020-10-09T18:31:22", "date_last": "2020-10-09T18:31:22", "md5": "2ee715a9b", "added_at": "2020-10-08T12:22:11"} +{"confidence": 51, "itype": "mal_md5", "severity": "very-high", "classification": "private", "trusted_circle_ids": "846,362", "update_id": 1410682100, "detail": "gcgm1we6l,etukwxhs,g0vc9,mask=89.160.20.156,threat=bm-uj8c12", "id": 2328858169, "source": "Default Organization", "state": "active", "detail2": "imported by user 510", "maltype": "malware:yuq33pg5", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P30902643017/", "source_feed_id": 826, "date_first": "2020-10-09T18:31:27", "date_last": "2020-10-09T18:31:27", "md5": "e1df8d", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "305", "update_id": 1592676961, "detail": "", "id": 1145199430, "source": "Default Organization", "state": "active", "detail2": "imported by user 14", "maltype": "malware:qc6c9qt", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P14842247088/", "source_feed_id": 1793, "date_first": "2020-10-09T18:31:29", "date_last": "2020-10-09T18:31:29", "md5": "9006d07f", "added_at": "2020-10-08T12:22:11"} +{"confidence": 2, "itype": "phish_url", "severity": "high", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 2718905308, "detail": "g1wn0g", "id": 1726466938, "source": "Default Organization", "state": "active", "detail2": "imported by user 600", "url": "http://faahk3drf.example.net/julf98x5/0g1t8f?cbffxs2qv=vwgz", "trusted_circle_ids": "553", "lat": 47.7, "maltype": "malware:t52oo3", "value_type": "url", "source_feed_id": 1965, "date_first": "2020-10-09T18:31:34", "date_last": "2020-10-09T18:31:34", "resource_uri": "/api/v1/intelligence/P39735553093/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 71, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "866", "update_id": 2310970191, "detail": "pzs4xlqy,6rblg", "id": 1457264389, "source": "Default Organization", "state": "active", "detail2": "imported by user 976", "maltype": "malware:nx1qwwprl", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P20794801988/", "source_feed_id": 1437, "date_first": "2020-10-09T18:31:36", "date_last": "2020-10-09T18:31:36", "md5": "f5d", "added_at": "2020-10-08T12:22:11"} +{"confidence": 70, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "70,68,789", "update_id": 1487534287, "detail": "", "id": 3532094043, "source": "Default Organization", "state": "active", "detail2": "imported by user 761", "maltype": "malware:k1y", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P48760414603/", "source_feed_id": 2198, "date_first": "2020-10-09T18:31:39", "date_last": "2020-10-09T18:31:39", "md5": "cfd9", "added_at": "2020-10-08T12:22:11"} +{"confidence": 23, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "15", "update_id": 1772862647, "detail": "6rw,g80r1d4sj", "id": 1753194968, "source": "Default Organization", "state": "active", "detail2": "imported by user 680", "maltype": "malware:ixlyb", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P36997562731/", "source_feed_id": 2101, "date_first": "2020-10-09T18:31:43", "date_last": "2020-10-09T18:31:43", "md5": "93daa", "added_at": "2020-10-08T12:22:11"} +{"confidence": 0, "itype": "scan_ip", "severity": "high", "classification": "public", "srcip": "192.168.2.219", "country": "DE", "update_id": 2657969647, "detail": "", "id": 3285278133, "source": "Default Organization", "state": "active", "detail2": "imported by user 820", "trusted_circle_ids": "7,390", "lat": 7.3, "maltype": "malware:1u76t", "value_type": "ip", "source_feed_id": 1152, "date_first": "2020-10-09T18:31:49", "date_last": "2020-10-09T18:31:49", "resource_uri": "/api/v1/intelligence/P45121980169/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 45, "itype": "phish_url", "severity": "low", "classification": "public", "srcip": "192.168.2.208", "country": "US", "update_id": 2110937414, "detail": "om0z7", "id": 2098390184, "source": "Default Organization", "state": "active", "detail2": "imported by user 894", "url": "http://p9okf0.example.org/jyb3n8f/f55vfyt48?s2n=0t2d", "trusted_circle_ids": "846", "lat": 17.3, "maltype": "malware:hc-wh", "value_type": "url", "source_feed_id": 3354, "date_first": "2020-10-09T18:31:49", "date_last": "2020-10-09T18:31:49", "resource_uri": "/api/v1/intelligence/P33231447204/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 34, "itype": "phish_url", "severity": "low", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 2335801340, "detail": "adeba89", "id": 3367490507, "source": "Default Organization", "state": "active", "detail2": "imported by user 747", "url": "https://fxkeo24m.example.com/y75tg7sw/jnnu9xmc?apus=ob1hnba4", "trusted_circle_ids": "404,574", "lat": 42.9, "maltype": "malware:0ua9", "value_type": "url", "source_feed_id": 959, "date_first": "2020-10-09T18:31:58", "date_last": "2020-10-09T18:31:58", "resource_uri": "/api/v1/intelligence/P34959401147/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 14, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "422,852,749", "update_id": 1339527388, "detail": "", "id": 1998649659, "source": "Default Organization", "state": "active", "detail2": "imported by user 604", "maltype": "malware:s0anj", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P21831217400/", "source_feed_id": 1405, "date_first": "2020-10-09T18:32:02", "date_last": "2020-10-09T18:32:02", "md5": "b4dd5cf7", "added_at": "2020-10-08T12:22:11"} +{"confidence": 85, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "120", "update_id": 1316735853, "detail": "nj3f,a-e8lz", "id": 3005939184, "source": "Default Organization", "state": "active", "detail2": "imported by user 386", "maltype": "malware:hn5uajghq", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P23229581043/", "source_feed_id": 652, "date_first": "2020-10-09T18:32:03", "date_last": "2020-10-09T18:32:03", "md5": "b890cdad", "added_at": "2020-10-08T12:22:11"} +{"confidence": 31, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "98,718,828", "update_id": 3243777736, "detail": "", "id": 1900495748, "source": "Default Organization", "state": "active", "detail2": "imported by user 706", "maltype": "malware:3taf", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P35660572297/", "source_feed_id": 506, "date_first": "2020-10-09T18:32:04", "date_last": "2020-10-09T18:32:04", "md5": "817", "added_at": "2020-10-08T12:22:11"} +{"confidence": 50, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "959,539", "update_id": 1284922297, "detail": "", "id": 1040883425, "source": "Default Organization", "state": "active", "detail2": "imported by user 222", "maltype": "malware:wsge", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P33297645928/", "source_feed_id": 146, "date_first": "2020-10-09T18:32:08", "date_last": "2020-10-09T18:32:08", "md5": "a06b", "added_at": "2020-10-08T12:22:11"} +{"confidence": 50, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "820,394,124", "update_id": 1405107391, "detail": "", "id": 1703603090, "source": "Default Organization", "state": "active", "detail2": "imported by user 414", "maltype": "malware:yid8n1", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P25381157923/", "source_feed_id": 294, "date_first": "2020-10-09T18:32:11", "date_last": "2020-10-09T18:32:11", "md5": "ebd6108", "added_at": "2020-10-08T12:22:11"} +{"confidence": 6, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "980,386", "update_id": 2194495180, "detail": "", "id": 1393798645, "source": "Default Organization", "state": "active", "detail2": "imported by user 872", "maltype": "malware:aeu2f0", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P34100122259/", "source_feed_id": 1256, "date_first": "2020-10-09T18:32:19", "date_last": "2020-10-09T18:32:19", "md5": "5afe0a", "added_at": "2020-10-08T12:22:11"} +{"confidence": 46, "itype": "scan_ip", "severity": "very-high", "classification": "public", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "CN", "update_id": 2280522298, "detail": "", "id": 3384379889, "source": "Default Organization", "state": "active", "detail2": "imported by user 237", "trusted_circle_ids": "830", "lat": 18.2, "maltype": "malware:w3rx", "value_type": "ip", "source_feed_id": 773, "date_first": "2020-10-09T18:32:30", "date_last": "2020-10-09T18:32:30", "resource_uri": "/api/v1/intelligence/P38445847685/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 60, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "437,407", "update_id": 1128332354, "detail": "", "id": 1291701932, "source": "Default Organization", "state": "active", "detail2": "imported by user 317", "maltype": "malware:upf65oc8", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P40886917073/", "source_feed_id": 2980, "date_first": "2020-10-09T18:32:35", "date_last": "2020-10-09T18:32:35", "md5": "758a81", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "phish_url", "severity": "very-high", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 2267992225, "detail": "ziqdk", "id": 3279148213, "source": "Default Organization", "state": "active", "detail2": "imported by user 352", "url": "http://ke4ffyj5.example.com/t-9ikyrtt/ai91?s6u=3y1", "trusted_circle_ids": "817,831,29", "lat": 56.4, "maltype": "malware:u0e", "value_type": "url", "source_feed_id": 2315, "date_first": "2020-10-09T18:33:10", "date_last": "2020-10-09T18:33:10", "resource_uri": "/api/v1/intelligence/P37449871811/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 42, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "322,410", "update_id": 3812327380, "detail": "", "id": 2138145846, "source": "Default Organization", "state": "active", "detail2": "imported by user 768", "maltype": "malware:-shiotjs", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P24530928152/", "source_feed_id": 837, "date_first": "2020-10-09T18:33:13", "date_last": "2020-10-09T18:33:13", "md5": "c9b4", "added_at": "2020-10-08T12:22:11"} +{"confidence": 25, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "695,520", "update_id": 2085432040, "detail": "", "id": 1502954738, "source": "Default Organization", "state": "active", "detail2": "imported by user 148", "maltype": "malware:c8f0r5d4", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P43216360516/", "source_feed_id": 3786, "date_first": "2020-10-09T18:33:14", "date_last": "2020-10-09T18:33:14", "md5": "ad0", "added_at": "2020-10-08T12:22:11"} +{"confidence": 56, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "127", "update_id": 3768246717, "detail": "", "id": 2730182815, "source": "Default Organization", "state": "active", "detail2": "imported by user 649", "maltype": "malware:2vsd1miq", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P23842171060/", "source_feed_id": 2923, "date_first": "2020-10-09T18:33:14", "date_last": "2020-10-09T18:33:14", "md5": "571957", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "phish_url", "severity": "high", "classification": "public", "srcip": "192.168.2.154", "country": "US", "update_id": 3498000116, "detail": "73d", "id": 1649793681, "source": "Default Organization", "state": "active", "detail2": "imported by user 132", "url": "https://rl27d.example.net/ko6/4rtt?b12=o4mgzz2kk", "trusted_circle_ids": "715,176,824", "lat": -17.0, "maltype": "malware:d1q-sdovn", "value_type": "url", "source_feed_id": 1993, "date_first": "2020-10-09T18:33:22", "date_last": "2020-10-09T18:33:22", "resource_uri": "/api/v1/intelligence/P13727067406/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 48, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "469", "update_id": 1238197737, "detail": "e3mm2h,knjq-wt", "id": 2195098028, "source": "Default Organization", "state": "active", "detail2": "imported by user 137", "maltype": "malware:886x", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P39956518309/", "source_feed_id": 1936, "date_first": "2020-10-09T18:33:24", "date_last": "2020-10-09T18:33:24", "md5": "7f4", "added_at": "2020-10-08T12:22:11"} +{"confidence": 62, "itype": "phish_url", "severity": "high", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 3547953290, "detail": "rb2my5u7", "id": 2273277634, "source": "Default Organization", "state": "active", "detail2": "imported by user 76", "url": "http://6ygk0y.example.com/t520/4twe?ql4bhkpop=yfpkef", "trusted_circle_ids": "22,143", "lat": 89.1, "maltype": "malware:eem8vy0", "value_type": "url", "source_feed_id": 2583, "date_first": "2020-10-09T18:33:26", "date_last": "2020-10-09T18:33:26", "resource_uri": "/api/v1/intelligence/P28216636081/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 47, "itype": "phish_url", "severity": "very-high", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 3726618139, "detail": "3jujb6j", "id": 1593951372, "source": "Default Organization", "state": "active", "detail2": "imported by user 304", "url": "http://rcsr9o.example.net/e6f/08b?8d2y=d-42fr-", "trusted_circle_ids": "281", "lat": 49.1, "maltype": "malware:lrfqa", "value_type": "url", "source_feed_id": 1922, "date_first": "2020-10-09T18:33:27", "date_last": "2020-10-09T18:33:27", "resource_uri": "/api/v1/intelligence/P18416887501/", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "873,450,588", "update_id": 2444963851, "detail": "f7ciq9,2uu9b", "id": 2881597176, "source": "Default Organization", "state": "active", "detail2": "imported by user 578", "maltype": "malware:wpo", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P37162617510/", "source_feed_id": 1312, "date_first": "2020-10-09T18:33:29", "date_last": "2020-10-09T18:33:29", "md5": "89a0a684", "added_at": "2020-10-08T12:22:11"} +{"confidence": 51, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "551,299,501", "update_id": 3210446946, "detail": "", "id": 1789877636, "source": "Default Organization", "state": "active", "detail2": "imported by user 347", "maltype": "malware:f7l", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P15884312830/", "source_feed_id": 1250, "date_first": "2020-10-09T18:33:43", "date_last": "2020-10-09T18:33:43", "md5": "a41f", "added_at": "2020-10-08T12:22:11"} +{"confidence": 56, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "460,122,615", "update_id": 2994196701, "detail": "kpjt,f5c6pl", "id": 1300434967, "source": "Default Organization", "state": "active", "detail2": "imported by user 182", "maltype": "malware:5kjd", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P44427200974/", "source_feed_id": 1603, "date_first": "2020-10-09T18:33:45", "date_last": "2020-10-09T18:33:45", "md5": "d0f5f32", "added_at": "2020-10-08T12:22:11"} +{"confidence": 79, "itype": "mal_md5", "severity": "low", "classification": "private", "trusted_circle_ids": "804", "update_id": 2396481494, "detail": "", "id": 2448066635, "source": "Default Organization", "state": "active", "detail2": "imported by user 976", "maltype": "malware:7x9cgytj", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P15169037907/", "source_feed_id": 814, "date_first": "2020-10-09T18:33:45", "date_last": "2020-10-09T18:33:45", "md5": "4f984375b", "added_at": "2020-10-08T12:22:11"} +{"confidence": 15, "itype": "phish_url", "severity": "medium", "classification": "public", "srcip": "192.168.2.115", "country": "US", "update_id": 1425004305, "detail": "5w8i", "id": 1693329110, "source": "Default Organization", "state": "active", "detail2": "imported by user 408", "url": "https://cc7d.example.com/kxxwobg/hd6omn?tr8=essb", "trusted_circle_ids": "374,301", "lat": -49.1, "maltype": "malware:1l5tib0", "value_type": "url", "source_feed_id": 3431, "date_first": "2020-10-09T18:33:48", "date_last": "2020-10-09T18:33:48", "resource_uri": "/api/v1/intelligence/P46598563676/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 35, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "989,396,27", "update_id": 3573181354, "detail": "", "id": 1522150430, "source": "Default Organization", "state": "active", "detail2": "imported by user 843", "maltype": "malware:8-8a", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P28645937174/", "source_feed_id": 2342, "date_first": "2020-10-09T18:33:51", "date_last": "2020-10-09T18:33:51", "md5": "9c67037e6", "added_at": "2020-10-08T12:22:11"} +{"confidence": 71, "itype": "scan_ip", "severity": "very-high", "classification": "private", "srcip": "192.168.2.61", "country": "VN", "update_id": 1253389383, "detail": "f3ctz7j", "id": 1760436567, "source": "Default Organization", "state": "active", "detail2": "imported by user 831", "trusted_circle_ids": "342,504", "lat": -40.8, "maltype": "malware:vy02k4", "value_type": "ip", "source_feed_id": 271, "date_first": "2020-10-09T18:33:57", "date_last": "2020-10-09T18:33:57", "resource_uri": "/api/v1/intelligence/P14276852864/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 85, "itype": "scan_ip", "severity": "very-high", "classification": "public", "srcip": "192.168.2.233", "country": "DE", "update_id": 1098288836, "detail": "", "id": 1925240476, "source": "Default Organization", "state": "active", "detail2": "imported by user 650", "trusted_circle_ids": "51", "lat": -27.4, "maltype": "malware:2bnikxoma", "value_type": "ip", "source_feed_id": 1067, "date_first": "2020-10-09T18:34:00", "date_last": "2020-10-09T18:34:00", "resource_uri": "/api/v1/intelligence/P15033658538/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 91, "itype": "phish_url", "severity": "very-high", "classification": "private", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "US", "update_id": 2722308334, "detail": "v9ycq", "id": 3001806953, "source": "Default Organization", "state": "active", "detail2": "imported by user 489", "url": "http://v9aqrp81q.example.net/psuj4bs/rvp?qufy=ymryh", "trusted_circle_ids": "484", "lat": 39.9, "maltype": "malware:ak63t", "value_type": "url", "source_feed_id": 782, "date_first": "2020-10-09T18:34:00", "date_last": "2020-10-09T18:34:00", "resource_uri": "/api/v1/intelligence/P34696300225/", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "scan_ip", "severity": "very-high", "classification": "public", "srcip": "192.168.2.234", "country": "IN", "update_id": 3520784497, "detail": "", "id": 3933431319, "source": "Default Organization", "state": "active", "detail2": "imported by user 453", "trusted_circle_ids": "444", "lat": -52.2, "maltype": "malware:ejrypgr", "value_type": "ip", "source_feed_id": 1904, "date_first": "2020-10-09T18:34:00", "date_last": "2020-10-09T18:34:00", "resource_uri": "/api/v1/intelligence/P46019487828/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 95, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "743,936", "update_id": 3707298072, "detail": "xva1ki,qxwn7lw", "id": 1356788940, "source": "Default Organization", "state": "active", "detail2": "imported by user 722", "maltype": "malware:q4a", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P30118085912/", "source_feed_id": 3698, "date_first": "2020-10-09T18:34:02", "date_last": "2020-10-09T18:34:02", "md5": "a4fa", "added_at": "2020-10-08T12:22:11"} +{"confidence": 6, "itype": "mal_md5", "severity": "very-high", "classification": "private", "trusted_circle_ids": "948,642,50", "update_id": 3749914856, "detail": "r81f4,wwsw", "id": 3804309005, "source": "Default Organization", "state": "active", "detail2": "imported by user 236", "maltype": "malware:2sclqws1s", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P14689465586/", "source_feed_id": 342, "date_first": "2020-10-09T18:34:05", "date_last": "2020-10-09T18:34:05", "md5": "5e11299", "added_at": "2020-10-08T12:22:11"} +{"confidence": 15, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "1", "update_id": 1637146862, "detail": "", "id": 1022859708, "source": "Default Organization", "state": "active", "detail2": "imported by user 488", "maltype": "malware:9cfecc", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P33092174596/", "source_feed_id": 2811, "date_first": "2020-10-09T18:34:11", "date_last": "2020-10-09T18:34:11", "md5": "22315f8", "added_at": "2020-10-08T12:22:11"} +{"confidence": 54, "itype": "mal_md5", "severity": "high", "classification": "public", "trusted_circle_ids": "810,910", "update_id": 1671617316, "detail": "", "id": 1581368214, "source": "Default Organization", "state": "active", "detail2": "imported by user 310", "maltype": "malware:r7vbej", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P28408487114/", "source_feed_id": 1371, "date_first": "2020-10-09T18:34:12", "date_last": "2020-10-09T18:34:12", "md5": "d4a", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "phish_url", "severity": "low", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 2477226249, "detail": "gry2doqf", "id": 3576055846, "source": "Default Organization", "state": "active", "detail2": "imported by user 376", "url": "https://o4kqv8b8.example.net/gm4d-9gt/v2iqt?x65ry67ao=skta9rp", "trusted_circle_ids": "660", "lat": 14.2, "maltype": "malware:0qqrz", "value_type": "url", "source_feed_id": 1808, "date_first": "2020-10-09T18:34:17", "date_last": "2020-10-09T18:34:17", "resource_uri": "/api/v1/intelligence/P27429039546/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 89, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "954,19,6", "update_id": 1760504719, "detail": "1l9tule2,k6p", "id": 1315247197, "source": "Default Organization", "state": "active", "detail2": "imported by user 748", "maltype": "malware:r38g5hbgx", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P15092591036/", "source_feed_id": 206, "date_first": "2020-10-09T18:34:20", "date_last": "2020-10-09T18:34:20", "md5": "3eac", "added_at": "2020-10-08T12:22:11"} +{"confidence": 25, "itype": "mal_md5", "severity": "high", "classification": "public", "trusted_circle_ids": "392,581", "update_id": 2530088908, "detail": "d9qquxe,ulx", "id": 1562423716, "source": "Default Organization", "state": "active", "detail2": "imported by user 380", "maltype": "malware:882dlx", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P35184012550/", "source_feed_id": 3446, "date_first": "2020-10-09T18:34:20", "date_last": "2020-10-09T18:34:20", "md5": "59893613", "added_at": "2020-10-08T12:22:11"} +{"confidence": 4, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "591,848,663", "update_id": 1937893007, "detail": "wsu7l1,zrb", "id": 1470897088, "source": "Default Organization", "state": "active", "detail2": "imported by user 423", "maltype": "malware:rwo6s", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P10368659748/", "source_feed_id": 599, "date_first": "2020-10-09T18:34:32", "date_last": "2020-10-09T18:34:32", "md5": "5facf1f", "added_at": "2020-10-08T12:22:11"} +{"confidence": 9, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "299", "update_id": 3858315866, "detail": "", "id": 1205553827, "source": "Default Organization", "state": "active", "detail2": "imported by user 983", "maltype": "malware:-pbnrmv", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P41514908414/", "source_feed_id": 3751, "date_first": "2020-10-09T18:34:32", "date_last": "2020-10-09T18:34:32", "md5": "708b2c", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "556", "update_id": 2655715062, "detail": "", "id": 1744295971, "source": "Default Organization", "state": "active", "detail2": "imported by user 314", "maltype": "malware:uqw", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P36955243007/", "source_feed_id": 2305, "date_first": "2020-10-09T18:34:39", "date_last": "2020-10-09T18:34:39", "md5": "0df", "added_at": "2020-10-08T12:22:11"} +{"confidence": 45, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "445", "update_id": 2172945223, "detail": "ps2,qr2wno4", "id": 1782793990, "source": "Default Organization", "state": "active", "detail2": "imported by user 986", "maltype": "malware:mkctzuaaf", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P41751433270/", "source_feed_id": 3513, "date_first": "2020-10-09T18:34:40", "date_last": "2020-10-09T18:34:40", "md5": "770", "added_at": "2020-10-08T12:22:11"} +{"confidence": 98, "itype": "scan_ip", "severity": "medium", "classification": "public", "srcip": "192.168.2.88", "country": "VN", "update_id": 1575621349, "detail": "", "id": 1130190904, "source": "Default Organization", "state": "active", "detail2": "imported by user 615", "trusted_circle_ids": "88", "lat": -79.4, "maltype": "malware:3zu2d2", "value_type": "ip", "source_feed_id": 1192, "date_first": "2020-10-09T18:34:41", "date_last": "2020-10-09T18:34:41", "resource_uri": "/api/v1/intelligence/P13755730530/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 17, "itype": "phish_url", "severity": "medium", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 2450069481, "detail": "ao6", "id": 2499059829, "source": "Default Organization", "state": "active", "detail2": "imported by user 202", "url": "https://91p0p.example.com/easx3j6iy/xvnchuoa?dvkljl=h21", "trusted_circle_ids": "308,949", "lat": 84.6, "maltype": "malware:86-jrf6o", "value_type": "url", "source_feed_id": 852, "date_first": "2020-10-09T18:34:43", "date_last": "2020-10-09T18:34:43", "resource_uri": "/api/v1/intelligence/P43937262060/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 67, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "776", "update_id": 3951093865, "detail": "", "id": 2799251412, "source": "Default Organization", "state": "active", "detail2": "imported by user 421", "maltype": "malware:91o2", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P31632809876/", "source_feed_id": 3756, "date_first": "2020-10-09T18:34:48", "date_last": "2020-10-09T18:34:48", "md5": "f9edba87a", "added_at": "2020-10-08T12:22:11"} +{"confidence": 22, "itype": "mal_md5", "severity": "medium", "classification": "public", "trusted_circle_ids": "35", "update_id": 3046847198, "detail": "", "id": 3711409360, "source": "Default Organization", "state": "active", "detail2": "imported by user 807", "maltype": "malware:yakt8pe9r", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P37263483140/", "source_feed_id": 3903, "date_first": "2020-10-09T18:34:53", "date_last": "2020-10-09T18:34:53", "md5": "c3b497", "added_at": "2020-10-08T12:22:11"} +{"confidence": 20, "itype": "mal_md5", "severity": "medium", "classification": "private", "trusted_circle_ids": "196,775", "update_id": 2946803375, "detail": "", "id": 3346530445, "source": "Default Organization", "state": "active", "detail2": "imported by user 298", "maltype": "malware:jfje", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P10248765051/", "source_feed_id": 1239, "date_first": "2020-10-09T18:34:53", "date_last": "2020-10-09T18:34:53", "md5": "ec57713c", "added_at": "2020-10-08T12:22:11"} +{"confidence": -1, "itype": "phish_url", "severity": "high", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 1687817836, "detail": "-g6", "id": 2804727563, "source": "Default Organization", "state": "active", "detail2": "imported by user 345", "url": "https://lzr6.example.org/a7og/4vpv?e7k5=wun", "trusted_circle_ids": "793,131", "lat": -16.1, "maltype": "malware:c7e", "value_type": "url", "source_feed_id": 2617, "date_first": "2020-10-09T18:34:54", "date_last": "2020-10-09T18:34:54", "resource_uri": "/api/v1/intelligence/P11093591971/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 84, "itype": "mal_md5", "severity": "very-high", "classification": "public", "trusted_circle_ids": "30", "update_id": 2339220849, "detail": "", "id": 2229747614, "source": "Default Organization", "state": "active", "detail2": "imported by user 747", "maltype": "malware:0d7cxf", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P12084157836/", "source_feed_id": 1620, "date_first": "2020-10-09T18:34:55", "date_last": "2020-10-09T18:34:55", "md5": "bde", "added_at": "2020-10-08T12:22:11"} +{"confidence": 54, "itype": "mal_md5", "severity": "high", "classification": "private", "trusted_circle_ids": "908", "update_id": 2083515068, "detail": "", "id": 2821279948, "source": "Default Organization", "state": "active", "detail2": "imported by user 832", "maltype": "malware:-farvj0e", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P43981956471/", "source_feed_id": 2038, "date_first": "2020-10-09T18:35:01", "date_last": "2020-10-09T18:35:01", "md5": "aa674f5f", "added_at": "2020-10-08T12:22:11"} +{"confidence": 63, "itype": "mal_md5", "severity": "high", "classification": "public", "trusted_circle_ids": "207,993,501", "update_id": 3429396478, "detail": "", "id": 3118884222, "source": "Default Organization", "state": "active", "detail2": "imported by user 217", "maltype": "malware:23xfw4nyi", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P20451120036/", "source_feed_id": 1492, "date_first": "2020-10-09T18:35:01", "date_last": "2020-10-09T18:35:01", "md5": "48721c98", "added_at": "2020-10-08T12:22:11"} +{"confidence": 72, "itype": "phish_url", "severity": "low", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 3320773285, "detail": "y7d71", "id": 3912225830, "source": "Default Organization", "state": "active", "detail2": "imported by user 402", "url": "http://932.example.com/1xmdjyom/tf3inx1?s6zgr=ajgw", "trusted_circle_ids": "439", "lat": -57.9, "maltype": "malware:dto", "value_type": "url", "source_feed_id": 1594, "date_first": "2020-10-09T18:35:04", "date_last": "2020-10-09T18:35:04", "resource_uri": "/api/v1/intelligence/P16185398807/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 34, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "669", "update_id": 2275758319, "detail": "nknea,hlq", "id": 2591984894, "source": "Default Organization", "state": "active", "detail2": "imported by user 626", "maltype": "malware:7nq6far", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P19612019110/", "source_feed_id": 1579, "date_first": "2020-10-09T18:35:06", "date_last": "2020-10-09T18:35:06", "md5": "114bd63e0", "added_at": "2020-10-08T12:22:11"} +{"confidence": 53, "itype": "mal_md5", "severity": "low", "classification": "public", "trusted_circle_ids": "835,850", "update_id": 2399518196, "detail": "", "id": 2589012476, "source": "Default Organization", "state": "active", "detail2": "imported by user 756", "maltype": "malware:c1z0qya", "value_type": "md5", "resource_uri": "/api/v1/intelligence/P47658489795/", "source_feed_id": 3665, "date_first": "2020-10-09T18:35:22", "date_last": "2020-10-09T18:35:22", "md5": "636cd4267", "added_at": "2020-10-08T12:22:11"} +{"confidence": 57, "itype": "mal_url", "severity": "low", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 3342338979, "detail": "first_seen=2020-11-24T05:32:17,IP=192.168.2.45,5z6,0p0m1,mask=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,popularity=high", "id": 2677187012, "source": "Default Organization", "state": "active", "detail2": "imported by user 893", "url": "https://0te9x75e.example.net/y2cbl5ov5/u-s9?vhppw120=bt0ze0du3", "trusted_circle_ids": "234,909", "lat": -45.9, "maltype": "malware:qtp", "value_type": "url", "source_feed_id": 3395, "date_first": "2020-10-09T18:44:01", "date_last": "2020-10-09T18:44:01", "resource_uri": "/api/v1/intelligence/P28161033466/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 31, "itype": "phish_url", "severity": "medium", "classification": "private", "srcip": "89.160.20.156", "country": "US", "update_id": 1484831936, "detail": "06epx", "id": 3137219963, "source": "Default Organization", "state": "active", "detail2": "imported by user 450", "url": "http://b7qdtnl8f.example.org/z2a-tx3ip/7cv?9a67ct3mb=ijse", "trusted_circle_ids": "755,843,943", "lat": -36.1, "maltype": "malware:nosy8", "value_type": "url", "source_feed_id": 2108, "date_first": "2020-10-09T18:44:04", "date_last": "2020-10-09T18:44:04", "resource_uri": "/api/v1/intelligence/P33588463803/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 19, "itype": "mal_domain", "severity": "very-high", "classification": "private", "trusted_circle_ids": "63,324", "update_id": 1826833096, "detail": "n5okkr7mg,jjz8e", "id": 2506436592, "source": "Default Organization", "state": "active", "detail2": "imported by user 479", "domain": "4gtq1n.example.net", "maltype": "malware:4okr", "value_type": "domain", "source_feed_id": 393, "date_first": "2020-10-09T18:44:19", "date_last": "2020-10-09T18:44:19", "resource_uri": "/api/v1/intelligence/P42606732542/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 83, "itype": "mal_ip", "severity": "very-high", "classification": "public", "srcip": "192.168.2.17", "country": "RU", "update_id": 2101635974, "detail": "first_seen=2020-02-14T13:46:51,IP=89.160.20.156,gnz6,u96h,mask=89.160.20.156,popularity=high", "id": 1214135687, "source": "Default Organization", "state": "active", "detail2": "imported by user 969", "trusted_circle_ids": "474,324", "lat": -68.4, "maltype": "malware:h68c70o", "value_type": "ip", "source_feed_id": 425, "date_first": "2020-10-09T18:44:27", "date_last": "2020-10-09T18:44:27", "resource_uri": "/api/v1/intelligence/P25206292349/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 15, "itype": "phish_url", "severity": "very-high", "classification": "private", "srcip": "192.168.2.183", "country": "US", "update_id": 1949050295, "detail": "t37z5d2", "id": 1632578144, "source": "Default Organization", "state": "active", "detail2": "imported by user 501", "url": "https://tfva.example.org/iih3qkj/b04g7?dwosh0qmt=wi9ao", "trusted_circle_ids": "615,818", "lat": 37.5, "maltype": "malware:y9xovpr2", "value_type": "url", "source_feed_id": 1114, "date_first": "2020-10-09T18:44:35", "date_last": "2020-10-09T18:44:35", "resource_uri": "/api/v1/intelligence/P21633460934/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 85, "itype": "phish_url", "severity": "medium", "classification": "public", "srcip": "89.160.20.156", "country": "US", "update_id": 2645963867, "detail": "rprsi-", "id": 3098969355, "source": "Default Organization", "state": "active", "detail2": "imported by user 149", "url": "https://erg2.example.com/4ys/vywa93c?7oru=evpi", "trusted_circle_ids": "597,946,913", "lat": -34.5, "maltype": "malware:wxbuhcov9", "value_type": "url", "source_feed_id": 398, "date_first": "2020-10-09T18:44:36", "date_last": "2020-10-09T18:44:36", "resource_uri": "/api/v1/intelligence/P30134520108/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 64, "itype": "mal_url", "severity": "low", "classification": "private", "srcip": "89.160.20.156", "country": "IN", "update_id": 2806149730, "detail": "first_seen=2020-12-24T20:20:31,IP=89.160.20.156,gogpcno,-jj,mask=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,popularity=low", "id": 2035701780, "source": "Default Organization", "state": "active", "detail2": "imported by user 59", "url": "https://0elz6c.example.com/3nhx/cadsn6?kfcj94=gnl", "trusted_circle_ids": "600,673,990", "lat": -54.6, "maltype": "malware:xn2a", "value_type": "url", "source_feed_id": 2760, "date_first": "2020-10-09T18:44:37", "date_last": "2020-10-09T18:44:37", "resource_uri": "/api/v1/intelligence/P10508749376/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 44, "itype": "phish_url", "severity": "medium", "classification": "public", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "US", "update_id": 3490786662, "detail": "qztcai", "id": 2120958409, "source": "Default Organization", "state": "active", "detail2": "imported by user 134", "url": "https://6i0-utr.example.com/hsv/50qcugwt?xcl=ofr", "trusted_circle_ids": "125,279,552", "lat": -14.9, "maltype": "malware:cu6f11gp1", "value_type": "url", "source_feed_id": 1973, "date_first": "2020-10-09T18:44:45", "date_last": "2020-10-09T18:44:45", "resource_uri": "/api/v1/intelligence/P46535027346/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 94, "itype": "mal_ip", "severity": "high", "classification": "private", "srcip": "89.160.20.156", "country": "CN", "update_id": 2750333841, "detail": "first_seen=2020-11-23T17:11:50,IP=89.160.20.156,ail6s,q0n,mask=89.160.20.156,popularity=medium", "id": 1139990065, "source": "Default Organization", "state": "active", "detail2": "imported by user 914", "trusted_circle_ids": "610,346", "lat": -73.5, "maltype": "malware:9pyy91p7", "value_type": "ip", "source_feed_id": 2363, "date_first": "2020-10-09T18:44:47", "date_last": "2020-10-09T18:44:47", "resource_uri": "/api/v1/intelligence/P20277063326/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 69, "itype": "mal_domain", "severity": "medium", "classification": "public", "srcip": "89.160.20.156", "country": "HK", "update_id": 3315952704, "detail": "first_seen=2020-03-11T09:04:13,smh,0a3p,mask=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,popularity=high", "id": 2453026318, "source": "Default Organization", "state": "active", "detail2": "imported by user 886", "domain": "ztpyt.example.org", "trusted_circle_ids": "391", "lat": -44.3, "maltype": "malware:c0-a", "value_type": "domain", "source_feed_id": 1281, "date_first": "2020-10-09T18:44:50", "date_last": "2020-10-09T18:44:50", "resource_uri": "/api/v1/intelligence/P26988858868/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 88, "itype": "mal_url", "severity": "very-high", "classification": "private", "url": "http://e5el.example.net/rncer/fky?8tc53bbz=1pd-6w5", "trusted_circle_ids": "806,75,258", "update_id": 3898530792, "detail": "first_seen=2020-07-17T00:42:30,sv5lmqoo,mdedohd,mask=192.168.2.22,popularity=high", "id": 3554643386, "source": "Default Organization", "state": "active", "detail2": "imported by user 268", "maltype": "malware:ai7s5vg01", "value_type": "url", "source_feed_id": 744, "date_first": "2020-10-09T18:44:50", "date_last": "2020-10-09T18:44:50", "resource_uri": "/api/v1/intelligence/P48225335605/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 73, "itype": "phish_url", "severity": "low", "classification": "private", "srcip": "192.168.2.226", "country": "US", "update_id": 1423149268, "detail": "l019r8", "id": 2781657405, "source": "Default Organization", "state": "active", "detail2": "imported by user 737", "url": "http://eryz36i.example.net/9a86hdj/zti5r9fx?ahz=l7dsg01qo", "trusted_circle_ids": "259", "lat": -14.3, "maltype": "malware:6faja4zy-", "value_type": "url", "source_feed_id": 518, "date_first": "2020-10-09T18:44:54", "date_last": "2020-10-09T18:44:54", "resource_uri": "/api/v1/intelligence/P13788530147/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 22, "itype": "phish_url", "severity": "medium", "classification": "private", "srcip": "192.168.2.25", "country": "US", "update_id": 2621256767, "detail": "4yqbj3b", "id": 1875325904, "source": "Default Organization", "state": "active", "detail2": "imported by user 703", "url": "http://i-pb.example.com/pjmy3/w0tgzb?noe1pr9=eiwcfihd", "trusted_circle_ids": "802,792,114", "lat": -67.0, "maltype": "malware:rrcnb", "value_type": "url", "source_feed_id": 417, "date_first": "2020-10-09T18:44:58", "date_last": "2020-10-09T18:44:58", "resource_uri": "/api/v1/intelligence/P12535858975/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 19, "itype": "mal_ip", "severity": "very-high", "classification": "public", "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", "country": "IN", "update_id": 1171583779, "detail": "first_seen=2020-12-01T02:16:04,IP=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,qqo5fg,j6vwgb6,mask=2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6,popularity=medium", "id": 2684776210, "source": "Default Organization", "state": "active", "detail2": "imported by user 846", "trusted_circle_ids": "697,641", "lat": 47.5, "maltype": "malware:zfd", "value_type": "ip", "source_feed_id": 965, "date_first": "2020-10-09T18:45:05", "date_last": "2020-10-09T18:45:05", "resource_uri": "/api/v1/intelligence/P45743905551/", "added_at": "2020-10-08T12:22:11"} +{"itype": "mal_ip", "classification": "public", "lat": 5.6, "update_id": 3651210157, "maltype": "malware:ib0ezg", "source_feed_id": 632, "date_first": "2021-04-07T13:10:07", "confidence": 14, "severity": "low", "trusted_circle_ids": "459,936", "lon": 112.8, "id": 1705726884, "source": "Default Organization", "state": "active", "import_session_id": 2813, "value_type": "ip", "srcip": "192.168.2.12", "org": "Level 3 Communications", "asn": "3356", "date_last": "2021-04-19T08:57:46", "country": "US", "detail2": "imported by user 812", "resource_uri": "/api/v1/intelligence/P12586136986/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 81, "itype": "apt_ip", "severity": "very-high", "classification": "private", "trusted_circle_ids": "474,601", "id": 1502608684, "source": "Default Organization", "state": "active", "detail2": "imported by user 411", "srcip": "89.160.20.156", "update_id": 1170853028, "value_type": "ip", "source_feed_id": 2891, "date_first": "2021-04-29T16:02:17", "date_last": "2021-04-29T16:02:17", "resource_uri": "/api/v1/intelligence/P46655498126/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 14, "itype": "ssh_ip", "severity": "medium", "classification": "private", "trusted_circle_ids": "749", "id": 1171635730, "source": "Default Organization", "state": "active", "detail2": "imported by user 601", "srcip": "192.168.2.68", "update_id": 1026394470, "value_type": "ip", "source_feed_id": 822, "date_first": "2021-04-29T16:02:23", "date_last": "2021-04-29T16:02:23", "resource_uri": "/api/v1/intelligence/P24647878518/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 70, "itype": "i2p_ip", "severity": "medium", "classification": "public", "trusted_circle_ids": "630,235", "id": 2251817936, "source": "Default Organization", "state": "active", "detail2": "imported by user 964", "srcip": "89.160.20.156", "update_id": 3118045359, "value_type": "ip", "source_feed_id": 3194, "date_first": "2021-04-29T16:02:24", "date_last": "2021-04-29T16:02:24", "resource_uri": "/api/v1/intelligence/P47421535249/", "added_at": "2020-10-08T12:22:11"} +{"confidence": 77, "itype": "parked_ip", "severity": "low", "classification": "public", "trusted_circle_ids": "303,461", "id": 1966380326, "source": "Default Organization", "state": "active", "detail2": "imported by user 137", "srcip": "89.160.20.156", "update_id": 1757326916, "value_type": "ip", "source_feed_id": 229, "date_first": "2021-04-29T16:02:25", "date_last": "2021-04-29T16:02:25", "resource_uri": "/api/v1/intelligence/P19479436344/", "deleted_at": "2020-10-08T12:22:11"} +{"confidence": 14, "itype": "tor_ip", "severity": "medium", "classification": "private", "trusted_circle_ids": "657,879,13", "id": 3377960871, "source": "Default Organization", "state": "active", "detail2": "imported by user 997", "srcip": "192.168.2.239", "update_id": 1469037378, "value_type": "ip", "source_feed_id": 1710, "date_first": "2021-04-29T16:02:25", "date_last": "2021-04-29T16:02:25", "resource_uri": "/api/v1/intelligence/P25503355951/", "deleted_at": "2020-10-08T12:22:11"} +{"confidence": 12, "itype": "c2_ip", "severity": "high", "classification": "public", "trusted_circle_ids": "683,719", "update_id": 1541655552, "detail": "vjb9lmpcf", "id": 1049633552, "source": "Default Organization", "state": "active", "detail2": "imported by user 445", "srcip": "192.168.2.169", "maltype": "malware:tos5xne", "value_type": "ip", "source_feed_id": 274, "date_first": "2021-04-29T16:02:26", "date_last": "2021-04-29T16:02:26", "resource_uri": "/api/v1/intelligence/P17175297976/", "deleted_at": "2020-10-08T12:22:11"} diff --git a/test/packages/parallel/ti_anomali_logsdb/changelog.yml b/test/packages/parallel/ti_anomali_logsdb/changelog.yml new file mode 100644 index 000000000..a0cd38e42 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/changelog.yml @@ -0,0 +1,121 @@ +# newer versions go on top +- version: "1.11.0" + changes: + - description: Support for IoC Expiration + type: enhancement + link: https://github.com/elastic/integrations/pull/5581 +- version: "1.10.0" + changes: + - description: Update package to ECS 8.7.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/5765 +- version: "1.9.0" + changes: + - description: Update package to ECS 8.6.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/4576 +- version: "1.8.0" + changes: + - description: Update package to ECS 8.5.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/4285 +- version: "1.7.0" + changes: + - description: Deprecate EOL Limo datastream. See https://www.anomali.com/resources/limo. + type: enhancement + link: https://github.com/elastic/integrations/pull/4220 +- version: "1.6.0" + changes: + - description: Update package to ECS 8.4.0 + type: enhancement + link: https://github.com/elastic/integrations/pull/3920 +- version: "1.5.1" + changes: + - description: Fix proxy URL documentation rendering. + type: bugfix + link: https://github.com/elastic/integrations/pull/3881 +- version: "1.5.0" + changes: + - description: Update categories to include `threat_intel`. + type: enhancement + link: https://github.com/elastic/integrations/pull/3689 +- version: "1.4.0" + changes: + - description: Update package to ECS 8.3.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/3353 +- version: "1.3.3" + changes: + - description: added links to Anomoli documentation in readme + type: enhancement + link: https://github.com/elastic/integrations/pull/3167 +- version: "1.3.2" + changes: + - description: Fix threatstream + type: bugfix + link: https://github.com/elastic/integrations/pull/3437 +- version: "1.3.1" + changes: + - description: Update package descriptions + type: enhancement + link: https://github.com/elastic/integrations/pull/3398 +- version: "1.3.0" + changes: + - description: Update to ECS 8.2 + type: enhancement + link: https://github.com/elastic/integrations/pull/2781 +- version: "1.2.3" + changes: + - description: Add mapping for event.created + type: enhancement + link: https://github.com/elastic/integrations/pull/3042 +- version: "1.2.2" + changes: + - description: Add documentation for multi-fields + type: enhancement + link: https://github.com/elastic/integrations/pull/2916 +- version: "1.2.1" + changes: + - description: Adding first interval to Anomali Limo policy UI + type: bugfix + link: https://github.com/elastic/integrations/pull/2677 +- version: "1.2.0" + changes: + - description: Update to ECS 8.0 + type: enhancement + link: https://github.com/elastic/integrations/pull/2446 +- version: "1.1.3" + changes: + - description: Regenerate test files using the new GeoIP database + type: bugfix + link: https://github.com/elastic/integrations/pull/2339 +- version: "1.1.2" + changes: + - description: Change test public IPs to the supported subset + type: bugfix + link: https://github.com/elastic/integrations/pull/2327 +- version: "1.1.1" + changes: + - description: Fixing typo in base-fields.yml + type: enhancement + link: https://github.com/elastic/integrations/pull/2330 +- version: "1.1.0" + changes: + - description: Adding dashboards and threat.feed ECS fields + type: enhancement + link: https://github.com/elastic/integrations/pull/2292 +- version: "1.0.2" + changes: + - description: Bump minimum version + type: enhancement + link: https://github.com/elastic/integrations/pull/2063 +- version: "1.0.1" + changes: + - description: Update title and description. + type: enhancement + link: https://github.com/elastic/integrations/pull/1997 +- version: "1.0.0" + changes: + - description: Initial release + type: enhancement + link: https://github.com/elastic/integrations/pull/1911 diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json new file mode 100644 index 000000000..ddad37774 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json @@ -0,0 +1,2410 @@ +{ + "events": [ + { + "json": { + "added_at": "2020-10-08T12:22:11", + "domain": "tsvkkasbc.example.net", + "itype": "mal_domain", + "classification": "public", + "lat": 48.8582, + "update_id": 1561660927, + "source_feed_id": 3716, + "date_first": "2020-10-08T12:21:50", + "confidence": 20, + "severity": "medium", + "trusted_circle_ids": "14", + "lon": 2.3387, + "id": 2919443327, + "source": "Phony generated indicator", + "state": "active", + "import_session_id": 2832, + "value_type": "domain", + "srcip": "192.168.113.39", + "org": "OVH Hosting", + "date_last": "2020-10-08T12:24:42", + "country": "FR", + "detail2": "imported by user 41", + "resource_uri": "/api/v1/intelligence/P30754856864/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 71, + "itype": "mal_ip", + "severity": "very-high", + "classification": "public", + "date_first": "2020-10-08T12:21:59", + "country": "RU", + "org": "IP Khnykin Vitaliy Yakovlevich", + "import_session_id": 3544, + "lon": 37.6068, + "lat": 55.7386, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2406643974, + "trusted_circle_ids": "500,12", + "srcip": "192.168.2.111", + "detail2": "imported by user 329", + "value_type": "ip", + "source_feed_id": 3817, + "id": 1958206567, + "date_last": "2020-10-08T12:24:42", + "resource_uri": "/api/v1/intelligence/P36282461072/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "itype": "mal_ip", + "classification": "private", + "lat": 41.7041, + "update_id": 2322332062, + "source_feed_id": 2092, + "id": 2858143413, + "confidence": -1, + "severity": "high", + "trusted_circle_ids": "418,729,426", + "lon": -72.679, + "date_first": "2020-10-08T12:22:11", + "source": "Phony generated indicator", + "state": "active", + "import_session_id": 3128, + "value_type": "ip", + "srcip": "192.168.113.98", + "org": "Cox Communications", + "asn": "22773", + "date_last": "2020-10-08T12:24:42", + "country": "US", + "detail2": "imported by user 114", + "resource_uri": "/api/v1/intelligence/P40686000387/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "153,723", + "date_first": "2020-10-08T12:22:16", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 550", + "import_session_id": 1131, + "update_id": 3068217706, + "value_type": "md5", + "md5": "f73b8ba028d31dff5650c724a422254f7a8b7121", + "source_feed_id": 3473, + "id": 3771950940, + "date_last": "2020-10-08T12:24:42", + "resource_uri": "/api/v1/intelligence/P27709763562/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "itype": "mal_ip", + "classification": "private", + "lat": 33.6404, + "update_id": 2794921943, + "source_feed_id": 1017, + "id": 3500803046, + "confidence": 50, + "severity": "high", + "trusted_circle_ids": "662,450,278", + "lon": -117.9226, + "date_first": "2020-10-08T12:28:50", + "source": "Phony generated indicator", + "state": "active", + "import_session_id": 1985, + "value_type": "ip", + "srcip": "192.168.113.96", + "org": "Spectrum", + "asn": "20001", + "date_last": "2020-10-09T18:49:37", + "country": "US", + "detail2": "imported by user 551", + "resource_uri": "/api/v1/intelligence/P11213459617/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "itype": "mal_ip", + "classification": "private", + "lat": 42.8444, + "update_id": 2248258356, + "source_feed_id": 1760, + "id": 1897328345, + "confidence": 35, + "severity": "very-high", + "trusted_circle_ids": "357,795,916", + "lon": -78.8149, + "date_first": "2020-10-08T12:29:01", + "source": "Phony generated indicator", + "state": "active", + "import_session_id": 1570, + "value_type": "ip", + "srcip": "192.168.113.157", + "org": "Spectrum", + "asn": "11351", + "date_last": "2020-10-09T18:49:37", + "country": "US", + "detail2": "imported by user 821", + "resource_uri": "/api/v1/intelligence/P26185595856/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 80, + "itype": "c2_domain", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "775,702,615", + "detail": "gnh7,Botnet-DRZ8-,popularity=low,type=2,first_seen=2020-01-07T01:38:35,Botnet-WSPDZDY,mask=192.168.113.180,popularity=low,threat=gu3wn7", + "date_first": "2020-10-09T18:14:43", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3700550791, + "date_last": "2020-10-09T18:14:43", + "domain": "frg.example.com", + "lat": 41.9036, + "srcip": "192.168.2.19", + "detail2": "imported by user 606", + "value_type": "domain", + "source_feed_id": 2336, + "id": 2341489315, + "maltype": "malware:mi5n", + "resource_uri": "/api/v1/intelligence/P24845267130/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 60, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "790", + "date_first": "2020-10-09T18:30:10", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 148", + "update_id": 3675301663, + "value_type": "md5", + "md5": "7c35943c3766f8c179ddb4c0e2696038d52570d6", + "source_feed_id": 3539, + "id": 2185166550, + "date_last": "2020-10-09T18:30:10", + "resource_uri": "/api/v1/intelligence/P20522891699/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 47, + "itype": "phish_url", + "severity": "high", + "classification": "public", + "url": "https://oy72c.example.net/k4v7f/rsny?6idia=vus11f-6v", + "country": "US", + "date_first": "2020-10-09T18:30:13", + "detail": "5uuo3fde", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1334843074, + "date_last": "2020-10-09T18:30:13", + "trusted_circle_ids": "458,149", + "srcip": "192.168.113.163", + "detail2": "imported by user 813", + "value_type": "url", + "source_feed_id": 2988, + "id": 3487162601, + "maltype": "malware:dqzzh9yi", + "resource_uri": "/api/v1/intelligence/P44224815251/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 70, + "itype": "mal_url", + "severity": "low", + "classification": "private", + "url": "http://vvfba.example.net/-g6/y1et4fbg?og4a9de=nf9", + "country": "CN", + "date_first": "2020-10-09T18:30:13", + "detail": "6ek-p1f,q4e24", + "lat": 37.5333, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3765836294, + "date_last": "2020-10-09T18:30:13", + "trusted_circle_ids": "320,876,412", + "srcip": "192.168.113.217", + "detail2": "imported by user 286", + "value_type": "url", + "source_feed_id": 2345, + "id": 1216332687, + "maltype": "malware:q9z9xv", + "resource_uri": "/api/v1/intelligence/P24656342784/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 56, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "585", + "detail": "ve7yui2ok,1pq", + "date_first": "2020-10-09T18:30:22", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2337535636, + "maltype": "malware:slmp9qf", + "detail2": "imported by user 317", + "value_type": "md5", + "md5": "3b6f673714486028704f740165066f0d", + "source_feed_id": 2419, + "id": 2815265670, + "date_last": "2020-10-09T18:30:22", + "resource_uri": "/api/v1/intelligence/P43860738920/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 22, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "251,373", + "detail": "", + "date_first": "2020-10-09T18:30:23", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3466217499, + "maltype": "malware:42h", + "detail2": "imported by user 902", + "value_type": "md5", + "md5": "9e1bcdaa8857799f7ca0ed35027af285d22f123e690eae024ce4a7fafadb17e2", + "source_feed_id": 745, + "id": 3655629037, + "date_last": "2020-10-09T18:30:23", + "resource_uri": "/api/v1/intelligence/P10289325425/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 97, + "itype": "phish_url", + "severity": "low", + "classification": "public", + "url": "http://0rrei.example.net/9necc/0qv81npw?ryqvke6=g1d0thzbi", + "country": "US", + "date_first": "2020-10-09T18:30:30", + "detail": "b39jtmtm", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2618878309, + "date_last": "2020-10-09T18:30:30", + "trusted_circle_ids": "96,671,974", + "srcip": "192.168.113.62", + "detail2": "imported by user 67", + "value_type": "url", + "source_feed_id": 2250, + "id": 1169142226, + "maltype": "malware:va4k", + "resource_uri": "/api/v1/intelligence/P35512796139/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 30, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "216", + "detail": "x4l72xl,-r1ssbss", + "date_first": "2020-10-09T18:30:37", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3774204148, + "maltype": "malware:5wr1", + "detail2": "imported by user 202", + "value_type": "md5", + "md5": "1a2da983aa33710365b90e5ae3962f6f", + "source_feed_id": 2510, + "id": 1342474107, + "date_last": "2020-10-09T18:30:37", + "resource_uri": "/api/v1/intelligence/P11918347552/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "427,533,645", + "detail": "", + "date_first": "2020-10-09T18:30:40", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1325640492, + "maltype": "malware:hrtf", + "detail2": "imported by user 90", + "value_type": "md5", + "md5": "9b9c42a2d8c7b41c690b6263bb2d14a9", + "source_feed_id": 2987, + "id": 1479454115, + "date_last": "2020-10-09T18:30:40", + "resource_uri": "/api/v1/intelligence/P37893020984/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 91, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "902", + "detail": "4t594duy,evb", + "date_first": "2020-10-09T18:30:45", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3291340837, + "maltype": "malware:kif", + "detail2": "imported by user 690", + "value_type": "md5", + "md5": "29dba452956ef72170f37b9e40ed42998649da2a", + "source_feed_id": 1506, + "id": 2670573826, + "date_last": "2020-10-09T18:30:45", + "resource_uri": "/api/v1/intelligence/P23190104462/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 16, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "927,351", + "detail": "he5kempx,p0-x", + "date_first": "2020-10-09T18:30:54", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2172109255, + "maltype": "malware:gfhdl", + "detail2": "imported by user 508", + "value_type": "md5", + "md5": "5688daf63001bc5be3710f253ff1d7a6", + "source_feed_id": 2953, + "id": 3640047721, + "date_last": "2020-10-09T18:30:54", + "resource_uri": "/api/v1/intelligence/P31237021877/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 84, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "656,196,225", + "detail": "", + "date_first": "2020-10-09T18:30:59", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1968674327, + "maltype": "malware:jqbka276", + "detail2": "imported by user 581", + "value_type": "md5", + "md5": "73301a9e0bec034b55d05b8b882bdcdd", + "source_feed_id": 3440, + "id": 1275749854, + "date_last": "2020-10-09T18:30:59", + "resource_uri": "/api/v1/intelligence/P47423548157/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 92, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "250,781,693", + "detail": "", + "date_first": "2020-10-09T18:31:10", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1198783725, + "maltype": "malware:xggogeou", + "detail2": "imported by user 330", + "value_type": "md5", + "md5": "8d64fe91301795b383ea877584783e62b088268d", + "source_feed_id": 1637, + "id": 3363386561, + "date_last": "2020-10-09T18:31:10", + "resource_uri": "/api/v1/intelligence/P10353688145/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 55, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "269,734,128", + "detail": "", + "date_first": "2020-10-09T18:31:16", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1387254973, + "maltype": "malware:k8iv-j0", + "detail2": "imported by user 876", + "value_type": "md5", + "md5": "229659ffd5f19ba1d3720a676fdd069f50baf6e3", + "source_feed_id": 1774, + "id": 1030142929, + "date_last": "2020-10-09T18:31:16", + "resource_uri": "/api/v1/intelligence/P23773028805/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "213,665", + "detail": "", + "date_first": "2020-10-09T18:31:22", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2526393711, + "maltype": "malware:ygif", + "detail2": "imported by user 503", + "value_type": "md5", + "md5": "626806673bc674432c60da6d65471fbf", + "source_feed_id": 247, + "id": 2267051662, + "date_last": "2020-10-09T18:31:22", + "resource_uri": "/api/v1/intelligence/P12086766204/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 60, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "206,131", + "detail": "-tc0y,6mp2f,033j,mask=192.168.113.47,threat=n922n81", + "date_first": "2020-10-09T18:31:27", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3325324877, + "maltype": "malware:i0dy12s", + "detail2": "imported by user 921", + "value_type": "md5", + "md5": "e4b28e2e5ad154fc3527d6d73e4f4d1e", + "source_feed_id": 2570, + "id": 2799029823, + "date_last": "2020-10-09T18:31:27", + "resource_uri": "/api/v1/intelligence/P48891800178/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 68, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "996", + "detail": "", + "date_first": "2020-10-09T18:31:29", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1975284584, + "maltype": "malware:qsf0yk0u7", + "detail2": "imported by user 34", + "value_type": "md5", + "md5": "022616d9dd4c539641fe54dc38b8a0f98e1e68ba", + "source_feed_id": 2618, + "id": 3947934185, + "date_last": "2020-10-09T18:31:29", + "resource_uri": "/api/v1/intelligence/P14406628415/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 11, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "http://nox7bbtjb.example.org/stf9kv/i9sn7c7?bez=oa6wa", + "country": "US", + "date_first": "2020-10-09T18:31:34", + "detail": "hwemqcp", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2330081388, + "date_last": "2020-10-09T18:31:34", + "trusted_circle_ids": "163,899", + "srcip": "192.168.113.228", + "detail2": "imported by user 550", + "value_type": "url", + "source_feed_id": 823, + "id": 3717968102, + "maltype": "malware:p4q", + "resource_uri": "/api/v1/intelligence/P20214747859/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 0, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "126,444", + "detail": "z4sl,4gyj-uqd", + "date_first": "2020-10-09T18:31:36", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1290445752, + "maltype": "malware:rb1clj43", + "detail2": "imported by user 389", + "value_type": "md5", + "md5": "97b86f93855caec29eb8a8101cf5a11df3d50227", + "source_feed_id": 2552, + "id": 2096138555, + "date_last": "2020-10-09T18:31:36", + "resource_uri": "/api/v1/intelligence/P46643585799/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 7, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "680,472,898", + "detail": "", + "date_first": "2020-10-09T18:31:39", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1164668419, + "maltype": "malware:ccth3z-lo", + "detail2": "imported by user 140", + "value_type": "md5", + "md5": "4b48ca4a2a3eb1a054c4d54c9f273fef", + "source_feed_id": 516, + "id": 3901279480, + "date_last": "2020-10-09T18:31:39", + "resource_uri": "/api/v1/intelligence/P33992129557/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 62, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "299,445,123", + "detail": "b4yehb,a5z0dq", + "date_first": "2020-10-09T18:31:43", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3622857545, + "maltype": "malware:tzh08tdn", + "detail2": "imported by user 916", + "value_type": "md5", + "md5": "a33de82fbb3f1d6e88b8413db977fd49", + "source_feed_id": 1427, + "id": 2835919741, + "date_last": "2020-10-09T18:31:43", + "resource_uri": "/api/v1/intelligence/P23192506862/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 17, + "itype": "scan_ip", + "severity": "medium", + "classification": "public", + "country": "DE", + "date_first": "2020-10-09T18:31:49", + "detail": "", + "lat": 50.1103, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3168103115, + "date_last": "2020-10-09T18:31:49", + "trusted_circle_ids": "581", + "srcip": "192.168.2.228", + "detail2": "imported by user 276", + "value_type": "ip", + "source_feed_id": 1942, + "id": 3875093915, + "maltype": "malware:98hezulf", + "resource_uri": "/api/v1/intelligence/P24236698009/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 48, + "itype": "phish_url", + "severity": "high", + "classification": "public", + "url": "http://tugl.example.com/3l7d8/r6-0i4dm?dr4l606=upxgc0glw", + "country": "US", + "date_first": "2020-10-09T18:31:49", + "detail": "20ycc", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3643377559, + "date_last": "2020-10-09T18:31:49", + "trusted_circle_ids": "997", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 805", + "value_type": "url", + "source_feed_id": 2783, + "id": 2774330793, + "maltype": "malware:uf37q", + "resource_uri": "/api/v1/intelligence/P14341761856/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 66, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "http://lj4yx-63c.example.org/g8vhdkptx/io5?7leptzwb=idfq1sc", + "country": "US", + "date_first": "2020-10-09T18:31:58", + "detail": "kd2v28pbv", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1454243906, + "date_last": "2020-10-09T18:31:58", + "trusted_circle_ids": "155,169", + "srcip": "192.168.113.73", + "detail2": "imported by user 298", + "value_type": "url", + "source_feed_id": 428, + "id": 3523067640, + "maltype": "malware:kl6bce", + "resource_uri": "/api/v1/intelligence/P38219291048/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "460,326,659", + "detail": "", + "date_first": "2020-10-09T18:32:02", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2451216317, + "maltype": "malware:4rgb6", + "detail2": "imported by user 387", + "value_type": "md5", + "md5": "aaa799437db45342fe735b7d16b9ffa4", + "source_feed_id": 281, + "id": 1334879859, + "date_last": "2020-10-09T18:32:02", + "resource_uri": "/api/v1/intelligence/P18984087804/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 65, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "974,998,396", + "detail": "bxbp,n-0w-", + "date_first": "2020-10-09T18:32:03", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1116687087, + "maltype": "malware:h-z6v", + "detail2": "imported by user 77", + "value_type": "md5", + "md5": "5892116f215ee0488f1d1bdb77c673d554a031ca3ee656ae4534a7fb813a2763", + "source_feed_id": 1470, + "id": 2921322250, + "date_last": "2020-10-09T18:32:03", + "resource_uri": "/api/v1/intelligence/P48478473745/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "553,417,444", + "detail": "", + "date_first": "2020-10-09T18:32:04", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1306473624, + "maltype": "malware:c3z1da0je", + "detail2": "imported by user 930", + "value_type": "md5", + "md5": "e782e3334cd40b7bb7b70685e67953a4", + "source_feed_id": 1433, + "id": 2939983644, + "date_last": "2020-10-09T18:32:04", + "resource_uri": "/api/v1/intelligence/P40608496527/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 27, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "143,619,682", + "detail": "", + "date_first": "2020-10-09T18:32:08", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3368501226, + "maltype": "malware:vpui5r7lh", + "detail2": "imported by user 510", + "value_type": "md5", + "md5": "418bb996b68f57a52fb06e173b411e83", + "source_feed_id": 1464, + "id": 3931982402, + "date_last": "2020-10-09T18:32:08", + "resource_uri": "/api/v1/intelligence/P24375003704/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 62, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "798", + "detail": "", + "date_first": "2020-10-09T18:32:11", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1574399053, + "maltype": "malware:uc1ii", + "detail2": "imported by user 569", + "value_type": "md5", + "md5": "a11a8b6678ecedc084e50a61a56ded956a6048e3", + "source_feed_id": 3270, + "id": 1273747401, + "date_last": "2020-10-09T18:32:11", + "resource_uri": "/api/v1/intelligence/P44733454016/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 55, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "537,99,532", + "detail": "", + "date_first": "2020-10-09T18:32:19", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2306856063, + "maltype": "malware:zw2o4pe7j", + "detail2": "imported by user 169", + "value_type": "md5", + "md5": "26cda8b8e115ed400e37b721a6282703", + "source_feed_id": 172, + "id": 1311075185, + "date_last": "2020-10-09T18:32:19", + "resource_uri": "/api/v1/intelligence/P15323444932/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 94, + "itype": "scan_ip", + "severity": "medium", + "classification": "public", + "country": "CN", + "date_first": "2020-10-09T18:32:30", + "detail": "", + "lat": 39.7008, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2438380210, + "date_last": "2020-10-09T18:32:30", + "trusted_circle_ids": "591,520,447", + "srcip": "192.168.113.244", + "detail2": "imported by user 337", + "value_type": "ip", + "source_feed_id": 2276, + "id": 2764337186, + "maltype": "malware:fw4o2-h", + "resource_uri": "/api/v1/intelligence/P18169851814/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 49, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "57,487", + "detail": "", + "date_first": "2020-10-09T18:32:35", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2850361689, + "maltype": "malware:-03w", + "detail2": "imported by user 326", + "value_type": "md5", + "md5": "99bfd327fecf681fd26fe322ef932e5d", + "source_feed_id": 1082, + "id": 3354980572, + "date_last": "2020-10-09T18:32:35", + "resource_uri": "/api/v1/intelligence/P32535928532/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "https://t-u.example.net/j0r45o29/minqwx?dwe2m4i0=u7td", + "country": "US", + "date_first": "2020-10-09T18:33:10", + "detail": "ff5yna", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1095205177, + "date_last": "2020-10-09T18:33:10", + "trusted_circle_ids": "77,529", + "srcip": "192.168.113.179", + "detail2": "imported by user 252", + "value_type": "url", + "source_feed_id": 241, + "id": 3206667541, + "maltype": "malware:84enp", + "resource_uri": "/api/v1/intelligence/P18968303052/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 34, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "635", + "detail": "", + "date_first": "2020-10-09T18:33:13", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2148545774, + "maltype": "malware:6ytp38", + "detail2": "imported by user 133", + "value_type": "md5", + "md5": "92adf0584d6f1cf8410d4c0972685c50060f222ca90d0bb36fba269bfde055c6", + "source_feed_id": 1932, + "id": 1100806677, + "date_last": "2020-10-09T18:33:13", + "resource_uri": "/api/v1/intelligence/P22219524773/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 23, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "963", + "detail": "", + "date_first": "2020-10-09T18:33:14", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1583125163, + "maltype": "malware:euqe", + "detail2": "imported by user 574", + "value_type": "md5", + "md5": "0e0554d301b819140cc3592ec792d719", + "source_feed_id": 2004, + "id": 3105310078, + "date_last": "2020-10-09T18:33:14", + "resource_uri": "/api/v1/intelligence/P20929643375/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 40, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "873,874,206", + "detail": "", + "date_first": "2020-10-09T18:33:14", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1492811954, + "maltype": "malware:9yr65z4", + "detail2": "imported by user 361", + "value_type": "md5", + "md5": "a289518f648f178b2c83e133b6f0dc47f6b4760e", + "source_feed_id": 2168, + "id": 1839148298, + "date_last": "2020-10-09T18:33:14", + "resource_uri": "/api/v1/intelligence/P36945612806/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 88, + "itype": "phish_url", + "severity": "medium", + "classification": "public", + "url": "https://xh4bib14j.example.org/gfr9mp/97sx6xll?l8w9dj=dzpfp", + "country": "US", + "date_first": "2020-10-09T18:33:22", + "detail": "ge2w", + "lat": 37.4043, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3508566543, + "date_last": "2020-10-09T18:33:22", + "trusted_circle_ids": "396,599,717", + "srcip": "192.168.113.134", + "detail2": "imported by user 723", + "value_type": "url", + "source_feed_id": 604, + "id": 2377697935, + "maltype": "malware:q1k13v5", + "resource_uri": "/api/v1/intelligence/P29063384605/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "889,531,447", + "detail": "434k,ipfqz", + "date_first": "2020-10-09T18:33:24", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3611410331, + "maltype": "malware:ejw", + "detail2": "imported by user 552", + "value_type": "md5", + "md5": "51e2ba82eedf8478e9e3fbfef228ea25790ae4bf", + "source_feed_id": 273, + "id": 1615325622, + "date_last": "2020-10-09T18:33:24", + "resource_uri": "/api/v1/intelligence/P48267342294/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 15, + "itype": "phish_url", + "severity": "low", + "classification": "public", + "url": "https://z15tr9hg.example.net/2igj2h-/2ofzb2i3l?6g6=vulk-9u3a", + "country": "US", + "date_first": "2020-10-09T18:33:26", + "detail": "ochy9vqu", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1462829026, + "date_last": "2020-10-09T18:33:26", + "trusted_circle_ids": "744,696", + "srcip": "192.168.113.138", + "detail2": "imported by user 234", + "value_type": "url", + "source_feed_id": 1496, + "id": 2919030859, + "maltype": "malware:q54w", + "resource_uri": "/api/v1/intelligence/P30041077720/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 96, + "itype": "phish_url", + "severity": "very-high", + "classification": "private", + "url": "https://37f.example.net/xonl0ni/yrut8tj0x?z7q2c0n1r=03cgut", + "country": "US", + "date_first": "2020-10-09T18:33:27", + "detail": "co92pn7a", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2449289149, + "date_last": "2020-10-09T18:33:27", + "trusted_circle_ids": "917", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 814", + "value_type": "url", + "source_feed_id": 3466, + "id": 3725856912, + "maltype": "malware:gupnzz", + "resource_uri": "/api/v1/intelligence/P28094746548/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "54,625", + "detail": "om2k0u,pwwil9g", + "date_first": "2020-10-09T18:33:29", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1903849731, + "maltype": "malware:yyf8-z3qr", + "detail2": "imported by user 456", + "value_type": "md5", + "md5": "56af8d0db3768782dabc3251b854a0d9b7cfc85d", + "source_feed_id": 1534, + "id": 1715188816, + "date_last": "2020-10-09T18:33:29", + "resource_uri": "/api/v1/intelligence/P30288796367/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 38, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "528", + "detail": "", + "date_first": "2020-10-09T18:33:43", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1548132836, + "maltype": "malware:kjrkbch", + "detail2": "imported by user 107", + "value_type": "md5", + "md5": "b4be20bbc8bf84ba80e969898eaa448f", + "source_feed_id": 2338, + "id": 1542328635, + "date_last": "2020-10-09T18:33:43", + "resource_uri": "/api/v1/intelligence/P43547685211/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 48, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "751,311", + "detail": "dgq6,bzq", + "date_first": "2020-10-09T18:33:45", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1641485469, + "maltype": "malware:6w48nfed", + "detail2": "imported by user 77", + "value_type": "md5", + "md5": "f7a040538a50c4e369fcf3a07f0d777888c1b249c5397ed40d18c7a3ac2ed7bb", + "source_feed_id": 339, + "id": 1406728268, + "date_last": "2020-10-09T18:33:45", + "resource_uri": "/api/v1/intelligence/P33375453229/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 70, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "158,41", + "detail": "", + "date_first": "2020-10-09T18:33:45", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1200863224, + "maltype": "malware:36to", + "detail2": "imported by user 934", + "value_type": "md5", + "md5": "b0ad12656ff4eaaf0c26dc28d61c7c92", + "source_feed_id": 133, + "id": 3645109388, + "date_last": "2020-10-09T18:33:45", + "resource_uri": "/api/v1/intelligence/P24525467917/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 13, + "itype": "phish_url", + "severity": "very-high", + "classification": "public", + "url": "http://c3de8rc.example.net/68fy4w2fb/2rkkjd1wx?pgwn=96iscb1", + "country": "US", + "date_first": "2020-10-09T18:33:48", + "detail": "q8jvwmv", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3036608745, + "date_last": "2020-10-09T18:33:48", + "trusted_circle_ids": "551,416,152", + "srcip": "192.168.2.71", + "detail2": "imported by user 179", + "value_type": "url", + "source_feed_id": 1654, + "id": 3681950641, + "maltype": "malware:-uuyxdhk", + "resource_uri": "/api/v1/intelligence/P34984204724/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 76, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "508", + "detail": "", + "date_first": "2020-10-09T18:33:51", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2717490002, + "maltype": "malware:ypti5n1jj", + "detail2": "imported by user 141", + "value_type": "md5", + "md5": "69d02ec430b00d6f8cf85cb77dbde1a6", + "source_feed_id": 2152, + "id": 3936160217, + "date_last": "2020-10-09T18:33:51", + "resource_uri": "/api/v1/intelligence/P30370909387/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 25, + "itype": "scan_ip", + "severity": "high", + "classification": "public", + "country": "VN", + "date_first": "2020-10-09T18:33:57", + "detail": "ih8", + "lat": 20.9472, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2333575988, + "date_last": "2020-10-09T18:33:57", + "trusted_circle_ids": "221,16", + "srcip": "192.168.113.183", + "detail2": "imported by user 313", + "value_type": "ip", + "source_feed_id": 3025, + "id": 1552690969, + "maltype": "malware:9g92ck19r", + "resource_uri": "/api/v1/intelligence/P45962220487/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 44, + "itype": "scan_ip", + "severity": "medium", + "classification": "public", + "country": "DE", + "date_first": "2020-10-09T18:34:00", + "detail": "", + "lat": 50.1188, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1805235807, + "date_last": "2020-10-09T18:34:00", + "trusted_circle_ids": "556,612", + "srcip": "192.168.2.125", + "detail2": "imported by user 737", + "value_type": "ip", + "source_feed_id": 1868, + "id": 3602170633, + "maltype": "malware:9j2", + "resource_uri": "/api/v1/intelligence/P24077404528/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 13, + "itype": "phish_url", + "severity": "high", + "classification": "private", + "url": "http://i9rdwu.example.net/brop9/8pj8hj?pxztdj0b=mp1r", + "country": "US", + "date_first": "2020-10-09T18:34:00", + "detail": "zco3-p9s", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1528754412, + "date_last": "2020-10-09T18:34:00", + "trusted_circle_ids": "506", + "srcip": "192.168.113.54", + "detail2": "imported by user 346", + "value_type": "url", + "source_feed_id": 972, + "id": 2627754009, + "maltype": "malware:h5myhqm", + "resource_uri": "/api/v1/intelligence/P45174995083/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 90, + "itype": "scan_ip", + "severity": "medium", + "classification": "private", + "country": "IN", + "date_first": "2020-10-09T18:34:00", + "detail": "", + "lat": 30.7324, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3734162957, + "date_last": "2020-10-09T18:34:00", + "trusted_circle_ids": "682,816", + "srcip": "192.168.2.151", + "detail2": "imported by user 669", + "value_type": "ip", + "source_feed_id": 1469, + "id": 2544599932, + "maltype": "malware:80m244uf", + "resource_uri": "/api/v1/intelligence/P46961961552/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 26, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "932,962", + "detail": "vo6,ak5tl3", + "date_first": "2020-10-09T18:34:02", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3547373796, + "maltype": "malware:0804ml", + "detail2": "imported by user 551", + "value_type": "md5", + "md5": "5373a4b3cae71b2e59c3db245cce0ef939971383f46fbbfee8eb910cedebdbd2", + "source_feed_id": 1135, + "id": 1083570649, + "date_last": "2020-10-09T18:34:02", + "resource_uri": "/api/v1/intelligence/P27067884817/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "mal_md5", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "394", + "detail": "9337,5o1v7zey", + "date_first": "2020-10-09T18:34:05", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3182730887, + "maltype": "malware:g36dwjhmz", + "detail2": "imported by user 443", + "value_type": "md5", + "md5": "8f5eb1601e67784eff5c809e4be7411f", + "source_feed_id": 3712, + "id": 2423201328, + "date_last": "2020-10-09T18:34:05", + "resource_uri": "/api/v1/intelligence/P17669396967/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 78, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "648,271", + "detail": "", + "date_first": "2020-10-09T18:34:11", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3442110662, + "maltype": "malware:8fe4saj3y", + "detail2": "imported by user 905", + "value_type": "md5", + "md5": "1b1adea7f0b81d9c082096b41727449d7432e970", + "source_feed_id": 2621, + "id": 1112887491, + "date_last": "2020-10-09T18:34:11", + "resource_uri": "/api/v1/intelligence/P34258969874/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 22, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "647,263", + "detail": "", + "date_first": "2020-10-09T18:34:12", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1378520905, + "maltype": "malware:x9dritaly", + "detail2": "imported by user 885", + "value_type": "md5", + "md5": "aa77d9f735de69d6e41db2f85093aca5", + "source_feed_id": 1377, + "id": 2990262248, + "date_last": "2020-10-09T18:34:12", + "resource_uri": "/api/v1/intelligence/P23076625483/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 20, + "itype": "phish_url", + "severity": "low", + "classification": "public", + "url": "https://3ii1ql.example.org/ox1etvpch/6h-6v?9qjzn=qhg", + "country": "US", + "date_first": "2020-10-09T18:34:17", + "detail": "va5p", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1245189241, + "date_last": "2020-10-09T18:34:17", + "trusted_circle_ids": "85,930,472", + "srcip": "192.168.2.13", + "detail2": "imported by user 416", + "value_type": "url", + "source_feed_id": 2351, + "id": 1531986622, + "maltype": "malware:qo7o", + "resource_uri": "/api/v1/intelligence/P26993697491/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 94, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "162", + "detail": "f12,rvc5", + "date_first": "2020-10-09T18:34:20", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3145137452, + "maltype": "malware:apnq0x", + "detail2": "imported by user 502", + "value_type": "md5", + "md5": "582534a915d089b0a6718b461b411ed246cedd2061c3f35f28f03a06ce6b2cd6", + "source_feed_id": 3282, + "id": 1361471516, + "date_last": "2020-10-09T18:34:20", + "resource_uri": "/api/v1/intelligence/P37822052526/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 52, + "itype": "mal_md5", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "135,25", + "detail": "eu17r4oc,3hi", + "date_first": "2020-10-09T18:34:20", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2080668530, + "maltype": "malware:2wiqe2gr", + "detail2": "imported by user 614", + "value_type": "md5", + "md5": "13ad68519f27420c676bfd2bd030c47b", + "source_feed_id": 2183, + "id": 1828309760, + "date_last": "2020-10-09T18:34:20", + "resource_uri": "/api/v1/intelligence/P14662918483/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 13, + "itype": "mal_md5", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "228", + "detail": "lrmv,xjk2hrhj", + "date_first": "2020-10-09T18:34:32", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2278094458, + "maltype": "malware:l-s", + "detail2": "imported by user 995", + "value_type": "md5", + "md5": "4da4992f0b00db1ca16d0cc36f988328", + "source_feed_id": 779, + "id": 3262791296, + "date_last": "2020-10-09T18:34:32", + "resource_uri": "/api/v1/intelligence/P16550802602/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 28, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "40,385", + "detail": "", + "date_first": "2020-10-09T18:34:32", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1290886724, + "maltype": "malware:ku-40z", + "detail2": "imported by user 545", + "value_type": "md5", + "md5": "a57630113fddd33f33f1436265c97a3a", + "source_feed_id": 3744, + "id": 1187033685, + "date_last": "2020-10-09T18:34:32", + "resource_uri": "/api/v1/intelligence/P46080958137/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 58, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "656,861,423", + "detail": "", + "date_first": "2020-10-09T18:34:39", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3795612234, + "maltype": "malware:smrm4w", + "detail2": "imported by user 480", + "value_type": "md5", + "md5": "67f4fa89bb700e56a287d39c94b8fbf1c79dc470", + "source_feed_id": 2592, + "id": 3786994876, + "date_last": "2020-10-09T18:34:39", + "resource_uri": "/api/v1/intelligence/P38545796072/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 90, + "itype": "mal_md5", + "severity": "very-high", + "classification": "private", + "trusted_circle_ids": "256,608,882", + "detail": "e88g0,a5om", + "date_first": "2020-10-09T18:34:40", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2375278437, + "maltype": "malware:ab9z72u", + "detail2": "imported by user 53", + "value_type": "md5", + "md5": "147ea1f0cc3ed7a2e1201dd919202b54", + "source_feed_id": 3694, + "id": 2770122167, + "date_last": "2020-10-09T18:34:40", + "resource_uri": "/api/v1/intelligence/P34586401842/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 72, + "itype": "scan_ip", + "severity": "medium", + "classification": "public", + "country": "VN", + "date_first": "2020-10-09T18:34:41", + "detail": "", + "lat": 21.0313, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2225250503, + "date_last": "2020-10-09T18:34:41", + "trusted_circle_ids": "459", + "srcip": "192.168.113.106", + "detail2": "imported by user 406", + "value_type": "ip", + "source_feed_id": 3048, + "id": 1023424936, + "maltype": "malware:w5q4ohu", + "resource_uri": "/api/v1/intelligence/P37884789468/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 77, + "itype": "phish_url", + "severity": "medium", + "classification": "public", + "url": "http://x2bhngjuu.example.org/5fwsxlb1m/oshqs0?tjb2k5d=xdfjr", + "country": "US", + "date_first": "2020-10-09T18:34:43", + "detail": "3uce", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3685616690, + "date_last": "2020-10-09T18:34:43", + "trusted_circle_ids": "723,634", + "srcip": "192.168.113.160", + "detail2": "imported by user 209", + "value_type": "url", + "source_feed_id": 3139, + "id": 1424175525, + "maltype": "malware:mufy3v1ca", + "resource_uri": "/api/v1/intelligence/P49008040902/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 77, + "itype": "mal_md5", + "severity": "low", + "classification": "public", + "trusted_circle_ids": "591,107", + "detail": "", + "date_first": "2020-10-09T18:34:48", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2123703116, + "maltype": "malware:sz-xa", + "detail2": "imported by user 950", + "value_type": "md5", + "md5": "f96ab635235872a03ac4e23adc40373c3d4eb58f", + "source_feed_id": 389, + "id": 3471768461, + "date_last": "2020-10-09T18:34:48", + "resource_uri": "/api/v1/intelligence/P26383900793/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 67, + "itype": "mal_md5", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "841", + "detail": "", + "date_first": "2020-10-09T18:34:53", + "source": "Phony generated indicator", + "state": "active", + "update_id": 2477969009, + "maltype": "malware:gm6oz1s-", + "detail2": "imported by user 812", + "value_type": "md5", + "md5": "84fd84234cd1ba8b3a5ec4e19a58b214fa49f575", + "source_feed_id": 1353, + "id": 1603221247, + "date_last": "2020-10-09T18:34:53", + "resource_uri": "/api/v1/intelligence/P11475484798/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 16, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "468", + "detail": "", + "date_first": "2020-10-09T18:34:53", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3563093556, + "maltype": "malware:l1sn", + "detail2": "imported by user 596", + "value_type": "md5", + "md5": "41d42102fd06731d491e4f867286c2e9c598a171", + "source_feed_id": 2962, + "id": 3824568979, + "date_last": "2020-10-09T18:34:53", + "resource_uri": "/api/v1/intelligence/P33248049156/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 68, + "itype": "phish_url", + "severity": "high", + "classification": "public", + "url": "https://r6o3c.example.net/zkj1wr/ms2dq?vxk34o2ta=hnyew9", + "country": "US", + "date_first": "2020-10-09T18:34:54", + "detail": "wc32ioub", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2000547096, + "date_last": "2020-10-09T18:34:54", + "trusted_circle_ids": "252,430", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 494", + "value_type": "url", + "source_feed_id": 3338, + "id": 2742768832, + "maltype": "malware:zlak2du", + "resource_uri": "/api/v1/intelligence/P48199451817/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 98, + "itype": "mal_md5", + "severity": "high", + "classification": "private", + "trusted_circle_ids": "205", + "detail": "", + "date_first": "2020-10-09T18:34:55", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1497124113, + "maltype": "malware:9d4u5", + "detail2": "imported by user 281", + "value_type": "md5", + "md5": "614e9d0386a3eed33812c2b7ede69761", + "source_feed_id": 1273, + "id": 1056662529, + "date_last": "2020-10-09T18:34:55", + "resource_uri": "/api/v1/intelligence/P44837425307/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 85, + "itype": "mal_md5", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "613,162", + "detail": "", + "date_first": "2020-10-09T18:35:01", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3209696666, + "maltype": "malware:9814i", + "detail2": "imported by user 382", + "value_type": "md5", + "md5": "421511307449e505aefa8a189f8e21b6eb10d897bebe2881c05003b13c6c5ff7", + "source_feed_id": 1355, + "id": 3741117786, + "date_last": "2020-10-09T18:35:01", + "resource_uri": "/api/v1/intelligence/P36784010089/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 70, + "itype": "mal_md5", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "553", + "detail": "", + "date_first": "2020-10-09T18:35:01", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3104787940, + "maltype": "malware:a15f", + "detail2": "imported by user 509", + "value_type": "md5", + "md5": "76bee1bc6e5e1f98192ed771e945ab46", + "source_feed_id": 285, + "id": 3701416935, + "date_last": "2020-10-09T18:35:01", + "resource_uri": "/api/v1/intelligence/P30314319356/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 76, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "http://onv7s.example.org/29j3q7kc/4l0za3s?viyrr-vd=hde", + "country": "US", + "date_first": "2020-10-09T18:35:04", + "detail": "0xansbp3f", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3640800179, + "date_last": "2020-10-09T18:35:04", + "trusted_circle_ids": "47,99,408", + "srcip": "192.168.113.111", + "detail2": "imported by user 748", + "value_type": "url", + "source_feed_id": 3698, + "id": 1191104228, + "maltype": "malware:1kq0b", + "resource_uri": "/api/v1/intelligence/P30550711390/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 63, + "itype": "mal_md5", + "severity": "medium", + "classification": "public", + "trusted_circle_ids": "154", + "detail": "c-br,9sbldir", + "date_first": "2020-10-09T18:35:06", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1492680577, + "maltype": "malware:bsz82pb", + "detail2": "imported by user 649", + "value_type": "md5", + "md5": "8198999c0484c6a70b28a9176aa7b6ca", + "source_feed_id": 3505, + "id": 1259633036, + "date_last": "2020-10-09T18:35:06", + "resource_uri": "/api/v1/intelligence/P26768575783/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 42, + "itype": "mal_md5", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "537,514,943", + "detail": "", + "date_first": "2020-10-09T18:35:22", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1804378586, + "maltype": "malware:k-rw-4e8x", + "detail2": "imported by user 454", + "value_type": "md5", + "md5": "11040c6082a858edf1fc8ea2b5974c0b", + "source_feed_id": 3384, + "id": 2978101942, + "date_last": "2020-10-09T18:35:22", + "resource_uri": "/api/v1/intelligence/P43748068495/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 89, + "itype": "mal_url", + "severity": "medium", + "classification": "private", + "url": "http://ureumt8.example.org/ffey/ugwd?770694=x4r5wc-k", + "country": "US", + "date_first": "2020-10-09T18:44:01", + "detail": "first_seen=2020-02-19T16:22:26,IP=192.168.113.146,qve,9hq86cl,mask=192.168.2.145,popularity=medium", + "lat": 34.0494, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3731087580, + "date_last": "2020-10-09T18:44:01", + "trusted_circle_ids": "102,209", + "srcip": "192.168.2.245", + "detail2": "imported by user 174", + "value_type": "url", + "source_feed_id": 3818, + "id": 2359719157, + "maltype": "malware:3sny6uo6", + "resource_uri": "/api/v1/intelligence/P45456880433/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "https://5wcz6kck.example.net/mankgvtpl/1suq?vx-gvh=00tc4", + "country": "US", + "date_first": "2020-10-09T18:44:04", + "detail": "0o1", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1554620383, + "date_last": "2020-10-09T18:44:04", + "trusted_circle_ids": "504,886,919", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 304", + "value_type": "url", + "source_feed_id": 2056, + "id": 1927608855, + "maltype": "malware:pq6", + "resource_uri": "/api/v1/intelligence/P23374489284/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 58, + "itype": "mal_domain", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "199,885", + "detail": "92w9k-y7n,tuy", + "date_first": "2020-10-09T18:44:19", + "source": "Phony generated indicator", + "state": "active", + "update_id": 3134489306, + "domain": "m94fj00kt.example.org", + "maltype": "malware:zc6974ds", + "detail2": "imported by user 257", + "value_type": "domain", + "source_feed_id": 1784, + "id": 3768728021, + "date_last": "2020-10-09T18:44:19", + "resource_uri": "/api/v1/intelligence/P38992994542/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 35, + "itype": "mal_ip", + "severity": "medium", + "classification": "public", + "country": "RU", + "date_first": "2020-10-09T18:44:27", + "detail": "first_seen=2020-11-03T00:44:45,IP=192.168.113.133,a7ampeh8,3-9hj92,mask=192.168.113.177,popularity=high", + "lat": 53.1835, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1229235473, + "date_last": "2020-10-09T18:44:27", + "trusted_circle_ids": "35", + "srcip": "192.168.113.178", + "detail2": "imported by user 517", + "value_type": "ip", + "source_feed_id": 1944, + "id": 2290397713, + "maltype": "malware:3s0", + "resource_uri": "/api/v1/intelligence/P21936847983/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 39, + "itype": "phish_url", + "severity": "medium", + "classification": "private", + "url": "https://v6cw8.example.org/yw7fom/x6xp?3ck=i3ko4", + "country": "US", + "date_first": "2020-10-09T18:44:35", + "detail": "ff-fu", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1840929082, + "date_last": "2020-10-09T18:44:35", + "trusted_circle_ids": "922,149", + "srcip": "192.168.2.140", + "detail2": "imported by user 28", + "value_type": "url", + "source_feed_id": 1087, + "id": 3800623355, + "maltype": "malware:uflhyskgf", + "resource_uri": "/api/v1/intelligence/P20162380838/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 81, + "itype": "phish_url", + "severity": "low", + "classification": "private", + "url": "http://tccdg3.example.net/2vgsz9a/9tzk9?xsy9af-=jz3ibf", + "country": "US", + "date_first": "2020-10-09T18:44:36", + "detail": "klkwsbsg", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1804090348, + "date_last": "2020-10-09T18:44:36", + "trusted_circle_ids": "960,762", + "srcip": "192.168.2.20", + "detail2": "imported by user 343", + "value_type": "url", + "source_feed_id": 1820, + "id": 3407857792, + "maltype": "malware:9pn45", + "resource_uri": "/api/v1/intelligence/P31722500855/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 94, + "itype": "mal_url", + "severity": "low", + "classification": "private", + "url": "https://kfp3hgno1.example.net/-upwetee4/-e5xph-c?558c06wud=cvh0j95", + "country": "IN", + "date_first": "2020-10-09T18:44:37", + "detail": "first_seen=2020-04-13T09:30:20,IP=192.168.113.221,ciib,o2d,mask=192.168.2.110,popularity=high", + "lat": 10.7732, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3147523206, + "date_last": "2020-10-09T18:44:37", + "trusted_circle_ids": "370,288,713", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 710", + "value_type": "url", + "source_feed_id": 2339, + "id": 2198510928, + "maltype": "malware:kempjsn", + "resource_uri": "/api/v1/intelligence/P19675179959/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 58, + "itype": "phish_url", + "severity": "low", + "classification": "private", + "url": "https://4oijj.example.org/6scni2kd/8-0olo?orkdde40=kgs2r", + "country": "US", + "date_first": "2020-10-09T18:44:45", + "detail": "kxdfpu", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1290369427, + "date_last": "2020-10-09T18:44:45", + "trusted_circle_ids": "302,609,222", + "srcip": "192.168.113.98", + "detail2": "imported by user 823", + "value_type": "url", + "source_feed_id": 3428, + "id": 2212756661, + "maltype": "malware:sxjdd", + "resource_uri": "/api/v1/intelligence/P46589789238/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 35, + "itype": "mal_ip", + "severity": "low", + "classification": "public", + "country": "CN", + "date_first": "2020-10-09T18:44:47", + "detail": "first_seen=2020-12-14T18:26:40,IP=2001:db8:12ee:5479:f7f8:33e8:1477:6866,jsk,v2mi3w1,mask=192.168.2.15,popularity=medium", + "lat": 39.9288, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1372709735, + "date_last": "2020-10-09T18:44:47", + "trusted_circle_ids": "785,379", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "detail2": "imported by user 879", + "value_type": "ip", + "source_feed_id": 2375, + "id": 3144423546, + "maltype": "malware:tcydb2", + "resource_uri": "/api/v1/intelligence/P44798713183/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 45, + "itype": "mal_domain", + "severity": "medium", + "classification": "private", + "country": "HK", + "date_first": "2020-10-09T18:44:50", + "detail": "first_seen=2020-11-03T12:54:48,-eqch6ly,rzzt0o,mask=192.168.2.54,popularity=high", + "lat": 22.25, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3428061221, + "date_last": "2020-10-09T18:44:50", + "domain": "ekxj6l29.example.org", + "trusted_circle_ids": "600", + "srcip": "192.168.2.83", + "detail2": "imported by user 908", + "value_type": "domain", + "source_feed_id": 3770, + "id": 2174196696, + "maltype": "malware:lr1x46", + "resource_uri": "/api/v1/intelligence/P16541335485/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 53, + "itype": "mal_url", + "severity": "medium", + "classification": "private", + "url": "https://ox5zm.example.net/w1g/cx3i6?e20oczdk8=qskggm6", + "trusted_circle_ids": "739", + "detail": "first_seen=2020-07-22T05:31:21,dq1kmq,ldv0d,mask=192.168.113.252,popularity=high", + "date_first": "2020-10-09T18:44:50", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1487091932, + "maltype": "malware:l6yf7g5", + "detail2": "imported by user 549", + "value_type": "url", + "source_feed_id": 1133, + "id": 3895662919, + "date_last": "2020-10-09T18:44:50", + "resource_uri": "/api/v1/intelligence/P31580704002/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 4, + "itype": "phish_url", + "severity": "high", + "classification": "private", + "url": "https://8ms6fr.example.org/kkbk-6/59l79x?ye0qcj=kp-dd", + "country": "US", + "date_first": "2020-10-09T18:44:54", + "detail": "o95-rg", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 1060438545, + "date_last": "2020-10-09T18:44:54", + "trusted_circle_ids": "264,617", + "srcip": "192.168.113.162", + "detail2": "imported by user 53", + "value_type": "url", + "source_feed_id": 2871, + "id": 2943731774, + "maltype": "malware:jwx", + "resource_uri": "/api/v1/intelligence/P49282968130/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 0, + "itype": "phish_url", + "severity": "medium", + "classification": "public", + "url": "https://cey6yigq.example.net/nfdi/hied?07a=fuayaqs", + "country": "US", + "date_first": "2020-10-09T18:44:58", + "detail": "v9pag", + "lat": 37.751, + "source": "Phony generated indicator", + "state": "active", + "update_id": 3265625226, + "date_last": "2020-10-09T18:44:58", + "trusted_circle_ids": "134", + "srcip": "192.168.113.92", + "detail2": "imported by user 270", + "value_type": "url", + "source_feed_id": 249, + "id": 1446338851, + "maltype": "malware:8o51", + "resource_uri": "/api/v1/intelligence/P31095217333/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 14, + "itype": "mal_ip", + "severity": "high", + "classification": "private", + "country": "IN", + "date_first": "2020-10-09T18:45:05", + "detail": "first_seen=2020-02-24T00:46:01,IP=192.168.2.44,or81,2rukgaof3,mask=192.168.113.238,popularity=high", + "lat": 12.9184, + "source": "Phony generated indicator", + "state": "active", + "update_id": 2103156062, + "date_last": "2020-10-09T18:45:05", + "trusted_circle_ids": "132", + "srcip": "192.168.2.100", + "detail2": "imported by user 123", + "value_type": "ip", + "source_feed_id": 1483, + "id": 3475796384, + "maltype": "malware:4uv03d3", + "resource_uri": "/api/v1/intelligence/P39902885979/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "itype": "mal_ip", + "classification": "public", + "lat": 33.846, + "update_id": 1806720202, + "maltype": "malware:opk59im", + "source_feed_id": 444, + "id": 3022162786, + "confidence": 23, + "severity": "very-high", + "trusted_circle_ids": "512,80", + "lon": -118.3456, + "date_first": "2021-04-07T13:10:07", + "source": "Phony generated indicator", + "state": "active", + "import_session_id": 2042, + "value_type": "ip", + "srcip": "192.168.2.16", + "org": "Level 3 Communications", + "asn": "3356", + "date_last": "2021-04-19T08:57:46", + "country": "US", + "detail2": "imported by user 201", + "resource_uri": "/api/v1/intelligence/P27253913277/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 24, + "itype": "apt_ip", + "severity": "medium", + "classification": "private", + "trusted_circle_ids": "203", + "date_first": "2021-04-29T16:02:17", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 63", + "srcip": "192.168.113.33", + "update_id": 3795650872, + "value_type": "ip", + "source_feed_id": 1348, + "id": 3349860635, + "date_last": "2021-04-29T16:02:17", + "resource_uri": "/api/v1/intelligence/P38953132937/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": -1, + "itype": "ssh_ip", + "severity": "very-high", + "classification": "public", + "trusted_circle_ids": "736,393,234", + "date_first": "2021-04-29T16:02:23", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 167", + "srcip": "192.168.2.180", + "update_id": 3989652203, + "value_type": "ip", + "source_feed_id": 2951, + "id": 1163531784, + "date_last": "2021-04-29T16:02:23", + "resource_uri": "/api/v1/intelligence/P29643886460/" + } + }, + { + "json": { + "added_at": "2020-10-08T12:22:11", + "confidence": 52, + "itype": "i2p_ip", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "944", + "date_first": "2021-04-29T16:02:24", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 344", + "srcip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "update_id": 3037538927, + "value_type": "ip", + "source_feed_id": 2447, + "id": 2800939892, + "date_last": "2021-04-29T16:02:24", + "resource_uri": "/api/v1/intelligence/P40490233828/" + } + }, + { + "json": { + "deleted_at": "2020-10-08T12:22:11", + "confidence": 44, + "itype": "parked_ip", + "severity": "high", + "classification": "public", + "trusted_circle_ids": "32,55,238", + "date_first": "2021-04-29T16:02:25", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 779", + "srcip": "192.168.113.116", + "update_id": 3360316167, + "value_type": "ip", + "source_feed_id": 2504, + "id": 1581123030, + "date_last": "2021-04-29T16:02:25", + "resource_uri": "/api/v1/intelligence/P48317859915/" + } + }, + { + "json": { + "deleted_at": "2020-10-08T12:22:11", + "confidence": 74, + "itype": "tor_ip", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "637,950", + "date_first": "2021-04-29T16:02:25", + "source": "Phony generated indicator", + "state": "active", + "detail2": "imported by user 547", + "srcip": "192.168.2.73", + "update_id": 3997504378, + "value_type": "ip", + "source_feed_id": 344, + "id": 3899050177, + "date_last": "2021-04-29T16:02:25", + "resource_uri": "/api/v1/intelligence/P45278450526/" + } + }, + { + "json": { + "deleted_at": "2020-10-08T12:22:11", + "confidence": 57, + "itype": "c2_ip", + "severity": "low", + "classification": "private", + "trusted_circle_ids": "795,479", + "detail": "4jzpc", + "date_first": "2021-04-29T16:02:26", + "source": "Phony generated indicator", + "state": "active", + "update_id": 1734126296, + "maltype": "malware:uili", + "srcip": "192.168.113.197", + "detail2": "imported by user 772", + "value_type": "ip", + "source_feed_id": 1431, + "id": 1546439424, + "date_last": "2021-04-29T16:02:26", + "resource_uri": "/api/v1/intelligence/P29675942316/" + } + } + ] +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json new file mode 100644 index 000000000..d5d37930a --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json @@ -0,0 +1,5743 @@ +{ + "expected": [ + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 20, + "detail2": "imported by user 41", + "id": "2919443327", + "import_session_id": "2832", + "itype": "mal_domain", + "resource_uri": "/api/v1/intelligence/P30754856864/", + "severity": "medium", + "source_feed_id": "3716", + "state": "active", + "trusted_circle_ids": [ + "14" + ], + "update_id": "1561660927", + "value_type": "domain" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "organization": { + "name": "OVH Hosting" + } + }, + "confidence": "Low", + "first_seen": "2020-10-08T12:21:50.000Z", + "geo": { + "country_iso_code": "FR", + "location": { + "lat": 48.8582, + "lon": 2.3387 + } + }, + "ip": "192.168.113.39", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "domain-name", + "url": { + "domain": "tsvkkasbc.example.net" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 71, + "detail2": "imported by user 329", + "id": "1958206567", + "import_session_id": "3544", + "itype": "mal_ip", + "resource_uri": "/api/v1/intelligence/P36282461072/", + "severity": "very-high", + "source_feed_id": "3817", + "state": "active", + "trusted_circle_ids": [ + "500", + "12" + ], + "update_id": "2406643974", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "organization": { + "name": "IP Khnykin Vitaliy Yakovlevich" + } + }, + "confidence": "High", + "first_seen": "2020-10-08T12:21:59.000Z", + "geo": { + "country_iso_code": "RU", + "location": { + "lat": 55.7386, + "lon": 37.6068 + } + }, + "ip": "192.168.2.111", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 114", + "id": "2858143413", + "import_session_id": "3128", + "itype": "mal_ip", + "resource_uri": "/api/v1/intelligence/P40686000387/", + "severity": "high", + "source_feed_id": "2092", + "state": "active", + "trusted_circle_ids": [ + "418", + "729", + "426" + ], + "update_id": "2322332062", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "number": 22773, + "organization": { + "name": "Cox Communications" + } + }, + "confidence": "None", + "first_seen": "2020-10-08T12:22:11.000Z", + "geo": { + "country_iso_code": "US", + "location": { + "lat": 41.7041, + "lon": -72.679 + } + }, + "ip": "192.168.113.98", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 550", + "id": "3771950940", + "import_session_id": "1131", + "itype": "mal_md5", + "resource_uri": "/api/v1/intelligence/P27709763562/", + "severity": "medium", + "source_feed_id": "3473", + "state": "active", + "trusted_circle_ids": [ + "153", + "723" + ], + "update_id": "3068217706", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "sha1": "f73b8ba028d31dff5650c724a422254f7a8b7121" + } + }, + "first_seen": "2020-10-08T12:22:16.000Z", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 50, + "detail2": "imported by user 551", + "id": "3500803046", + "import_session_id": "1985", + "itype": "mal_ip", + "resource_uri": "/api/v1/intelligence/P11213459617/", + "severity": "high", + "source_feed_id": "1017", + "state": "active", + "trusted_circle_ids": [ + "662", + "450", + "278" + ], + "update_id": "2794921943", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "number": 20001, + "organization": { + "name": "Spectrum" + } + }, + "confidence": "Medium", + "first_seen": "2020-10-08T12:28:50.000Z", + "geo": { + "country_iso_code": "US", + "location": { + "lat": 33.6404, + "lon": -117.9226 + } + }, + "ip": "192.168.113.96", + "last_seen": "2020-10-09T18:49:37.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 35, + "detail2": "imported by user 821", + "id": "1897328345", + "import_session_id": "1570", + "itype": "mal_ip", + "resource_uri": "/api/v1/intelligence/P26185595856/", + "severity": "very-high", + "source_feed_id": "1760", + "state": "active", + "trusted_circle_ids": [ + "357", + "795", + "916" + ], + "update_id": "2248258356", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "number": 11351, + "organization": { + "name": "Spectrum" + } + }, + "confidence": "Medium", + "first_seen": "2020-10-08T12:29:01.000Z", + "geo": { + "country_iso_code": "US", + "location": { + "lat": 42.8444, + "lon": -78.8149 + } + }, + "ip": "192.168.113.157", + "last_seen": "2020-10-09T18:49:37.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 80, + "detail2": "imported by user 606", + "id": "2341489315", + "itype": "c2_domain", + "maltype": "malware:mi5n", + "resource_uri": "/api/v1/intelligence/P24845267130/", + "severity": "very-high", + "source_feed_id": "2336", + "state": "active", + "trusted_circle_ids": [ + "775", + "702", + "615" + ], + "update_id": "3700550791", + "value_type": "domain" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "gnh7", + "Botnet-DRZ8-", + "popularity=low", + "type=2", + "first_seen=2020-01-07T01:38:35", + "Botnet-WSPDZDY", + "mask=192.168.113.180", + "popularity=low", + "threat=gu3wn7" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:14:43.000Z", + "ip": "192.168.2.19", + "last_seen": "2020-10-09T18:14:43.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "domain-name", + "url": { + "domain": "frg.example.com" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 60, + "detail2": "imported by user 148", + "id": "2185166550", + "itype": "mal_md5", + "resource_uri": "/api/v1/intelligence/P20522891699/", + "severity": "very-high", + "source_feed_id": "3539", + "state": "active", + "trusted_circle_ids": [ + "790" + ], + "update_id": "3675301663", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "7c35943c3766f8c179ddb4c0e2696038d52570d6" + } + }, + "first_seen": "2020-10-09T18:30:10.000Z", + "last_seen": "2020-10-09T18:30:10.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 47, + "detail2": "imported by user 813", + "id": "3487162601", + "itype": "phish_url", + "maltype": "malware:dqzzh9yi", + "resource_uri": "/api/v1/intelligence/P44224815251/", + "severity": "high", + "source_feed_id": "2988", + "state": "active", + "trusted_circle_ids": [ + "458", + "149" + ], + "update_id": "1334843074", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "5uuo3fde" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:30:13.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.163", + "last_seen": "2020-10-09T18:30:13.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "oy72c.example.net", + "full": "https://oy72c.example.net/k4v7f/rsny?6idia=vus11f-6v", + "original": "https://oy72c.example.net/k4v7f/rsny?6idia=vus11f-6v", + "path": "/k4v7f/rsny", + "query": "6idia=vus11f-6v", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 70, + "detail2": "imported by user 286", + "id": "1216332687", + "itype": "mal_url", + "maltype": "malware:q9z9xv", + "resource_uri": "/api/v1/intelligence/P24656342784/", + "severity": "low", + "source_feed_id": "2345", + "state": "active", + "trusted_circle_ids": [ + "320", + "876", + "412" + ], + "update_id": "3765836294", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "6ek-p1f", + "q4e24" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:30:13.000Z", + "geo": { + "country_iso_code": "CN" + }, + "ip": "192.168.113.217", + "last_seen": "2020-10-09T18:30:13.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "vvfba.example.net", + "full": "http://vvfba.example.net/-g6/y1et4fbg?og4a9de=nf9", + "original": "http://vvfba.example.net/-g6/y1et4fbg?og4a9de=nf9", + "path": "/-g6/y1et4fbg", + "query": "og4a9de=nf9", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 56, + "detail2": "imported by user 317", + "id": "2815265670", + "itype": "mal_md5", + "maltype": "malware:slmp9qf", + "resource_uri": "/api/v1/intelligence/P43860738920/", + "severity": "very-high", + "source_feed_id": "2419", + "state": "active", + "trusted_circle_ids": [ + "585" + ], + "update_id": "2337535636", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ve7yui2ok", + "1pq" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "3b6f673714486028704f740165066f0d" + } + }, + "first_seen": "2020-10-09T18:30:22.000Z", + "last_seen": "2020-10-09T18:30:22.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 22, + "detail2": "imported by user 902", + "id": "3655629037", + "itype": "mal_md5", + "maltype": "malware:42h", + "resource_uri": "/api/v1/intelligence/P10289325425/", + "severity": "low", + "source_feed_id": "745", + "state": "active", + "trusted_circle_ids": [ + "251", + "373" + ], + "update_id": "3466217499", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "sha256": "9e1bcdaa8857799f7ca0ed35027af285d22f123e690eae024ce4a7fafadb17e2" + } + }, + "first_seen": "2020-10-09T18:30:23.000Z", + "last_seen": "2020-10-09T18:30:23.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 97, + "detail2": "imported by user 67", + "id": "1169142226", + "itype": "phish_url", + "maltype": "malware:va4k", + "resource_uri": "/api/v1/intelligence/P35512796139/", + "severity": "low", + "source_feed_id": "2250", + "state": "active", + "trusted_circle_ids": [ + "96", + "671", + "974" + ], + "update_id": "2618878309", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "b39jtmtm" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:30:30.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.62", + "last_seen": "2020-10-09T18:30:30.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "0rrei.example.net", + "full": "http://0rrei.example.net/9necc/0qv81npw?ryqvke6=g1d0thzbi", + "original": "http://0rrei.example.net/9necc/0qv81npw?ryqvke6=g1d0thzbi", + "path": "/9necc/0qv81npw", + "query": "ryqvke6=g1d0thzbi", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 30, + "detail2": "imported by user 202", + "id": "1342474107", + "itype": "mal_md5", + "maltype": "malware:5wr1", + "resource_uri": "/api/v1/intelligence/P11918347552/", + "severity": "medium", + "source_feed_id": "2510", + "state": "active", + "trusted_circle_ids": [ + "216" + ], + "update_id": "3774204148", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "x4l72xl", + "-r1ssbss" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "1a2da983aa33710365b90e5ae3962f6f" + } + }, + "first_seen": "2020-10-09T18:30:37.000Z", + "last_seen": "2020-10-09T18:30:37.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 90", + "id": "1479454115", + "itype": "mal_md5", + "maltype": "malware:hrtf", + "resource_uri": "/api/v1/intelligence/P37893020984/", + "severity": "very-high", + "source_feed_id": "2987", + "state": "active", + "trusted_circle_ids": [ + "427", + "533", + "645" + ], + "update_id": "1325640492", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "md5": "9b9c42a2d8c7b41c690b6263bb2d14a9" + } + }, + "first_seen": "2020-10-09T18:30:40.000Z", + "last_seen": "2020-10-09T18:30:40.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 91, + "detail2": "imported by user 690", + "id": "2670573826", + "itype": "mal_md5", + "maltype": "malware:kif", + "resource_uri": "/api/v1/intelligence/P23190104462/", + "severity": "medium", + "source_feed_id": "1506", + "state": "active", + "trusted_circle_ids": [ + "902" + ], + "update_id": "3291340837", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "4t594duy", + "evb" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha1": "29dba452956ef72170f37b9e40ed42998649da2a" + } + }, + "first_seen": "2020-10-09T18:30:45.000Z", + "last_seen": "2020-10-09T18:30:45.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 16, + "detail2": "imported by user 508", + "id": "3640047721", + "itype": "mal_md5", + "maltype": "malware:gfhdl", + "resource_uri": "/api/v1/intelligence/P31237021877/", + "severity": "medium", + "source_feed_id": "2953", + "state": "active", + "trusted_circle_ids": [ + "927", + "351" + ], + "update_id": "2172109255", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "he5kempx", + "p0-x" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "5688daf63001bc5be3710f253ff1d7a6" + } + }, + "first_seen": "2020-10-09T18:30:54.000Z", + "last_seen": "2020-10-09T18:30:54.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 84, + "detail2": "imported by user 581", + "id": "1275749854", + "itype": "mal_md5", + "maltype": "malware:jqbka276", + "resource_uri": "/api/v1/intelligence/P47423548157/", + "severity": "high", + "source_feed_id": "3440", + "state": "active", + "trusted_circle_ids": [ + "656", + "196", + "225" + ], + "update_id": "1968674327", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "73301a9e0bec034b55d05b8b882bdcdd" + } + }, + "first_seen": "2020-10-09T18:30:59.000Z", + "last_seen": "2020-10-09T18:30:59.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 92, + "detail2": "imported by user 330", + "id": "3363386561", + "itype": "mal_md5", + "maltype": "malware:xggogeou", + "resource_uri": "/api/v1/intelligence/P10353688145/", + "severity": "low", + "source_feed_id": "1637", + "state": "active", + "trusted_circle_ids": [ + "250", + "781", + "693" + ], + "update_id": "1198783725", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha1": "8d64fe91301795b383ea877584783e62b088268d" + } + }, + "first_seen": "2020-10-09T18:31:10.000Z", + "last_seen": "2020-10-09T18:31:10.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 55, + "detail2": "imported by user 876", + "id": "1030142929", + "itype": "mal_md5", + "maltype": "malware:k8iv-j0", + "resource_uri": "/api/v1/intelligence/P23773028805/", + "severity": "medium", + "source_feed_id": "1774", + "state": "active", + "trusted_circle_ids": [ + "269", + "734", + "128" + ], + "update_id": "1387254973", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "229659ffd5f19ba1d3720a676fdd069f50baf6e3" + } + }, + "first_seen": "2020-10-09T18:31:16.000Z", + "last_seen": "2020-10-09T18:31:16.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": -1, + "detail2": "imported by user 503", + "id": "2267051662", + "itype": "mal_md5", + "maltype": "malware:ygif", + "resource_uri": "/api/v1/intelligence/P12086766204/", + "severity": "high", + "source_feed_id": "247", + "state": "active", + "trusted_circle_ids": [ + "213", + "665" + ], + "update_id": "2526393711", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "md5": "626806673bc674432c60da6d65471fbf" + } + }, + "first_seen": "2020-10-09T18:31:22.000Z", + "last_seen": "2020-10-09T18:31:22.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 60, + "detail2": "imported by user 921", + "id": "2799029823", + "itype": "mal_md5", + "maltype": "malware:i0dy12s", + "resource_uri": "/api/v1/intelligence/P48891800178/", + "severity": "very-high", + "source_feed_id": "2570", + "state": "active", + "trusted_circle_ids": [ + "206", + "131" + ], + "update_id": "3325324877", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "-tc0y", + "6mp2f", + "033j", + "mask=192.168.113.47", + "threat=n922n81" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "e4b28e2e5ad154fc3527d6d73e4f4d1e" + } + }, + "first_seen": "2020-10-09T18:31:27.000Z", + "last_seen": "2020-10-09T18:31:27.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 68, + "detail2": "imported by user 34", + "id": "3947934185", + "itype": "mal_md5", + "maltype": "malware:qsf0yk0u7", + "resource_uri": "/api/v1/intelligence/P14406628415/", + "severity": "medium", + "source_feed_id": "2618", + "state": "active", + "trusted_circle_ids": [ + "996" + ], + "update_id": "1975284584", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "022616d9dd4c539641fe54dc38b8a0f98e1e68ba" + } + }, + "first_seen": "2020-10-09T18:31:29.000Z", + "last_seen": "2020-10-09T18:31:29.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 11, + "detail2": "imported by user 550", + "id": "3717968102", + "itype": "phish_url", + "maltype": "malware:p4q", + "resource_uri": "/api/v1/intelligence/P20214747859/", + "severity": "medium", + "source_feed_id": "823", + "state": "active", + "trusted_circle_ids": [ + "163", + "899" + ], + "update_id": "2330081388", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "hwemqcp" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:31:34.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.228", + "last_seen": "2020-10-09T18:31:34.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "nox7bbtjb.example.org", + "full": "http://nox7bbtjb.example.org/stf9kv/i9sn7c7?bez=oa6wa", + "original": "http://nox7bbtjb.example.org/stf9kv/i9sn7c7?bez=oa6wa", + "path": "/stf9kv/i9sn7c7", + "query": "bez=oa6wa", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 0, + "detail2": "imported by user 389", + "id": "2096138555", + "itype": "mal_md5", + "maltype": "malware:rb1clj43", + "resource_uri": "/api/v1/intelligence/P46643585799/", + "severity": "high", + "source_feed_id": "2552", + "state": "active", + "trusted_circle_ids": [ + "126", + "444" + ], + "update_id": "1290445752", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "z4sl", + "4gyj-uqd" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "sha1": "97b86f93855caec29eb8a8101cf5a11df3d50227" + } + }, + "first_seen": "2020-10-09T18:31:36.000Z", + "last_seen": "2020-10-09T18:31:36.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 7, + "detail2": "imported by user 140", + "id": "3901279480", + "itype": "mal_md5", + "maltype": "malware:ccth3z-lo", + "resource_uri": "/api/v1/intelligence/P33992129557/", + "severity": "high", + "source_feed_id": "516", + "state": "active", + "trusted_circle_ids": [ + "680", + "472", + "898" + ], + "update_id": "1164668419", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "4b48ca4a2a3eb1a054c4d54c9f273fef" + } + }, + "first_seen": "2020-10-09T18:31:39.000Z", + "last_seen": "2020-10-09T18:31:39.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 62, + "detail2": "imported by user 916", + "id": "2835919741", + "itype": "mal_md5", + "maltype": "malware:tzh08tdn", + "resource_uri": "/api/v1/intelligence/P23192506862/", + "severity": "medium", + "source_feed_id": "1427", + "state": "active", + "trusted_circle_ids": [ + "299", + "445", + "123" + ], + "update_id": "3622857545", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "b4yehb", + "a5z0dq" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "a33de82fbb3f1d6e88b8413db977fd49" + } + }, + "first_seen": "2020-10-09T18:31:43.000Z", + "last_seen": "2020-10-09T18:31:43.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 17, + "detail2": "imported by user 276", + "id": "3875093915", + "itype": "scan_ip", + "maltype": "malware:98hezulf", + "resource_uri": "/api/v1/intelligence/P24236698009/", + "severity": "medium", + "source_feed_id": "1942", + "state": "active", + "trusted_circle_ids": [ + "581" + ], + "update_id": "3168103115", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:31:49.000Z", + "geo": { + "country_iso_code": "DE" + }, + "ip": "192.168.2.228", + "last_seen": "2020-10-09T18:31:49.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 48, + "detail2": "imported by user 805", + "id": "2774330793", + "itype": "phish_url", + "maltype": "malware:uf37q", + "resource_uri": "/api/v1/intelligence/P14341761856/", + "severity": "high", + "source_feed_id": "2783", + "state": "active", + "trusted_circle_ids": [ + "997" + ], + "update_id": "3643377559", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "20ycc" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:31:49.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:31:49.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "tugl.example.com", + "full": "http://tugl.example.com/3l7d8/r6-0i4dm?dr4l606=upxgc0glw", + "original": "http://tugl.example.com/3l7d8/r6-0i4dm?dr4l606=upxgc0glw", + "path": "/3l7d8/r6-0i4dm", + "query": "dr4l606=upxgc0glw", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 66, + "detail2": "imported by user 298", + "id": "3523067640", + "itype": "phish_url", + "maltype": "malware:kl6bce", + "resource_uri": "/api/v1/intelligence/P38219291048/", + "severity": "medium", + "source_feed_id": "428", + "state": "active", + "trusted_circle_ids": [ + "155", + "169" + ], + "update_id": "1454243906", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "kd2v28pbv" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:31:58.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.73", + "last_seen": "2020-10-09T18:31:58.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "lj4yx-63c.example.org", + "full": "http://lj4yx-63c.example.org/g8vhdkptx/io5?7leptzwb=idfq1sc", + "original": "http://lj4yx-63c.example.org/g8vhdkptx/io5?7leptzwb=idfq1sc", + "path": "/g8vhdkptx/io5", + "query": "7leptzwb=idfq1sc", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": -1, + "detail2": "imported by user 387", + "id": "1334879859", + "itype": "mal_md5", + "maltype": "malware:4rgb6", + "resource_uri": "/api/v1/intelligence/P18984087804/", + "severity": "very-high", + "source_feed_id": "281", + "state": "active", + "trusted_circle_ids": [ + "460", + "326", + "659" + ], + "update_id": "2451216317", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "md5": "aaa799437db45342fe735b7d16b9ffa4" + } + }, + "first_seen": "2020-10-09T18:32:02.000Z", + "last_seen": "2020-10-09T18:32:02.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 65, + "detail2": "imported by user 77", + "id": "2921322250", + "itype": "mal_md5", + "maltype": "malware:h-z6v", + "resource_uri": "/api/v1/intelligence/P48478473745/", + "severity": "medium", + "source_feed_id": "1470", + "state": "active", + "trusted_circle_ids": [ + "974", + "998", + "396" + ], + "update_id": "1116687087", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "bxbp", + "n-0w-" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha256": "5892116f215ee0488f1d1bdb77c673d554a031ca3ee656ae4534a7fb813a2763" + } + }, + "first_seen": "2020-10-09T18:32:03.000Z", + "last_seen": "2020-10-09T18:32:03.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 930", + "id": "2939983644", + "itype": "mal_md5", + "maltype": "malware:c3z1da0je", + "resource_uri": "/api/v1/intelligence/P40608496527/", + "severity": "very-high", + "source_feed_id": "1433", + "state": "active", + "trusted_circle_ids": [ + "553", + "417", + "444" + ], + "update_id": "1306473624", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "md5": "e782e3334cd40b7bb7b70685e67953a4" + } + }, + "first_seen": "2020-10-09T18:32:04.000Z", + "last_seen": "2020-10-09T18:32:04.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 27, + "detail2": "imported by user 510", + "id": "3931982402", + "itype": "mal_md5", + "maltype": "malware:vpui5r7lh", + "resource_uri": "/api/v1/intelligence/P24375003704/", + "severity": "very-high", + "source_feed_id": "1464", + "state": "active", + "trusted_circle_ids": [ + "143", + "619", + "682" + ], + "update_id": "3368501226", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "418bb996b68f57a52fb06e173b411e83" + } + }, + "first_seen": "2020-10-09T18:32:08.000Z", + "last_seen": "2020-10-09T18:32:08.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 62, + "detail2": "imported by user 569", + "id": "1273747401", + "itype": "mal_md5", + "maltype": "malware:uc1ii", + "resource_uri": "/api/v1/intelligence/P44733454016/", + "severity": "very-high", + "source_feed_id": "3270", + "state": "active", + "trusted_circle_ids": [ + "798" + ], + "update_id": "1574399053", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "a11a8b6678ecedc084e50a61a56ded956a6048e3" + } + }, + "first_seen": "2020-10-09T18:32:11.000Z", + "last_seen": "2020-10-09T18:32:11.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 55, + "detail2": "imported by user 169", + "id": "1311075185", + "itype": "mal_md5", + "maltype": "malware:zw2o4pe7j", + "resource_uri": "/api/v1/intelligence/P15323444932/", + "severity": "low", + "source_feed_id": "172", + "state": "active", + "trusted_circle_ids": [ + "537", + "99", + "532" + ], + "update_id": "2306856063", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "26cda8b8e115ed400e37b721a6282703" + } + }, + "first_seen": "2020-10-09T18:32:19.000Z", + "last_seen": "2020-10-09T18:32:19.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 94, + "detail2": "imported by user 337", + "id": "2764337186", + "itype": "scan_ip", + "maltype": "malware:fw4o2-h", + "resource_uri": "/api/v1/intelligence/P18169851814/", + "severity": "medium", + "source_feed_id": "2276", + "state": "active", + "trusted_circle_ids": [ + "591", + "520", + "447" + ], + "update_id": "2438380210", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:32:30.000Z", + "geo": { + "country_iso_code": "CN" + }, + "ip": "192.168.113.244", + "last_seen": "2020-10-09T18:32:30.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 49, + "detail2": "imported by user 326", + "id": "3354980572", + "itype": "mal_md5", + "maltype": "malware:-03w", + "resource_uri": "/api/v1/intelligence/P32535928532/", + "severity": "high", + "source_feed_id": "1082", + "state": "active", + "trusted_circle_ids": [ + "57", + "487" + ], + "update_id": "2850361689", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "99bfd327fecf681fd26fe322ef932e5d" + } + }, + "first_seen": "2020-10-09T18:32:35.000Z", + "last_seen": "2020-10-09T18:32:35.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 252", + "id": "3206667541", + "itype": "phish_url", + "maltype": "malware:84enp", + "resource_uri": "/api/v1/intelligence/P18968303052/", + "severity": "medium", + "source_feed_id": "241", + "state": "active", + "trusted_circle_ids": [ + "77", + "529" + ], + "update_id": "1095205177", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ff5yna" + ], + "threat": { + "indicator": { + "confidence": "None", + "first_seen": "2020-10-09T18:33:10.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.179", + "last_seen": "2020-10-09T18:33:10.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "t-u.example.net", + "full": "https://t-u.example.net/j0r45o29/minqwx?dwe2m4i0=u7td", + "original": "https://t-u.example.net/j0r45o29/minqwx?dwe2m4i0=u7td", + "path": "/j0r45o29/minqwx", + "query": "dwe2m4i0=u7td", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 34, + "detail2": "imported by user 133", + "id": "1100806677", + "itype": "mal_md5", + "maltype": "malware:6ytp38", + "resource_uri": "/api/v1/intelligence/P22219524773/", + "severity": "high", + "source_feed_id": "1932", + "state": "active", + "trusted_circle_ids": [ + "635" + ], + "update_id": "2148545774", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha256": "92adf0584d6f1cf8410d4c0972685c50060f222ca90d0bb36fba269bfde055c6" + } + }, + "first_seen": "2020-10-09T18:33:13.000Z", + "last_seen": "2020-10-09T18:33:13.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 23, + "detail2": "imported by user 574", + "id": "3105310078", + "itype": "mal_md5", + "maltype": "malware:euqe", + "resource_uri": "/api/v1/intelligence/P20929643375/", + "severity": "high", + "source_feed_id": "2004", + "state": "active", + "trusted_circle_ids": [ + "963" + ], + "update_id": "1583125163", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "0e0554d301b819140cc3592ec792d719" + } + }, + "first_seen": "2020-10-09T18:33:14.000Z", + "last_seen": "2020-10-09T18:33:14.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 40, + "detail2": "imported by user 361", + "id": "1839148298", + "itype": "mal_md5", + "maltype": "malware:9yr65z4", + "resource_uri": "/api/v1/intelligence/P36945612806/", + "severity": "very-high", + "source_feed_id": "2168", + "state": "active", + "trusted_circle_ids": [ + "873", + "874", + "206" + ], + "update_id": "1492811954", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "a289518f648f178b2c83e133b6f0dc47f6b4760e" + } + }, + "first_seen": "2020-10-09T18:33:14.000Z", + "last_seen": "2020-10-09T18:33:14.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 88, + "detail2": "imported by user 723", + "id": "2377697935", + "itype": "phish_url", + "maltype": "malware:q1k13v5", + "resource_uri": "/api/v1/intelligence/P29063384605/", + "severity": "medium", + "source_feed_id": "604", + "state": "active", + "trusted_circle_ids": [ + "396", + "599", + "717" + ], + "update_id": "3508566543", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ge2w" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:33:22.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.134", + "last_seen": "2020-10-09T18:33:22.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "xh4bib14j.example.org", + "full": "https://xh4bib14j.example.org/gfr9mp/97sx6xll?l8w9dj=dzpfp", + "original": "https://xh4bib14j.example.org/gfr9mp/97sx6xll?l8w9dj=dzpfp", + "path": "/gfr9mp/97sx6xll", + "query": "l8w9dj=dzpfp", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 552", + "id": "1615325622", + "itype": "mal_md5", + "maltype": "malware:ejw", + "resource_uri": "/api/v1/intelligence/P48267342294/", + "severity": "high", + "source_feed_id": "273", + "state": "active", + "trusted_circle_ids": [ + "889", + "531", + "447" + ], + "update_id": "3611410331", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "434k", + "ipfqz" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "sha1": "51e2ba82eedf8478e9e3fbfef228ea25790ae4bf" + } + }, + "first_seen": "2020-10-09T18:33:24.000Z", + "last_seen": "2020-10-09T18:33:24.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 15, + "detail2": "imported by user 234", + "id": "2919030859", + "itype": "phish_url", + "maltype": "malware:q54w", + "resource_uri": "/api/v1/intelligence/P30041077720/", + "severity": "low", + "source_feed_id": "1496", + "state": "active", + "trusted_circle_ids": [ + "744", + "696" + ], + "update_id": "1462829026", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ochy9vqu" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:33:26.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.138", + "last_seen": "2020-10-09T18:33:26.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "z15tr9hg.example.net", + "full": "https://z15tr9hg.example.net/2igj2h-/2ofzb2i3l?6g6=vulk-9u3a", + "original": "https://z15tr9hg.example.net/2igj2h-/2ofzb2i3l?6g6=vulk-9u3a", + "path": "/2igj2h-/2ofzb2i3l", + "query": "6g6=vulk-9u3a", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 96, + "detail2": "imported by user 814", + "id": "3725856912", + "itype": "phish_url", + "maltype": "malware:gupnzz", + "resource_uri": "/api/v1/intelligence/P28094746548/", + "severity": "very-high", + "source_feed_id": "3466", + "state": "active", + "trusted_circle_ids": [ + "917" + ], + "update_id": "2449289149", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "co92pn7a" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:33:27.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:33:27.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "37f.example.net", + "full": "https://37f.example.net/xonl0ni/yrut8tj0x?z7q2c0n1r=03cgut", + "original": "https://37f.example.net/xonl0ni/yrut8tj0x?z7q2c0n1r=03cgut", + "path": "/xonl0ni/yrut8tj0x", + "query": "z7q2c0n1r=03cgut", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": -1, + "detail2": "imported by user 456", + "id": "1715188816", + "itype": "mal_md5", + "maltype": "malware:yyf8-z3qr", + "resource_uri": "/api/v1/intelligence/P30288796367/", + "severity": "low", + "source_feed_id": "1534", + "state": "active", + "trusted_circle_ids": [ + "54", + "625" + ], + "update_id": "1903849731", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "om2k0u", + "pwwil9g" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "sha1": "56af8d0db3768782dabc3251b854a0d9b7cfc85d" + } + }, + "first_seen": "2020-10-09T18:33:29.000Z", + "last_seen": "2020-10-09T18:33:29.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 38, + "detail2": "imported by user 107", + "id": "1542328635", + "itype": "mal_md5", + "maltype": "malware:kjrkbch", + "resource_uri": "/api/v1/intelligence/P43547685211/", + "severity": "very-high", + "source_feed_id": "2338", + "state": "active", + "trusted_circle_ids": [ + "528" + ], + "update_id": "1548132836", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "b4be20bbc8bf84ba80e969898eaa448f" + } + }, + "first_seen": "2020-10-09T18:33:43.000Z", + "last_seen": "2020-10-09T18:33:43.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 48, + "detail2": "imported by user 77", + "id": "1406728268", + "itype": "mal_md5", + "maltype": "malware:6w48nfed", + "resource_uri": "/api/v1/intelligence/P33375453229/", + "severity": "medium", + "source_feed_id": "339", + "state": "active", + "trusted_circle_ids": [ + "751", + "311" + ], + "update_id": "1641485469", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "dgq6", + "bzq" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha256": "f7a040538a50c4e369fcf3a07f0d777888c1b249c5397ed40d18c7a3ac2ed7bb" + } + }, + "first_seen": "2020-10-09T18:33:45.000Z", + "last_seen": "2020-10-09T18:33:45.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 70, + "detail2": "imported by user 934", + "id": "3645109388", + "itype": "mal_md5", + "maltype": "malware:36to", + "resource_uri": "/api/v1/intelligence/P24525467917/", + "severity": "high", + "source_feed_id": "133", + "state": "active", + "trusted_circle_ids": [ + "158", + "41" + ], + "update_id": "1200863224", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "b0ad12656ff4eaaf0c26dc28d61c7c92" + } + }, + "first_seen": "2020-10-09T18:33:45.000Z", + "last_seen": "2020-10-09T18:33:45.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 13, + "detail2": "imported by user 179", + "id": "3681950641", + "itype": "phish_url", + "maltype": "malware:-uuyxdhk", + "resource_uri": "/api/v1/intelligence/P34984204724/", + "severity": "very-high", + "source_feed_id": "1654", + "state": "active", + "trusted_circle_ids": [ + "551", + "416", + "152" + ], + "update_id": "3036608745", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "q8jvwmv" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:33:48.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.2.71", + "last_seen": "2020-10-09T18:33:48.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "c3de8rc.example.net", + "full": "http://c3de8rc.example.net/68fy4w2fb/2rkkjd1wx?pgwn=96iscb1", + "original": "http://c3de8rc.example.net/68fy4w2fb/2rkkjd1wx?pgwn=96iscb1", + "path": "/68fy4w2fb/2rkkjd1wx", + "query": "pgwn=96iscb1", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 76, + "detail2": "imported by user 141", + "id": "3936160217", + "itype": "mal_md5", + "maltype": "malware:ypti5n1jj", + "resource_uri": "/api/v1/intelligence/P30370909387/", + "severity": "high", + "source_feed_id": "2152", + "state": "active", + "trusted_circle_ids": [ + "508" + ], + "update_id": "2717490002", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "69d02ec430b00d6f8cf85cb77dbde1a6" + } + }, + "first_seen": "2020-10-09T18:33:51.000Z", + "last_seen": "2020-10-09T18:33:51.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 25, + "detail2": "imported by user 313", + "id": "1552690969", + "itype": "scan_ip", + "maltype": "malware:9g92ck19r", + "resource_uri": "/api/v1/intelligence/P45962220487/", + "severity": "high", + "source_feed_id": "3025", + "state": "active", + "trusted_circle_ids": [ + "221", + "16" + ], + "update_id": "2333575988", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ih8" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:33:57.000Z", + "geo": { + "country_iso_code": "VN" + }, + "ip": "192.168.113.183", + "last_seen": "2020-10-09T18:33:57.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 44, + "detail2": "imported by user 737", + "id": "3602170633", + "itype": "scan_ip", + "maltype": "malware:9j2", + "resource_uri": "/api/v1/intelligence/P24077404528/", + "severity": "medium", + "source_feed_id": "1868", + "state": "active", + "trusted_circle_ids": [ + "556", + "612" + ], + "update_id": "1805235807", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:34:00.000Z", + "geo": { + "country_iso_code": "DE" + }, + "ip": "192.168.2.125", + "last_seen": "2020-10-09T18:34:00.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 13, + "detail2": "imported by user 346", + "id": "2627754009", + "itype": "phish_url", + "maltype": "malware:h5myhqm", + "resource_uri": "/api/v1/intelligence/P45174995083/", + "severity": "high", + "source_feed_id": "972", + "state": "active", + "trusted_circle_ids": [ + "506" + ], + "update_id": "1528754412", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "zco3-p9s" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:34:00.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.54", + "last_seen": "2020-10-09T18:34:00.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "i9rdwu.example.net", + "full": "http://i9rdwu.example.net/brop9/8pj8hj?pxztdj0b=mp1r", + "original": "http://i9rdwu.example.net/brop9/8pj8hj?pxztdj0b=mp1r", + "path": "/brop9/8pj8hj", + "query": "pxztdj0b=mp1r", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 90, + "detail2": "imported by user 669", + "id": "2544599932", + "itype": "scan_ip", + "maltype": "malware:80m244uf", + "resource_uri": "/api/v1/intelligence/P46961961552/", + "severity": "medium", + "source_feed_id": "1469", + "state": "active", + "trusted_circle_ids": [ + "682", + "816" + ], + "update_id": "3734162957", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:34:00.000Z", + "geo": { + "country_iso_code": "IN" + }, + "ip": "192.168.2.151", + "last_seen": "2020-10-09T18:34:00.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 26, + "detail2": "imported by user 551", + "id": "1083570649", + "itype": "mal_md5", + "maltype": "malware:0804ml", + "resource_uri": "/api/v1/intelligence/P27067884817/", + "severity": "low", + "source_feed_id": "1135", + "state": "active", + "trusted_circle_ids": [ + "932", + "962" + ], + "update_id": "3547373796", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "vo6", + "ak5tl3" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "sha256": "5373a4b3cae71b2e59c3db245cce0ef939971383f46fbbfee8eb910cedebdbd2" + } + }, + "first_seen": "2020-10-09T18:34:02.000Z", + "last_seen": "2020-10-09T18:34:02.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": -1, + "detail2": "imported by user 443", + "id": "2423201328", + "itype": "mal_md5", + "maltype": "malware:g36dwjhmz", + "resource_uri": "/api/v1/intelligence/P17669396967/", + "severity": "high", + "source_feed_id": "3712", + "state": "active", + "trusted_circle_ids": [ + "394" + ], + "update_id": "3182730887", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "9337", + "5o1v7zey" + ], + "threat": { + "indicator": { + "confidence": "None", + "file": { + "hash": { + "md5": "8f5eb1601e67784eff5c809e4be7411f" + } + }, + "first_seen": "2020-10-09T18:34:05.000Z", + "last_seen": "2020-10-09T18:34:05.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 78, + "detail2": "imported by user 905", + "id": "1112887491", + "itype": "mal_md5", + "maltype": "malware:8fe4saj3y", + "resource_uri": "/api/v1/intelligence/P34258969874/", + "severity": "medium", + "source_feed_id": "2621", + "state": "active", + "trusted_circle_ids": [ + "648", + "271" + ], + "update_id": "3442110662", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha1": "1b1adea7f0b81d9c082096b41727449d7432e970" + } + }, + "first_seen": "2020-10-09T18:34:11.000Z", + "last_seen": "2020-10-09T18:34:11.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 22, + "detail2": "imported by user 885", + "id": "2990262248", + "itype": "mal_md5", + "maltype": "malware:x9dritaly", + "resource_uri": "/api/v1/intelligence/P23076625483/", + "severity": "medium", + "source_feed_id": "1377", + "state": "active", + "trusted_circle_ids": [ + "647", + "263" + ], + "update_id": "1378520905", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "aa77d9f735de69d6e41db2f85093aca5" + } + }, + "first_seen": "2020-10-09T18:34:12.000Z", + "last_seen": "2020-10-09T18:34:12.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 20, + "detail2": "imported by user 416", + "id": "1531986622", + "itype": "phish_url", + "maltype": "malware:qo7o", + "resource_uri": "/api/v1/intelligence/P26993697491/", + "severity": "low", + "source_feed_id": "2351", + "state": "active", + "trusted_circle_ids": [ + "85", + "930", + "472" + ], + "update_id": "1245189241", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "va5p" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:34:17.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.2.13", + "last_seen": "2020-10-09T18:34:17.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "3ii1ql.example.org", + "full": "https://3ii1ql.example.org/ox1etvpch/6h-6v?9qjzn=qhg", + "original": "https://3ii1ql.example.org/ox1etvpch/6h-6v?9qjzn=qhg", + "path": "/ox1etvpch/6h-6v", + "query": "9qjzn=qhg", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 94, + "detail2": "imported by user 502", + "id": "1361471516", + "itype": "mal_md5", + "maltype": "malware:apnq0x", + "resource_uri": "/api/v1/intelligence/P37822052526/", + "severity": "very-high", + "source_feed_id": "3282", + "state": "active", + "trusted_circle_ids": [ + "162" + ], + "update_id": "3145137452", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "f12", + "rvc5" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha256": "582534a915d089b0a6718b461b411ed246cedd2061c3f35f28f03a06ce6b2cd6" + } + }, + "first_seen": "2020-10-09T18:34:20.000Z", + "last_seen": "2020-10-09T18:34:20.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 52, + "detail2": "imported by user 614", + "id": "1828309760", + "itype": "mal_md5", + "maltype": "malware:2wiqe2gr", + "resource_uri": "/api/v1/intelligence/P14662918483/", + "severity": "low", + "source_feed_id": "2183", + "state": "active", + "trusted_circle_ids": [ + "135", + "25" + ], + "update_id": "2080668530", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "eu17r4oc", + "3hi" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "13ad68519f27420c676bfd2bd030c47b" + } + }, + "first_seen": "2020-10-09T18:34:20.000Z", + "last_seen": "2020-10-09T18:34:20.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 13, + "detail2": "imported by user 995", + "id": "3262791296", + "itype": "mal_md5", + "maltype": "malware:l-s", + "resource_uri": "/api/v1/intelligence/P16550802602/", + "severity": "very-high", + "source_feed_id": "779", + "state": "active", + "trusted_circle_ids": [ + "228" + ], + "update_id": "2278094458", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "lrmv", + "xjk2hrhj" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "4da4992f0b00db1ca16d0cc36f988328" + } + }, + "first_seen": "2020-10-09T18:34:32.000Z", + "last_seen": "2020-10-09T18:34:32.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 28, + "detail2": "imported by user 545", + "id": "1187033685", + "itype": "mal_md5", + "maltype": "malware:ku-40z", + "resource_uri": "/api/v1/intelligence/P46080958137/", + "severity": "medium", + "source_feed_id": "3744", + "state": "active", + "trusted_circle_ids": [ + "40", + "385" + ], + "update_id": "1290886724", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "md5": "a57630113fddd33f33f1436265c97a3a" + } + }, + "first_seen": "2020-10-09T18:34:32.000Z", + "last_seen": "2020-10-09T18:34:32.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 58, + "detail2": "imported by user 480", + "id": "3786994876", + "itype": "mal_md5", + "maltype": "malware:smrm4w", + "resource_uri": "/api/v1/intelligence/P38545796072/", + "severity": "medium", + "source_feed_id": "2592", + "state": "active", + "trusted_circle_ids": [ + "656", + "861", + "423" + ], + "update_id": "3795612234", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "67f4fa89bb700e56a287d39c94b8fbf1c79dc470" + } + }, + "first_seen": "2020-10-09T18:34:39.000Z", + "last_seen": "2020-10-09T18:34:39.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 90, + "detail2": "imported by user 53", + "id": "2770122167", + "itype": "mal_md5", + "maltype": "malware:ab9z72u", + "resource_uri": "/api/v1/intelligence/P34586401842/", + "severity": "very-high", + "source_feed_id": "3694", + "state": "active", + "trusted_circle_ids": [ + "256", + "608", + "882" + ], + "update_id": "2375278437", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "e88g0", + "a5om" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "147ea1f0cc3ed7a2e1201dd919202b54" + } + }, + "first_seen": "2020-10-09T18:34:40.000Z", + "last_seen": "2020-10-09T18:34:40.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 72, + "detail2": "imported by user 406", + "id": "1023424936", + "itype": "scan_ip", + "maltype": "malware:w5q4ohu", + "resource_uri": "/api/v1/intelligence/P37884789468/", + "severity": "medium", + "source_feed_id": "3048", + "state": "active", + "trusted_circle_ids": [ + "459" + ], + "update_id": "2225250503", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:34:41.000Z", + "geo": { + "country_iso_code": "VN" + }, + "ip": "192.168.113.106", + "last_seen": "2020-10-09T18:34:41.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 77, + "detail2": "imported by user 209", + "id": "1424175525", + "itype": "phish_url", + "maltype": "malware:mufy3v1ca", + "resource_uri": "/api/v1/intelligence/P49008040902/", + "severity": "medium", + "source_feed_id": "3139", + "state": "active", + "trusted_circle_ids": [ + "723", + "634" + ], + "update_id": "3685616690", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "3uce" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:34:43.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.160", + "last_seen": "2020-10-09T18:34:43.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "x2bhngjuu.example.org", + "full": "http://x2bhngjuu.example.org/5fwsxlb1m/oshqs0?tjb2k5d=xdfjr", + "original": "http://x2bhngjuu.example.org/5fwsxlb1m/oshqs0?tjb2k5d=xdfjr", + "path": "/5fwsxlb1m/oshqs0", + "query": "tjb2k5d=xdfjr", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 77, + "detail2": "imported by user 950", + "id": "3471768461", + "itype": "mal_md5", + "maltype": "malware:sz-xa", + "resource_uri": "/api/v1/intelligence/P26383900793/", + "severity": "low", + "source_feed_id": "389", + "state": "active", + "trusted_circle_ids": [ + "591", + "107" + ], + "update_id": "2123703116", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha1": "f96ab635235872a03ac4e23adc40373c3d4eb58f" + } + }, + "first_seen": "2020-10-09T18:34:48.000Z", + "last_seen": "2020-10-09T18:34:48.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 67, + "detail2": "imported by user 812", + "id": "1603221247", + "itype": "mal_md5", + "maltype": "malware:gm6oz1s-", + "resource_uri": "/api/v1/intelligence/P11475484798/", + "severity": "medium", + "source_feed_id": "1353", + "state": "active", + "trusted_circle_ids": [ + "841" + ], + "update_id": "2477969009", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "sha1": "84fd84234cd1ba8b3a5ec4e19a58b214fa49f575" + } + }, + "first_seen": "2020-10-09T18:34:53.000Z", + "last_seen": "2020-10-09T18:34:53.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 16, + "detail2": "imported by user 596", + "id": "3824568979", + "itype": "mal_md5", + "maltype": "malware:l1sn", + "resource_uri": "/api/v1/intelligence/P33248049156/", + "severity": "medium", + "source_feed_id": "2962", + "state": "active", + "trusted_circle_ids": [ + "468" + ], + "update_id": "3563093556", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Low", + "file": { + "hash": { + "sha1": "41d42102fd06731d491e4f867286c2e9c598a171" + } + }, + "first_seen": "2020-10-09T18:34:53.000Z", + "last_seen": "2020-10-09T18:34:53.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 68, + "detail2": "imported by user 494", + "id": "2742768832", + "itype": "phish_url", + "maltype": "malware:zlak2du", + "resource_uri": "/api/v1/intelligence/P48199451817/", + "severity": "high", + "source_feed_id": "3338", + "state": "active", + "trusted_circle_ids": [ + "252", + "430" + ], + "update_id": "2000547096", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "wc32ioub" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:34:54.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:34:54.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "r6o3c.example.net", + "full": "https://r6o3c.example.net/zkj1wr/ms2dq?vxk34o2ta=hnyew9", + "original": "https://r6o3c.example.net/zkj1wr/ms2dq?vxk34o2ta=hnyew9", + "path": "/zkj1wr/ms2dq", + "query": "vxk34o2ta=hnyew9", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 98, + "detail2": "imported by user 281", + "id": "1056662529", + "itype": "mal_md5", + "maltype": "malware:9d4u5", + "resource_uri": "/api/v1/intelligence/P44837425307/", + "severity": "high", + "source_feed_id": "1273", + "state": "active", + "trusted_circle_ids": [ + "205" + ], + "update_id": "1497124113", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "614e9d0386a3eed33812c2b7ede69761" + } + }, + "first_seen": "2020-10-09T18:34:55.000Z", + "last_seen": "2020-10-09T18:34:55.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 85, + "detail2": "imported by user 382", + "id": "3741117786", + "itype": "mal_md5", + "maltype": "malware:9814i", + "resource_uri": "/api/v1/intelligence/P36784010089/", + "severity": "low", + "source_feed_id": "1355", + "state": "active", + "trusted_circle_ids": [ + "613", + "162" + ], + "update_id": "3209696666", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "sha256": "421511307449e505aefa8a189f8e21b6eb10d897bebe2881c05003b13c6c5ff7" + } + }, + "first_seen": "2020-10-09T18:35:01.000Z", + "last_seen": "2020-10-09T18:35:01.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 70, + "detail2": "imported by user 509", + "id": "3701416935", + "itype": "mal_md5", + "maltype": "malware:a15f", + "resource_uri": "/api/v1/intelligence/P30314319356/", + "severity": "low", + "source_feed_id": "285", + "state": "active", + "trusted_circle_ids": [ + "553" + ], + "update_id": "3104787940", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "High", + "file": { + "hash": { + "md5": "76bee1bc6e5e1f98192ed771e945ab46" + } + }, + "first_seen": "2020-10-09T18:35:01.000Z", + "last_seen": "2020-10-09T18:35:01.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 76, + "detail2": "imported by user 748", + "id": "1191104228", + "itype": "phish_url", + "maltype": "malware:1kq0b", + "resource_uri": "/api/v1/intelligence/P30550711390/", + "severity": "medium", + "source_feed_id": "3698", + "state": "active", + "trusted_circle_ids": [ + "47", + "99", + "408" + ], + "update_id": "3640800179", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "0xansbp3f" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:35:04.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.111", + "last_seen": "2020-10-09T18:35:04.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "onv7s.example.org", + "full": "http://onv7s.example.org/29j3q7kc/4l0za3s?viyrr-vd=hde", + "original": "http://onv7s.example.org/29j3q7kc/4l0za3s?viyrr-vd=hde", + "path": "/29j3q7kc/4l0za3s", + "query": "viyrr-vd=hde", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 63, + "detail2": "imported by user 649", + "id": "1259633036", + "itype": "mal_md5", + "maltype": "malware:bsz82pb", + "resource_uri": "/api/v1/intelligence/P26768575783/", + "severity": "medium", + "source_feed_id": "3505", + "state": "active", + "trusted_circle_ids": [ + "154" + ], + "update_id": "1492680577", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "c-br", + "9sbldir" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "8198999c0484c6a70b28a9176aa7b6ca" + } + }, + "first_seen": "2020-10-09T18:35:06.000Z", + "last_seen": "2020-10-09T18:35:06.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 42, + "detail2": "imported by user 454", + "id": "2978101942", + "itype": "mal_md5", + "maltype": "malware:k-rw-4e8x", + "resource_uri": "/api/v1/intelligence/P43748068495/", + "severity": "low", + "source_feed_id": "3384", + "state": "active", + "trusted_circle_ids": [ + "537", + "514", + "943" + ], + "update_id": "1804378586", + "value_type": "md5" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "file": { + "hash": { + "md5": "11040c6082a858edf1fc8ea2b5974c0b" + } + }, + "first_seen": "2020-10-09T18:35:22.000Z", + "last_seen": "2020-10-09T18:35:22.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "file" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 89, + "detail2": "imported by user 174", + "id": "2359719157", + "itype": "mal_url", + "maltype": "malware:3sny6uo6", + "resource_uri": "/api/v1/intelligence/P45456880433/", + "severity": "medium", + "source_feed_id": "3818", + "state": "active", + "trusted_circle_ids": [ + "102", + "209" + ], + "update_id": "3731087580", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-02-19T16:22:26", + "IP=192.168.113.146", + "qve", + "9hq86cl", + "mask=192.168.2.145", + "popularity=medium" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:44:01.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.2.245", + "last_seen": "2020-10-09T18:44:01.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "ureumt8.example.org", + "full": "http://ureumt8.example.org/ffey/ugwd?770694=x4r5wc-k", + "original": "http://ureumt8.example.org/ffey/ugwd?770694=x4r5wc-k", + "path": "/ffey/ugwd", + "query": "770694=x4r5wc-k", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": -1, + "detail2": "imported by user 304", + "id": "1927608855", + "itype": "phish_url", + "maltype": "malware:pq6", + "resource_uri": "/api/v1/intelligence/P23374489284/", + "severity": "medium", + "source_feed_id": "2056", + "state": "active", + "trusted_circle_ids": [ + "504", + "886", + "919" + ], + "update_id": "1554620383", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "0o1" + ], + "threat": { + "indicator": { + "confidence": "None", + "first_seen": "2020-10-09T18:44:04.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:44:04.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "5wcz6kck.example.net", + "full": "https://5wcz6kck.example.net/mankgvtpl/1suq?vx-gvh=00tc4", + "original": "https://5wcz6kck.example.net/mankgvtpl/1suq?vx-gvh=00tc4", + "path": "/mankgvtpl/1suq", + "query": "vx-gvh=00tc4", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 58, + "detail2": "imported by user 257", + "id": "3768728021", + "itype": "mal_domain", + "maltype": "malware:zc6974ds", + "resource_uri": "/api/v1/intelligence/P38992994542/", + "severity": "low", + "source_feed_id": "1784", + "state": "active", + "trusted_circle_ids": [ + "199", + "885" + ], + "update_id": "3134489306", + "value_type": "domain" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "92w9k-y7n", + "tuy" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:19.000Z", + "last_seen": "2020-10-09T18:44:19.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "domain-name", + "url": { + "domain": "m94fj00kt.example.org" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 35, + "detail2": "imported by user 517", + "id": "2290397713", + "itype": "mal_ip", + "maltype": "malware:3s0", + "resource_uri": "/api/v1/intelligence/P21936847983/", + "severity": "medium", + "source_feed_id": "1944", + "state": "active", + "trusted_circle_ids": [ + "35" + ], + "update_id": "1229235473", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-11-03T00:44:45", + "IP=192.168.113.133", + "a7ampeh8", + "3-9hj92", + "mask=192.168.113.177", + "popularity=high" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:27.000Z", + "geo": { + "country_iso_code": "RU" + }, + "ip": "192.168.113.178", + "last_seen": "2020-10-09T18:44:27.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 39, + "detail2": "imported by user 28", + "id": "3800623355", + "itype": "phish_url", + "maltype": "malware:uflhyskgf", + "resource_uri": "/api/v1/intelligence/P20162380838/", + "severity": "medium", + "source_feed_id": "1087", + "state": "active", + "trusted_circle_ids": [ + "922", + "149" + ], + "update_id": "1840929082", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "ff-fu" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:35.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.2.140", + "last_seen": "2020-10-09T18:44:35.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "v6cw8.example.org", + "full": "https://v6cw8.example.org/yw7fom/x6xp?3ck=i3ko4", + "original": "https://v6cw8.example.org/yw7fom/x6xp?3ck=i3ko4", + "path": "/yw7fom/x6xp", + "query": "3ck=i3ko4", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 81, + "detail2": "imported by user 343", + "id": "3407857792", + "itype": "phish_url", + "maltype": "malware:9pn45", + "resource_uri": "/api/v1/intelligence/P31722500855/", + "severity": "low", + "source_feed_id": "1820", + "state": "active", + "trusted_circle_ids": [ + "960", + "762" + ], + "update_id": "1804090348", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "klkwsbsg" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:44:36.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.2.20", + "last_seen": "2020-10-09T18:44:36.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "tccdg3.example.net", + "full": "http://tccdg3.example.net/2vgsz9a/9tzk9?xsy9af-=jz3ibf", + "original": "http://tccdg3.example.net/2vgsz9a/9tzk9?xsy9af-=jz3ibf", + "path": "/2vgsz9a/9tzk9", + "query": "xsy9af-=jz3ibf", + "scheme": "http" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 94, + "detail2": "imported by user 710", + "id": "2198510928", + "itype": "mal_url", + "maltype": "malware:kempjsn", + "resource_uri": "/api/v1/intelligence/P19675179959/", + "severity": "low", + "source_feed_id": "2339", + "state": "active", + "trusted_circle_ids": [ + "370", + "288", + "713" + ], + "update_id": "3147523206", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-04-13T09:30:20", + "IP=192.168.113.221", + "ciib", + "o2d", + "mask=192.168.2.110", + "popularity=high" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:44:37.000Z", + "geo": { + "country_iso_code": "IN" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:44:37.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "kfp3hgno1.example.net", + "full": "https://kfp3hgno1.example.net/-upwetee4/-e5xph-c?558c06wud=cvh0j95", + "original": "https://kfp3hgno1.example.net/-upwetee4/-e5xph-c?558c06wud=cvh0j95", + "path": "/-upwetee4/-e5xph-c", + "query": "558c06wud=cvh0j95", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 58, + "detail2": "imported by user 823", + "id": "2212756661", + "itype": "phish_url", + "maltype": "malware:sxjdd", + "resource_uri": "/api/v1/intelligence/P46589789238/", + "severity": "low", + "source_feed_id": "3428", + "state": "active", + "trusted_circle_ids": [ + "302", + "609", + "222" + ], + "update_id": "1290369427", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "kxdfpu" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:45.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.98", + "last_seen": "2020-10-09T18:44:45.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "4oijj.example.org", + "full": "https://4oijj.example.org/6scni2kd/8-0olo?orkdde40=kgs2r", + "original": "https://4oijj.example.org/6scni2kd/8-0olo?orkdde40=kgs2r", + "path": "/6scni2kd/8-0olo", + "query": "orkdde40=kgs2r", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 35, + "detail2": "imported by user 879", + "id": "3144423546", + "itype": "mal_ip", + "maltype": "malware:tcydb2", + "resource_uri": "/api/v1/intelligence/P44798713183/", + "severity": "low", + "source_feed_id": "2375", + "state": "active", + "trusted_circle_ids": [ + "785", + "379" + ], + "update_id": "1372709735", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-12-14T18:26:40", + "IP=2001:db8:12ee:5479:f7f8:33e8:1477:6866", + "jsk", + "v2mi3w1", + "mask=192.168.2.15", + "popularity=medium" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:47.000Z", + "geo": { + "country_iso_code": "CN" + }, + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2020-10-09T18:44:47.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv6-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 45, + "detail2": "imported by user 908", + "id": "2174196696", + "itype": "mal_domain", + "maltype": "malware:lr1x46", + "resource_uri": "/api/v1/intelligence/P16541335485/", + "severity": "medium", + "source_feed_id": "3770", + "state": "active", + "trusted_circle_ids": [ + "600" + ], + "update_id": "3428061221", + "value_type": "domain" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-11-03T12:54:48", + "-eqch6ly", + "rzzt0o", + "mask=192.168.2.54", + "popularity=high" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:50.000Z", + "geo": { + "country_iso_code": "HK" + }, + "ip": "192.168.2.83", + "last_seen": "2020-10-09T18:44:50.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "domain-name", + "url": { + "domain": "ekxj6l29.example.org" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 53, + "detail2": "imported by user 549", + "id": "3895662919", + "itype": "mal_url", + "maltype": "malware:l6yf7g5", + "resource_uri": "/api/v1/intelligence/P31580704002/", + "severity": "medium", + "source_feed_id": "1133", + "state": "active", + "trusted_circle_ids": [ + "739" + ], + "update_id": "1487091932", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-07-22T05:31:21", + "dq1kmq", + "ldv0d", + "mask=192.168.113.252", + "popularity=high" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2020-10-09T18:44:50.000Z", + "last_seen": "2020-10-09T18:44:50.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "ox5zm.example.net", + "full": "https://ox5zm.example.net/w1g/cx3i6?e20oczdk8=qskggm6", + "original": "https://ox5zm.example.net/w1g/cx3i6?e20oczdk8=qskggm6", + "path": "/w1g/cx3i6", + "query": "e20oczdk8=qskggm6", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 4, + "detail2": "imported by user 53", + "id": "2943731774", + "itype": "phish_url", + "maltype": "malware:jwx", + "resource_uri": "/api/v1/intelligence/P49282968130/", + "severity": "high", + "source_feed_id": "2871", + "state": "active", + "trusted_circle_ids": [ + "264", + "617" + ], + "update_id": "1060438545", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "o95-rg" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:44:54.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.162", + "last_seen": "2020-10-09T18:44:54.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "8ms6fr.example.org", + "full": "https://8ms6fr.example.org/kkbk-6/59l79x?ye0qcj=kp-dd", + "original": "https://8ms6fr.example.org/kkbk-6/59l79x?ye0qcj=kp-dd", + "path": "/kkbk-6/59l79x", + "query": "ye0qcj=kp-dd", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 0, + "detail2": "imported by user 270", + "id": "1446338851", + "itype": "phish_url", + "maltype": "malware:8o51", + "resource_uri": "/api/v1/intelligence/P31095217333/", + "severity": "medium", + "source_feed_id": "249", + "state": "active", + "trusted_circle_ids": [ + "134" + ], + "update_id": "3265625226", + "value_type": "url" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "v9pag" + ], + "threat": { + "indicator": { + "confidence": "None", + "first_seen": "2020-10-09T18:44:58.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "192.168.113.92", + "last_seen": "2020-10-09T18:44:58.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "url", + "url": { + "domain": "cey6yigq.example.net", + "full": "https://cey6yigq.example.net/nfdi/hied?07a=fuayaqs", + "original": "https://cey6yigq.example.net/nfdi/hied?07a=fuayaqs", + "path": "/nfdi/hied", + "query": "07a=fuayaqs", + "scheme": "https" + } + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 14, + "detail2": "imported by user 123", + "id": "3475796384", + "itype": "mal_ip", + "maltype": "malware:4uv03d3", + "resource_uri": "/api/v1/intelligence/P39902885979/", + "severity": "high", + "source_feed_id": "1483", + "state": "active", + "trusted_circle_ids": [ + "132" + ], + "update_id": "2103156062", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "first_seen=2020-02-24T00:46:01", + "IP=192.168.2.44", + "or81", + "2rukgaof3", + "mask=192.168.113.238", + "popularity=high" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2020-10-09T18:45:05.000Z", + "geo": { + "country_iso_code": "IN" + }, + "ip": "192.168.2.100", + "last_seen": "2020-10-09T18:45:05.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 23, + "detail2": "imported by user 201", + "id": "3022162786", + "import_session_id": "2042", + "itype": "mal_ip", + "maltype": "malware:opk59im", + "resource_uri": "/api/v1/intelligence/P27253913277/", + "severity": "very-high", + "source_feed_id": "444", + "state": "active", + "trusted_circle_ids": [ + "512", + "80" + ], + "update_id": "1806720202", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "as": { + "number": 3356, + "organization": { + "name": "Level 3 Communications" + } + }, + "confidence": "Low", + "first_seen": "2021-04-07T13:10:07.000Z", + "geo": { + "country_iso_code": "US", + "location": { + "lat": 33.846, + "lon": -118.3456 + } + }, + "ip": "192.168.2.16", + "last_seen": "2021-04-19T08:57:46.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 24, + "detail2": "imported by user 63", + "id": "3349860635", + "itype": "apt_ip", + "resource_uri": "/api/v1/intelligence/P38953132937/", + "severity": "medium", + "source_feed_id": "1348", + "state": "active", + "trusted_circle_ids": [ + "203" + ], + "update_id": "3795650872", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 5, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "Low", + "first_seen": "2021-04-29T16:02:17.000Z", + "ip": "192.168.113.33", + "last_seen": "2021-04-29T16:02:17.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": -1, + "detail2": "imported by user 167", + "id": "1163531784", + "itype": "ssh_ip", + "resource_uri": "/api/v1/intelligence/P29643886460/", + "severity": "very-high", + "source_feed_id": "2951", + "state": "active", + "trusted_circle_ids": [ + "736", + "393", + "234" + ], + "update_id": "3989652203", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 9, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "None", + "first_seen": "2021-04-29T16:02:23.000Z", + "ip": "192.168.2.180", + "last_seen": "2021-04-29T16:02:23.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "private", + "confidence": 52, + "detail2": "imported by user 344", + "id": "2800939892", + "itype": "i2p_ip", + "resource_uri": "/api/v1/intelligence/P40490233828/", + "severity": "low", + "source_feed_id": "2447", + "state": "active", + "trusted_circle_ids": [ + "944" + ], + "update_id": "3037538927", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2021-04-29T16:02:24.000Z", + "ip": "2a02:cf40:add:4002:91f2:a9b2:e09a:6fc6", + "last_seen": "2021-04-29T16:02:24.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv6-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "classification": "public", + "confidence": 44, + "deleted_at": "2020-10-08T12:22:11.000Z", + "detail2": "imported by user 779", + "id": "1581123030", + "itype": "parked_ip", + "resource_uri": "/api/v1/intelligence/P48317859915/", + "severity": "high", + "source_feed_id": "2504", + "state": "active", + "trusted_circle_ids": [ + "32", + "55", + "238" + ], + "update_id": "3360316167", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 7, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2021-04-29T16:02:25.000Z", + "ip": "192.168.113.116", + "last_seen": "2021-04-29T16:02:25.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "classification": "private", + "confidence": 74, + "deleted_at": "2020-10-08T12:22:11.000Z", + "detail2": "imported by user 547", + "id": "3899050177", + "itype": "tor_ip", + "resource_uri": "/api/v1/intelligence/P45278450526/", + "severity": "low", + "source_feed_id": "344", + "state": "active", + "trusted_circle_ids": [ + "637", + "950" + ], + "update_id": "3997504378", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2021-04-29T16:02:25.000Z", + "ip": "192.168.2.73", + "last_seen": "2021-04-29T16:02:25.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + }, + { + "anomali": { + "threatstream": { + "classification": "private", + "confidence": 57, + "deleted_at": "2020-10-08T12:22:11.000Z", + "detail2": "imported by user 772", + "id": "1546439424", + "itype": "c2_ip", + "maltype": "malware:uili", + "resource_uri": "/api/v1/intelligence/P29675942316/", + "severity": "low", + "source_feed_id": "1431", + "state": "active", + "trusted_circle_ids": [ + "795", + "479" + ], + "update_id": "1734126296", + "value_type": "ip" + } + }, + "ecs": { + "version": "8.7.0" + }, + "event": { + "category": "threat", + "kind": "enrichment", + "severity": 3, + "type": "indicator" + }, + "tags": [ + "preserve_original_event", + "4jzpc" + ], + "threat": { + "indicator": { + "confidence": "Medium", + "first_seen": "2021-04-29T16:02:26.000Z", + "ip": "192.168.113.197", + "last_seen": "2021-04-29T16:02:26.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Phony generated indicator", + "type": "ipv4-addr" + } + } + } + ] +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml new file mode 100644 index 000000000..a09fe0726 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml @@ -0,0 +1,5 @@ +fields: + tags: + - preserve_original_event +dynamic_fields: + event.ingested: "^.*$" diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml new file mode 100644 index 000000000..acf46d437 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml @@ -0,0 +1,11 @@ +service: threatstream-integrator-test +service_notify_signal: SIGHUP +input: http_endpoint +policy_template: ti_anomali +data_stream: + vars: + listen_address: 0.0.0.0 + listen_port: 9080 + secret: TheSecret + preserve_original_event: true + ioc_expiration_duration: "5d" diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml new file mode 100644 index 000000000..4c6083998 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml @@ -0,0 +1,10 @@ +service: threatstream-webhook-http +service_notify_signal: SIGHUP +input: http_endpoint +policy_template: ti_anomali +data_stream: + vars: + listen_address: 0.0.0.0 + listen_port: 9080 + ioc_expiration_duration: "5d" + preserve_original_event: true diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml new file mode 100644 index 000000000..b45b7b44b --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml @@ -0,0 +1,61 @@ +service: threatstream-webhook-https +service_notify_signal: SIGHUP +input: http_endpoint +policy_template: ti_anomali +data_stream: + vars: + listen_address: 0.0.0.0 + listen_port: 7443 + preserve_original_event: true + ioc_expiration_duration: "5d" + ssl: |- + certificate: | + -----BEGIN CERTIFICATE----- + MIIDJjCCAg6gAwIBAgIRAO76bP2QhJVqbLjcsWD6gkUwDQYJKoZIhvcNAQELBQAw + JjEkMCIGA1UEChMbVEVTVCAtIEVsYXN0aWMgSW50ZWdyYXRpb25zMB4XDTIxMDIw + MjE2NTUzOVoXDTQxMDEyODE2NTUzOVowJjEkMCIGA1UEChMbVEVTVCAtIEVsYXN0 + aWMgSW50ZWdyYXRpb25zMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA + vUs3YgX4RnEKzSyqH599ffHMDidw3JUTNzp/alRByiGN2gnC2YLLeB8gbZHn2Xkl + YCET1oUrVmPAijwV2RzPYwIn0kIh4zVOKO7+RDCCrgq8CgIG1xZyUhMF3uwn868r + SmX5FZ3T3/max51EsAJmzawef1TqrQRdEKxuPBQs/4qWaYeQCeYeZBVcg2b8CUmg + 3w1lB072Xzt7cJUp8FU1s7U9Hfgg2Dslh9+DSVX0yoqwN8Ynw4FXMSyqAu/OdBbG + aidOR6YjlKx3OSUUYsuB7q3XDyigb6Va7W737QTLIhtEb56l4E0iO4jDT41LaYyw + vRpWegfvHoFBHXbXT6AxtQIDAQABo08wTTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l + BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAYBgNVHREEETAPgg1lbGFzdGlj + LWFnZW50MA0GCSqGSIb3DQEBCwUAA4IBAQAcFeQS0QtPFpGMQ55NO+ycsXAsYZsJ + XvdUMoGygkkbrUQXmQbMMSMPGAGdMfc9V6BMA8x6JgGyKZBcIN/RTkBKjpXFwL03 + su+9liQnIMbYFvBfc1HDjAN5u2HpMdH0sCOe0W4XF5r6n8Q+6WuCl51HND6ObsyR + nU/7PySQ6Bv2PftPI1LMFeLsmgQsCJ/z8jcP4oW4PtgyK7vb+NWGLzRnkgaHYqh3 + oT7VnxPZQtWBJQa2LJhcp+u5k2Y6PipAyh4mCm/IRr1UHpGT/qBGnaUC+DRWd/pk + T4UnmUgq6eJL4IY+v/wpUPS+uHVtFhPSvRp+5hhicuK1YN4Ug/qKirVs + -----END CERTIFICATE----- + key: | + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9SzdiBfhGcQrN + LKofn3198cwOJ3DclRM3On9qVEHKIY3aCcLZgst4HyBtkefZeSVgIRPWhStWY8CK + PBXZHM9jAifSQiHjNU4o7v5EMIKuCrwKAgbXFnJSEwXe7CfzrytKZfkVndPf+ZrH + nUSwAmbNrB5/VOqtBF0QrG48FCz/ipZph5AJ5h5kFVyDZvwJSaDfDWUHTvZfO3tw + lSnwVTWztT0d+CDYOyWH34NJVfTKirA3xifDgVcxLKoC7850FsZqJ05HpiOUrHc5 + JRRiy4HurdcPKKBvpVrtbvftBMsiG0RvnqXgTSI7iMNPjUtpjLC9GlZ6B+8egUEd + dtdPoDG1AgMBAAECggEAP2ks+ldJnj9MAQNPUhyZa1FOrAcmVZ5Su5OLD1F+YHnx + DPNsJHUeN/UlZc8UvdNJY/RwstIVfHEaFLSgFQUDrAUS1ep1c6ltr2SwJKOjgy3x + Y+Dd7buFPF1HADBYCdfKRrf2QvmF+mehI/FZCyUizw8zgDAwFRl7G5THsLSJhmiQ + wDc9WbPFLyswtmeKoAqMiHHqV63PtJunqvGbrDTHh9f4P5JVtreMoPWzE9czQ2ZI + 5nBHOFP/EA6twyRalqOsm3XoFmyrWMmJtm/JJsDlGr/LZcVbtghxybEYo8p/VLpo + JmBSJgM17rwGhniDWXWXXOfx2fkNZEhVIeGvZYJRgQKBgQDOHnepihIu650pTfRD + fcUyPN9oYLzI2mwv70H3FzJQftt3pqmWhlX2adaXYJ65/8xwr6SmkHmYjTvfuCoT + SFApzv9fnYcD6vCsk5AhLpbarWR3MEU1SCvaiFuRNrdTcR8MGSglWPLLVXCI6f/g + F9kZ/Ngz7MkvD2bNT/WjNj3LMQKBgQDrGmPo0gvfk+QoFtL05+dDDrB2IxUokdqa + RzdecC8wV01l8lIj4TDqo7W1wwxdEUvCbUYriE2BoXi1v3jF+wfluqJOL30Ex5kb + UO5At+DWakxzgy3v0F32AOZRISAGMdbrNFaLpjD9t9NGbL8kiestfs2QuTISHJwU + fD47jFDlxQKBgHrczGVh6O7RAVByqCxm1tnYUS8torpzAFQeYQrBZ/t1cqrCzInu + L2V/tytqq5KheKKfAB1NNz4IyezUITh3PVl+itja1HUwYR/todc1pzRYcO9e9ZIK + ICHWcAaCQArb/i6+/CAvAiLUHg1utlhEvuNvxQxGk7Gak6PEit4r4e+xAoGBAIOR + rT/p7IMefJyCyWQNM7qvScmTMJAXr8KPAEl1drMS6FmZFqbFq15kZ5hko1KiD0er + Z42NJfLZrnfnw2roZS8HFzWyFcDLAr/qtqq5PLZBnq82RkrizPKS5lGYvBc7ZQ8T + pytXwir66N2MlhuYo2g+gkPvoDnKkP5V2W3xxIQRAoGBAIDayGKqE1iZwF72R0xQ + Vg8y2x9JoxY1lDGA8oLzYKcp7OslI6sPhv/NGnkQBwV964dcffnn6dezFyKKBGir + DSiM9duWTttlzzUhUQMHCua2z/LXjz1XMb0LoSEOVdk00TDgRMSFhBLhr3ZXmoLb + Iqi7is4z2mP8pbcIIlmloogE + -----END PRIVATE KEY----- + verification_mode: none diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs new file mode 100644 index 000000000..e4072b22f --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs @@ -0,0 +1,54 @@ +type: http_endpoint +enabled: true + +{{#if listen_address}} +listen_address: {{listen_address}} +{{/if}} +{{#if listen_port}} +listen_port: {{listen_port}} +{{/if}} +{{#if url}} +url: {{url}} +{{/if}} +prefix: json +{{#if content_type}} +content_type: {{content_type}} +{{/if}} + +{{#if secret}} +hmac: + header: X-Filebeat-Signature + key: {{secret}} + type: sha256 + prefix: sha256= +{{/if}} + +{{#if ssl}} +ssl: {{ssl}} +{{/if}} + +{{#if ioc_expiration_duration}} +fields_under_root: true +fields: + _conf: + ioc_expiration_duration: "{{ioc_expiration_duration}}" +{{/if}} + +{{#if preserve_original_event}} +preserve_original_event: true +{{/if}} + +tags: +{{#if preserve_original_event}} + - preserve_original_event +{{/if}} +{{#each tags as |tag i|}} + - {{tag}} +{{/each}} +{{#contains "forwarded" tags}} +publisher_pipeline.disable_host: true +{{/contains}} +{{#if processors}} +processors: +{{processors}} +{{/if}} diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json new file mode 100644 index 000000000..68d2c5e57 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json @@ -0,0 +1,23 @@ +{ + "policy": { + "phases": { + "hot": { + "actions": { + "rollover": { + "max_age": "2d", + "max_size": "50gb" + }, + "set_priority": { + "priority": 100 + } + } + }, + "delete": { + "min_age": "3d", + "actions": { + "delete": {} + } + } + } + } +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml new file mode 100644 index 000000000..43c9768c2 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml @@ -0,0 +1,472 @@ +--- +description: Pipeline for parsing Anomali ThreatStream +processors: + # + # Set basic ECS fields. + # + - set: + field: ecs.version + value: '8.7.0' + - set: + field: event.kind + value: enrichment + - set: + field: event.category + value: threat + - set: + field: event.type + value: indicator + + # + # Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). + # + - script: + lang: painless + if: "ctx.json.itype != null" + description: > + Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). + params: + actor_ip: ipv4-addr + adware_domain: domain-name + anon_proxy: ipv4-addr + anon_vpn: ipv4-addr + apt_domain: domain-name + apt_email: email-addr + apt_ip: ipv4-addr + apt_md5: file + apt_subject: email + apt_ua: url + apt_url: url + bot_ip: ipv4-addr + brute_ip: ipv4-addr + c2_domain: domain-name + c2_ip: ipv4-addr + c2_url: url + comm_proxy_domain: domain-name + comm_proxy_ip: ipv4-addr + compromised_domain: domain-name + compromised_ip: ipv4-addr + compromised_url: url + crypto_hash: file + crypto_ip: ipv4-addr + crypto_pool: domain + crypto_url: url + crypto_wallet: file + ddos_ip: ipv4-addr + disposable_email_domain: domain-name + dyn_dns: domain-name + exfil_domain: domain-name + exfil_ip: ipv4-addr + exfil_url: url + exploit_domain: domain-name + exploit_ip: ipv4-addr + exploit_url: url + free_email_domain: domain-name + geolocation_url: url + hack_tool: file + i2p_ip: ipv4-addr + ipcheck_url: url + mal_domain: domain-name + mal_email: email-addr + mal_ip: ipv4-addr + mal_md5: file + mal_sslcert_sh1: x509-certificate + mal_sslcert_sha1: x509-certificate + mal_ua: url + mal_url: url + p2pcnc: ipv4-addr + parked_domain: domain-name + parked_ip: ipv4-addr + parked_url: url + pastesite_url: url + phish_domain: domain-name + phish_email: email-addr + phish_ip: ipv4-addr + phish_url: url + proxy_ip: ipv4-addr + scan_ip: ipv4-addr + sinkhole_domain: domain-name + sinkhole_ip: ipv4-addr + spam_domain: domain-name + spam_email: email-addr + spam_ip: ipv4-addr + spam_url: url + speedtest_url: url + ssh_ip: ipv4-addr + suppress: suppress + suspicious_domain: domain-name + suspicious_email: email-addr + suspicious_ip: ipv4-addr + suspicious_reg_email: email-addr + suspicious_url: url + tor_ip: ipv4-addr + torrent_tracker_url: url + vpn_domain: domain-name + vps_ip: ipv4-addr + whois_bulk_reg_email: email-addr + whois_privacy_domain: domain-name + whois_privacy_email: email-addr + source: > + String mapping = params[ctx.json.itype]; + if (mapping != null) { + ctx["threatintel_indicator_type"] = mapping; + } + on_failure: + - append: + field: error.message + value: 'Unable to determine indicator type from "{{{ json.itype }}}": {{{ _ingest.on_failure_message }}}' + + - rename: + field: threatintel_indicator_type + target_field: threat.indicator.type + ignore_missing: true + + # + # Detect ipv6 for ipv4-addr types. + # + - set: + field: threat.indicator.type + value: ipv6-addr + if: 'ctx.threat?.indicator?.type == "ipv4-addr" && ctx.json?.srcip != null && ctx.json.srcip.contains(":")' + +# Add default deleted_at to expire all IOCs after duration: ioc_expiration_duration. If value not in d, h, or m, default to 90d. + - script: + lang: painless + tag: script-default-deleted_at + if: (ctx.json?.deleted_at == null && ctx.json?.added_at != null && ctx._conf?.ioc_expiration_duration != null && ctx._conf.ioc_expiration_duration != '') + description: > + Add default deleted_at + source: > + def dur = ctx._conf.ioc_expiration_duration; + String added_at = ctx.json.added_at; + if (dur instanceof String){ + Character time_unit = dur.charAt(dur.length() - 1); + String time_value = dur.substring(0, dur.length()); + if (time_unit == 'd') { + ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(Long.parseLong(time_value)); + } else if (time_unit == 'h') { + ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusHours(Long.parseLong(time_value)); + } else if (time_unit == 'm') { + ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusMinutes(Long.parseLong(time_value)); + } else { + ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(90L); + } + } + + +# Map added_at + - date: + field: json.added_at + target_field: json.added_at + formats: + - ISO8601 + if: "ctx.json?.added_at != null" + on_failure: + - append: + field: error.message + value: 'Error parsing added_at field value "{{{ json.added_at }}}": {{{ _ingest.on_failure_message }}}' + +# Map deleted_at + - date: + field: json.deleted_at + target_field: json.deleted_at + formats: + - ISO8601 + if: "ctx.json?.deleted_at != null" + on_failure: + - append: + field: error.message + value: 'Error parsing deleted_at field value "{{{ json.deleted_at }}}": {{{ _ingest.on_failure_message }}}' + + # + # Map first and last seen dates. + # + - date: + field: json.date_first + target_field: threat.indicator.first_seen + formats: + - ISO8601 + if: "ctx.json?.date_first != null" + on_failure: + - append: + field: error.message + value: 'Error parsing date_first field value "{{{ json.date_first }}}": {{{ _ingest.on_failure_message }}}' + + - date: + field: json.date_last + target_field: threat.indicator.last_seen + formats: + - ISO8601 + if: "ctx.json?.date_last != null" + on_failure: + - append: + field: error.message + value: 'Error parsing date_last field value "{{{ json.date_last }}}": {{{ _ingest.on_failure_message }}}' + + # + # Map IP geolocation fields. + # + - convert: + field: json.lat + target_field: threat.indicator.geo.location.lat + type: double + if: "ctx.json?.lat != null && ctx.json?.lon != null" + on_failure: + - append: + field: error.message + value: 'Cannot convert lat field "{{{ json.lat }}}" to double: {{{ _ingest.on_failure_message }}}' + - convert: + field: json.lon + target_field: threat.indicator.geo.location.lon + type: double + if: "ctx.json?.lat != null && ctx.json?.lon != null" + on_failure: + - append: + field: error.message + value: 'Cannot convert lon field "{{{ json.lon }}}" to double: {{{ _ingest.on_failure_message }}}' + + # + # Map classification field to Traffic Light Protocol (TLP). + # Currently: + # public => White ("Disclosure is not limited.") + # private => Amber ("Limited disclosure, restricted to participants’ organizations."). + # + - append: + field: threat.indicator.marking.tlp + value: AMBER + if: 'ctx.json?.classification == "private"' + - append: + field: threat.indicator.marking.tlp + value: WHITE + if: 'ctx.json?.classification == "public"' + + # + # Convert confidence field (-1..100) to ECS confidence (0..10). + # + - script: + lang: painless + if: ctx.json?.confidence != null + description: > + Normalize confidence level. + source: > + def value = ctx.json.confidence; + if (value <= 0.0 || value > 100.0) { + ctx["threatintel_indicator_confidence"] = "None"; + return; + } + if (value >= 1.0 && value <= 29.0) { + ctx["threatintel_indicator_confidence"] = "Low"; + return; + } + if (value >= 30.0 && value <= 69.0) { + ctx["threatintel_indicator_confidence"] = "Medium"; + return; + } + if (value >= 70 && value <= 100) { + ctx["threatintel_indicator_confidence"] = "High"; + return; + } + on_failure: + - append: + field: error.message + value: "failed to normalize confidence value `{{{ json.confidence }}}`: {{{ _ingest.on_failure_message }}}" + + - rename: + field: threatintel_indicator_confidence + target_field: threat.indicator.confidence + ignore_missing: true + + # + # Convert asn field. + # + - convert: + field: json.asn + target_field: threat.indicator.as.number + type: long + ignore_missing: true + on_failure: + - append: + field: error.message + value: "Cannot convert asn field `{{{ json.asn }}}` to long: {{{ _ingest.on_failure_message }}}" + + - rename: + field: json.org + target_field: threat.indicator.as.organization.name + ignore_missing: true + + - rename: + field: json.email + target_field: threat.indicator.email.address + ignore_missing: true + + - rename: + field: json.srcip + target_field: threat.indicator.ip + ignore_missing: true + + - uri_parts: + field: json.url + target_field: threat.indicator.url + keep_original: true + remove_if_successful: true + if: "ctx.json?.url != null" + on_failure: + - append: + field: error.message + value: "Cannot parse url field `{{{ json.url }}}`: {{{ _ingest.on_failure_message }}}" + - set: + field: threat.indicator.url.full + value: "{{{threat.indicator.url.original}}}" + ignore_empty_value: true + - rename: + field: json.domain + target_field: threat.indicator.url.domain + ignore_missing: true + if: ctx.threat?.indicator?.url?.domain == null + - rename: + field: json.country + target_field: threat.indicator.geo.country_iso_code + ignore_missing: true + + # + # md5 field can actually contain different kinds of hash. + # Map to file.hash.* depending on hash length. + # + - rename: + field: json.md5 + target_field: threat.indicator.file.hash.md5 + if: "ctx.json?.md5 != null && ctx.json.md5.length() == 32" + + - rename: + field: json.md5 + target_field: threat.indicator.file.hash.sha1 + if: "ctx.json?.md5 != null && ctx.json.md5.length() == 40" + + - rename: + field: json.md5 + target_field: threat.indicator.file.hash.sha256 + if: "ctx.json?.md5 != null && ctx.json.md5.length() == 64" + + - rename: + field: json.md5 + target_field: threat.indicator.file.hash.sha512 + if: "ctx.json?.md5 != null && ctx.json.md5.length() == 128" + + - rename: + field: json.source + target_field: threat.indicator.provider + ignore_missing: true + + # + # Map field severity to event severity as follows: + # low => 3 + # medium => 5 + # high => 7 + # very-high => 9 + # + - set: + field: event.severity + value: 3 + if: 'ctx.json?.severity == "low"' + + - set: + field: event.severity + value: 5 + if: 'ctx.json?.severity == "medium"' + + - set: + field: event.severity + value: 7 + if: 'ctx.json?.severity == "high"' + + - set: + field: event.severity + value: 9 + if: 'ctx.json?.severity == "very-high"' + + # + # Field trusted_circles_ids is a comma-separated string + # that can contain leading and trailing separators (i.e. ",123,"). + # Need a script processor as split processor doesn't support + # removing non-trailing separators. + # + - script: + lang: painless + if: "ctx.json?.trusted_circle_ids != null && ctx.json?.trusted_circle_ids instanceof String" + description: > + Convert trusted_circles_ids from CSV to an array. + source: > + def lst = Stream.of(ctx.json.trusted_circle_ids.splitOnToken(',')).filter(s -> !s.isEmpty()).collect(Collectors.toList()); + if (lst.size() > 0) { + ctx.json.trusted_circle_ids = lst; + } else { + ctx.json.remove('trusted_circle_ids'); + } + # + # Split detail field and append each component to ECS tags field. + # + - split: + field: json.detail + separator: '(? + If the host is a container. + + - name: os.build + type: keyword + example: "18D109" + description: > + OS build information. + + - name: os.codename + type: keyword + example: "stretch" + description: > + OS codename, if any. + diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml new file mode 100644 index 000000000..a83a8f45e --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml @@ -0,0 +1,28 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset name. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module + value: ti_anomali +- name: event.dataset + type: constant_keyword + description: Event dataset + value: ti_anomali_logsdb.threatstream +- name: threat.feed.name + type: constant_keyword + description: Display friendly feed name + value: Anomali ThreatStream +- name: threat.feed.dashboard_id + type: constant_keyword + description: Dashboard ID used for Kibana CTI UI + value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf +- name: "@timestamp" + type: date + description: Event timestamp. diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml new file mode 100644 index 000000000..cb44bb294 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml @@ -0,0 +1,12 @@ +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.flags + type: keyword + description: Flags for the log file. +- name: log.offset + type: long + description: Offset of the entry in the log file. +- name: log.file.path + type: keyword + description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml new file mode 100644 index 000000000..77d94bcd2 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml @@ -0,0 +1,70 @@ +- external: ecs + name: ecs.version +- external: ecs + name: message +- external: ecs + name: tags +- external: ecs + name: error.message +- external: ecs + name: event.severity +- external: ecs + name: event.category +- external: ecs + name: event.ingested +- external: ecs + name: event.kind +- external: ecs + name: event.type +- external: ecs + name: event.created +- external: ecs + name: event.original +- external: ecs + name: threat.indicator.first_seen +- external: ecs + name: threat.indicator.last_seen +- external: ecs + name: threat.indicator.type +- external: ecs + name: threat.indicator.ip +- external: ecs + name: threat.indicator.url.domain +- external: ecs + name: threat.indicator.url.full +- external: ecs + name: threat.indicator.url.extension +- external: ecs + name: threat.indicator.url.original +- external: ecs + name: threat.indicator.url.path +- external: ecs + name: threat.indicator.url.port +- external: ecs + name: threat.indicator.url.scheme +- external: ecs + name: threat.indicator.url.query +- external: ecs + name: threat.indicator.file.hash.md5 +- external: ecs + name: threat.indicator.file.hash.sha1 +- external: ecs + name: threat.indicator.file.hash.sha256 +- external: ecs + name: threat.indicator.file.hash.sha512 +- external: ecs + name: threat.indicator.email.address +- external: ecs + name: threat.indicator.provider +- external: ecs + name: threat.indicator.marking.tlp +- external: ecs + name: threat.indicator.confidence +- external: ecs + name: threat.indicator.as.number +- external: ecs + name: threat.indicator.as.organization.name +- external: ecs + name: threat.indicator.geo.location +- external: ecs + name: threat.indicator.geo.country_iso_code diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/fields.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/fields.yml new file mode 100644 index 000000000..3efaf706f --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/fields.yml @@ -0,0 +1,106 @@ +- name: anomali.threatstream + type: group + description: > + Fields for Anomali Threatstream + + fields: + - name: classification + type: keyword + description: > + Indicates whether an indicator is private or from a public feed and available publicly. Possible values: private, public. + + example: private + - name: confidence + type: short + description: > + The measure of the accuracy (from 0 to 100) assigned by ThreatStream's predictive analytics technology to indicators. + + - name: detail2 + type: text + description: > + Detail text for indicator. + + example: Imported by user 42. + - name: id + type: keyword + description: > + The ID of the indicator. + + - name: import_session_id + type: keyword + description: > + ID of the import session that created the indicator on ThreatStream. + + - name: itype + type: keyword + description: > + Indicator type. Possible values: "apt_domain", "apt_email", "apt_ip", "apt_url", "bot_ip", "c2_domain", "c2_ip", "c2_url", "i2p_ip", "mal_domain", "mal_email", "mal_ip", "mal_md5", "mal_url", "parked_ip", "phish_email", "phish_ip", "phish_url", "scan_ip", "spam_domain", "ssh_ip", "suspicious_domain", "tor_ip" and "torrent_tracker_url". + + - name: maltype + type: wildcard + description: > + Information regarding a malware family, a CVE ID, or another attack or threat, associated with the indicator. + + - name: md5 + type: keyword + description: > + Hash for the indicator. + + - name: resource_uri + type: keyword + description: > + Relative URI for the indicator details. + + - name: severity + type: keyword + description: > + Criticality associated with the threat feed that supplied the indicator. Possible values: low, medium, high, very-high. + + - name: source + type: keyword + description: > + Source for the indicator. + + example: Analyst + - name: source_feed_id + type: keyword + description: > + ID for the integrator source. + + - name: state + type: keyword + description: > + State for this indicator. + + example: active + - name: trusted_circle_ids + type: keyword + description: > + ID of the trusted circle that imported the indicator. + + - name: update_id + type: keyword + description: > + Update ID. + + - name: url + type: keyword + description: > + URL for the indicator. + + - name: value_type + type: keyword + description: >- + Data type of the indicator. Possible values: ip, domain, url, email, md5. + - name: added_at + type: date + description: >- + Date when IOC was added. + - name: deleted_at + type: date + description: >- + Date when IOC was deleted/expired. +- name: labels.is_ioc_transform_source + type: constant_keyword + value: "true" + description: Field indicating if its the transform source for supporting IOC expiration. This field is dropped from destination indices to facilitate easier filtering of indicators. diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml new file mode 100644 index 000000000..c1cd9f11c --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml @@ -0,0 +1,93 @@ +type: logs +title: Anomali Threatstream +ilm_policy: logs-ti_anomali.threatstream-default_policy +streams: + - input: http_endpoint + vars: + - name: listen_address + type: text + title: Listen Address + description: Bind address for the listener. Use 0.0.0.0 to listen on all interfaces. + multi: false + required: true + show_user: true + default: localhost + - name: listen_port + type: integer + title: Listen Port + multi: false + required: true + show_user: true + default: 8181 + - name: url + type: text + title: Webhook path + description: URL path where the webhook will accept requests. + multi: false + required: true + show_user: false + default: / + - name: content_type + type: text + title: Content Type + description: Expected Content-Type in HTTP request. + multi: false + required: true + show_user: false + default: application/x-ndjson + - name: secret + type: text + title: HMAC secret key + description: Secret key to authenticate requests from the SDK. + multi: false + required: false + show_user: true + - name: ssl + type: yaml + title: TLS + description: Options for enabling TLS for the listening webhook endpoint. See the [documentation](https://www.elastic.co/guide/en/beats/filebeat/current/configuration-ssl.html) for a list of all options. + multi: false + required: false + show_user: false + default: | + enabled: false + certificate: "/etc/pki/client/cert.pem" + key: "/etc/pki/client/cert.key" + - name: ioc_expiration_duration + type: text + title: IOC Expiration Duration + multi: false + required: true + show_user: true + default: "90d" + description: >- + Enforces all IOCs to expire after this duration. This setting is required to avoid "orphaned" IOCs that never expire. Use [Elasticsearch time units](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units) in days, hours, or minutes (e.g 10d) + - name: tags + type: text + title: Tags + multi: true + required: true + show_user: false + default: + - forwarded + - anomali-threatstream + - name: preserve_original_event + required: true + show_user: true + title: Preserve original event + description: Preserves a raw copy of the original event, added to the field `event.original` + type: bool + multi: false + default: false + - name: processors + type: yaml + title: Processors + multi: false + required: false + show_user: false + description: > + Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details. + + template_path: http_endpoint.yml.hbs + title: Anomali Threatstream + description: Receives indicators from Anomali Threatstream diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json new file mode 100644 index 000000000..c892304a3 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json @@ -0,0 +1,92 @@ +{ + "@timestamp": "2023-04-06T13:28:42.596Z", + "agent": { + "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", + "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "name": "docker-fleet-agent", + "type": "filebeat", + "version": "8.8.0" + }, + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 20, + "deleted_at": "2021-01-06T12:22:11.000Z", + "detail2": "imported by user 184", + "id": "3135167627", + "import_session_id": "1400", + "itype": "mal_domain", + "resource_uri": "/api/v1/intelligence/P46279656657/", + "severity": "high", + "source_feed_id": "3143", + "state": "active", + "trusted_circle_ids": [ + "122" + ], + "update_id": "3786618776", + "value_type": "domain" + } + }, + "data_stream": { + "dataset": "ti_anomali.threatstream", + "namespace": "ep", + "type": "logs" + }, + "ecs": { + "version": "8.7.0" + }, + "elastic_agent": { + "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "snapshot": true, + "version": "8.8.0" + }, + "event": { + "agent_id_status": "verified", + "category": "threat", + "dataset": "ti_anomali.threatstream", + "ingested": "2023-04-06T13:28:43Z", + "kind": "enrichment", + "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", + "severity": 7, + "type": "indicator" + }, + "input": { + "type": "http_endpoint" + }, + "tags": [ + "preserve_original_event", + "forwarded", + "anomali-threatstream" + ], + "threat": { + "indicator": { + "as": { + "organization": { + "name": "OVH Hosting" + } + }, + "confidence": "Low", + "first_seen": "2020-10-08T12:21:50.000Z", + "geo": { + "country_iso_code": "FR", + "location": { + "lat": -49.1, + "lon": 94.4 + } + }, + "ip": "89.160.20.156", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Default Organization", + "type": "domain-name", + "url": { + "domain": "d4xgfj.example.net" + } + } + } +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/docs/README.md b/test/packages/parallel/ti_anomali_logsdb/docs/README.md new file mode 100644 index 000000000..91f0d3256 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/docs/README.md @@ -0,0 +1,231 @@ +# Anomali Integration + +The Anomali integration supports the following datasets. + +- `threatstream` dataset: Support for [Anomali ThreatStream](https://www.anomali.com/products/threatstream), a commercial Threat Intelligence service. + +## Logs + +### Anomali Threatstream + +This integration requires additional software, the _Elastic_ _Extension,_ +to connect the Anomali ThreatStream with this integration. It's available +at the [ThreatStream download page.](https://ui.threatstream.com/downloads) + +Please refer to the documentation included with the Extension for a detailed +explanation on how to configure the Anomali ThreatStream to send indicator +to this integration. + +### Expiration of Indicators of Compromise (IOCs) +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. + +#### Handling Orphaned IOCs +When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. + +**NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. + +### ILM Policy +To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. + + +An example event for `threatstream` looks as following: + +```json +{ + "@timestamp": "2023-04-06T13:28:42.596Z", + "agent": { + "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", + "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "name": "docker-fleet-agent", + "type": "filebeat", + "version": "8.8.0" + }, + "anomali": { + "threatstream": { + "added_at": "2020-10-08T12:22:11.000Z", + "classification": "public", + "confidence": 20, + "deleted_at": "2021-01-06T12:22:11.000Z", + "detail2": "imported by user 184", + "id": "3135167627", + "import_session_id": "1400", + "itype": "mal_domain", + "resource_uri": "/api/v1/intelligence/P46279656657/", + "severity": "high", + "source_feed_id": "3143", + "state": "active", + "trusted_circle_ids": [ + "122" + ], + "update_id": "3786618776", + "value_type": "domain" + } + }, + "data_stream": { + "dataset": "ti_anomali.threatstream", + "namespace": "ep", + "type": "logs" + }, + "ecs": { + "version": "8.7.0" + }, + "elastic_agent": { + "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "snapshot": true, + "version": "8.8.0" + }, + "event": { + "agent_id_status": "verified", + "category": "threat", + "dataset": "ti_anomali.threatstream", + "ingested": "2023-04-06T13:28:43Z", + "kind": "enrichment", + "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", + "severity": 7, + "type": "indicator" + }, + "input": { + "type": "http_endpoint" + }, + "tags": [ + "preserve_original_event", + "forwarded", + "anomali-threatstream" + ], + "threat": { + "indicator": { + "as": { + "organization": { + "name": "OVH Hosting" + } + }, + "confidence": "Low", + "first_seen": "2020-10-08T12:21:50.000Z", + "geo": { + "country_iso_code": "FR", + "location": { + "lat": -49.1, + "lon": 94.4 + } + }, + "ip": "89.160.20.156", + "last_seen": "2020-10-08T12:24:42.000Z", + "marking": { + "tlp": [ + "WHITE" + ] + }, + "provider": "Default Organization", + "type": "domain-name", + "url": { + "domain": "d4xgfj.example.net" + } + } + } +} +``` + +**Exported fields** + +| Field | Description | Type | +|---|---|---| +| @timestamp | Event timestamp. | date | +| anomali.threatstream.added_at | Date when IOC was added. | date | +| anomali.threatstream.classification | Indicates whether an indicator is private or from a public feed and available publicly. Possible values: private, public. | keyword | +| anomali.threatstream.confidence | The measure of the accuracy (from 0 to 100) assigned by ThreatStream's predictive analytics technology to indicators. | short | +| anomali.threatstream.deleted_at | Date when IOC was deleted/expired. | date | +| anomali.threatstream.detail2 | Detail text for indicator. | text | +| anomali.threatstream.id | The ID of the indicator. | keyword | +| anomali.threatstream.import_session_id | ID of the import session that created the indicator on ThreatStream. | keyword | +| anomali.threatstream.itype | Indicator type. Possible values: "apt_domain", "apt_email", "apt_ip", "apt_url", "bot_ip", "c2_domain", "c2_ip", "c2_url", "i2p_ip", "mal_domain", "mal_email", "mal_ip", "mal_md5", "mal_url", "parked_ip", "phish_email", "phish_ip", "phish_url", "scan_ip", "spam_domain", "ssh_ip", "suspicious_domain", "tor_ip" and "torrent_tracker_url". | keyword | +| anomali.threatstream.maltype | Information regarding a malware family, a CVE ID, or another attack or threat, associated with the indicator. | wildcard | +| anomali.threatstream.md5 | Hash for the indicator. | keyword | +| anomali.threatstream.resource_uri | Relative URI for the indicator details. | keyword | +| anomali.threatstream.severity | Criticality associated with the threat feed that supplied the indicator. Possible values: low, medium, high, very-high. | keyword | +| anomali.threatstream.source | Source for the indicator. | keyword | +| anomali.threatstream.source_feed_id | ID for the integrator source. | keyword | +| anomali.threatstream.state | State for this indicator. | keyword | +| anomali.threatstream.trusted_circle_ids | ID of the trusted circle that imported the indicator. | keyword | +| anomali.threatstream.update_id | Update ID. | keyword | +| anomali.threatstream.url | URL for the indicator. | keyword | +| anomali.threatstream.value_type | Data type of the indicator. Possible values: ip, domain, url, email, md5. | keyword | +| cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | +| cloud.availability_zone | Availability zone in which this host is running. | keyword | +| cloud.image.id | Image ID for the cloud instance. | keyword | +| cloud.instance.id | Instance ID of the host machine. | keyword | +| cloud.instance.name | Instance name of the host machine. | keyword | +| cloud.machine.type | Machine type of the host machine. | keyword | +| cloud.project.id | Name of the project in Google Cloud. | keyword | +| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | +| cloud.region | Region in which this host is running. | keyword | +| container.id | Unique container id. | keyword | +| container.image.name | Name of the image the container was built on. | keyword | +| container.labels | Image labels. | object | +| container.name | Container name. | keyword | +| data_stream.dataset | Data stream dataset name. | constant_keyword | +| data_stream.namespace | Data stream namespace. | constant_keyword | +| data_stream.type | Data stream type. | constant_keyword | +| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | +| error.message | Error message. | match_only_text | +| event.category | This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories. | keyword | +| event.created | event.created contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. In case the two timestamps are identical, @timestamp should be used. | date | +| event.dataset | Event dataset | constant_keyword | +| event.ingested | Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` \< `event.created` \< `event.ingested`. | date | +| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword | +| event.module | Event module | constant_keyword | +| event.original | Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. | keyword | +| event.severity | The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. | long | +| event.type | This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types. | keyword | +| host.architecture | Operating system architecture. | keyword | +| host.containerized | If the host is a container. | boolean | +| host.domain | Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider. | keyword | +| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword | +| host.id | Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`. | keyword | +| host.ip | Host ip addresses. | ip | +| host.mac | Host mac addresses. | keyword | +| host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | +| host.os.build | OS build information. | keyword | +| host.os.codename | OS codename, if any. | keyword | +| host.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword | +| host.os.kernel | Operating system kernel version as a raw string. | keyword | +| host.os.name | Operating system name, without the version. | keyword | +| host.os.name.text | Multi-field of `host.os.name`. | text | +| host.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword | +| host.os.version | Operating system version as a raw string. | keyword | +| host.type | Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment. | keyword | +| input.type | Type of Filebeat input. | keyword | +| log.file.path | Path to the log file. | keyword | +| log.flags | Flags for the log file. | keyword | +| log.offset | Offset of the entry in the log file. | long | +| message | For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. | match_only_text | +| tags | List of keywords used to tag each event. | keyword | +| threat.feed.dashboard_id | Dashboard ID used for Kibana CTI UI | constant_keyword | +| threat.feed.name | Display friendly feed name | constant_keyword | +| threat.indicator.as.number | Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. | long | +| threat.indicator.as.organization.name | Organization name. | keyword | +| threat.indicator.as.organization.name.text | Multi-field of `threat.indicator.as.organization.name`. | match_only_text | +| threat.indicator.confidence | Identifies the vendor-neutral confidence rating using the None/Low/Medium/High scale defined in Appendix A of the STIX 2.1 framework. Vendor-specific confidence scales may be added as custom fields. | keyword | +| threat.indicator.email.address | Identifies a threat indicator as an email address (irrespective of direction). | keyword | +| threat.indicator.file.hash.md5 | MD5 hash. | keyword | +| threat.indicator.file.hash.sha1 | SHA1 hash. | keyword | +| threat.indicator.file.hash.sha256 | SHA256 hash. | keyword | +| threat.indicator.file.hash.sha512 | SHA512 hash. | keyword | +| threat.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date | +| threat.indicator.geo.country_iso_code | Country ISO code. | keyword | +| threat.indicator.geo.location | Longitude and latitude. | geo_point | +| threat.indicator.ip | Identifies a threat indicator as an IP address (irrespective of direction). | ip | +| threat.indicator.last_seen | The date and time when intelligence source last reported sighting this indicator. | date | +| threat.indicator.marking.tlp | Traffic Light Protocol sharing markings. | keyword | +| threat.indicator.provider | The name of the indicator's provider. | keyword | +| threat.indicator.type | Type of indicator as represented by Cyber Observable in STIX 2.0. | keyword | +| threat.indicator.url.domain | Domain of the url, such as "www.elastic.co". In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. | keyword | +| threat.indicator.url.extension | The field contains the file extension from the original request url, excluding the leading dot. The file extension is only set if it exists, as not every url has a file extension. The leading period must not be included. For example, the value must be "png", not ".png". Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). | keyword | +| threat.indicator.url.full | If full URLs are important to your use case, they should be stored in `url.full`, whether this field is reconstructed or present in the event source. | wildcard | +| threat.indicator.url.full.text | Multi-field of `threat.indicator.url.full`. | match_only_text | +| threat.indicator.url.original | Unmodified original url as seen in the event source. Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. | wildcard | +| threat.indicator.url.original.text | Multi-field of `threat.indicator.url.original`. | match_only_text | +| threat.indicator.url.path | Path of the request, such as "/search". | wildcard | +| threat.indicator.url.port | Port of the request, such as 443. | long | +| threat.indicator.url.query | The query field describes the query string of the request, such as "q=elasticsearch". The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. | keyword | +| threat.indicator.url.scheme | Scheme of the request, such as "https". Note: The `:` is not part of the scheme. | keyword | + diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml new file mode 100644 index 000000000..da4e652c5 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml @@ -0,0 +1,198 @@ +- name: cloud + title: Cloud + group: 2 + description: Fields related to the cloud or infrastructure the events are coming from. + footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' + type: group + fields: + - name: account.id + level: extended + type: keyword + ignore_above: 1024 + description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. + + Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' + example: 666777888999 + - name: availability_zone + level: extended + type: keyword + ignore_above: 1024 + description: Availability zone in which this host is running. + example: us-east-1c + - name: instance.id + level: extended + type: keyword + ignore_above: 1024 + description: Instance ID of the host machine. + example: i-1234567890abcdef0 + - name: instance.name + level: extended + type: keyword + ignore_above: 1024 + description: Instance name of the host machine. + - name: machine.type + level: extended + type: keyword + ignore_above: 1024 + description: Machine type of the host machine. + example: t2.medium + - name: provider + level: extended + type: keyword + ignore_above: 1024 + description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. + example: aws + - name: region + level: extended + type: keyword + ignore_above: 1024 + description: Region in which this host is running. + example: us-east-1 + - name: project.id + type: keyword + description: Name of the project in Google Cloud. + - name: image.id + type: keyword + description: Image ID for the cloud instance. +- name: container + title: Container + group: 2 + description: 'Container fields are used for meta information about the specific container that is the source of information. + + These fields help correlate data based containers from any runtime.' + type: group + fields: + - name: id + level: core + type: keyword + ignore_above: 1024 + description: Unique container id. + - name: image.name + level: extended + type: keyword + ignore_above: 1024 + description: Name of the image the container was built on. + - name: labels + level: extended + type: object + object_type: keyword + description: Image labels. + - name: name + level: extended + type: keyword + ignore_above: 1024 + description: Container name. +- name: host + title: Host + group: 2 + description: 'A host is defined as a general computing instance. + + ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' + type: group + fields: + - name: architecture + level: core + type: keyword + ignore_above: 1024 + description: Operating system architecture. + example: x86_64 + - name: domain + level: extended + type: keyword + ignore_above: 1024 + description: 'Name of the domain of which the host is a member. + + For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' + example: CONTOSO + default_field: false + - name: hostname + level: core + type: keyword + ignore_above: 1024 + description: 'Hostname of the host. + + It normally contains what the `hostname` command returns on the host machine.' + - name: id + level: core + type: keyword + ignore_above: 1024 + description: 'Unique host id. + + As hostname is not always unique, use values that are meaningful in your environment. + + Example: The current usage of `beat.name`.' + - name: ip + level: core + type: ip + description: Host ip addresses. + - name: mac + level: core + type: keyword + ignore_above: 1024 + description: Host mac addresses. + - name: name + level: core + type: keyword + ignore_above: 1024 + description: 'Name of the host. + + It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' + - name: os.family + level: extended + type: keyword + ignore_above: 1024 + description: OS family (such as redhat, debian, freebsd, windows). + example: debian + - name: os.kernel + level: extended + type: keyword + ignore_above: 1024 + description: Operating system kernel version as a raw string. + example: 4.4.0-112-generic + - name: os.name + level: extended + type: keyword + ignore_above: 1024 + multi_fields: + - name: text + type: text + norms: false + default_field: false + description: Operating system name, without the version. + example: Mac OS X + - name: os.platform + level: extended + type: keyword + ignore_above: 1024 + description: Operating system platform (such centos, ubuntu, windows). + example: darwin + - name: os.version + level: extended + type: keyword + ignore_above: 1024 + description: Operating system version as a raw string. + example: 10.14.1 + - name: type + level: core + type: keyword + ignore_above: 1024 + description: 'Type of host. + + For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' + - name: containerized + type: boolean + description: > + If the host is a container. + + - name: os.build + type: keyword + example: "18D109" + description: > + OS build information. + + - name: os.codename + type: keyword + example: "stretch" + description: > + OS codename, if any. + diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml new file mode 100644 index 000000000..a83a8f45e --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml @@ -0,0 +1,28 @@ +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset name. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module + value: ti_anomali +- name: event.dataset + type: constant_keyword + description: Event dataset + value: ti_anomali_logsdb.threatstream +- name: threat.feed.name + type: constant_keyword + description: Display friendly feed name + value: Anomali ThreatStream +- name: threat.feed.dashboard_id + type: constant_keyword + description: Dashboard ID used for Kibana CTI UI + value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf +- name: "@timestamp" + type: date + description: Event timestamp. diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml new file mode 100644 index 000000000..cb44bb294 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml @@ -0,0 +1,12 @@ +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.flags + type: keyword + description: Flags for the log file. +- name: log.offset + type: long + description: Offset of the entry in the log file. +- name: log.file.path + type: keyword + description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml new file mode 100644 index 000000000..77d94bcd2 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml @@ -0,0 +1,70 @@ +- external: ecs + name: ecs.version +- external: ecs + name: message +- external: ecs + name: tags +- external: ecs + name: error.message +- external: ecs + name: event.severity +- external: ecs + name: event.category +- external: ecs + name: event.ingested +- external: ecs + name: event.kind +- external: ecs + name: event.type +- external: ecs + name: event.created +- external: ecs + name: event.original +- external: ecs + name: threat.indicator.first_seen +- external: ecs + name: threat.indicator.last_seen +- external: ecs + name: threat.indicator.type +- external: ecs + name: threat.indicator.ip +- external: ecs + name: threat.indicator.url.domain +- external: ecs + name: threat.indicator.url.full +- external: ecs + name: threat.indicator.url.extension +- external: ecs + name: threat.indicator.url.original +- external: ecs + name: threat.indicator.url.path +- external: ecs + name: threat.indicator.url.port +- external: ecs + name: threat.indicator.url.scheme +- external: ecs + name: threat.indicator.url.query +- external: ecs + name: threat.indicator.file.hash.md5 +- external: ecs + name: threat.indicator.file.hash.sha1 +- external: ecs + name: threat.indicator.file.hash.sha256 +- external: ecs + name: threat.indicator.file.hash.sha512 +- external: ecs + name: threat.indicator.email.address +- external: ecs + name: threat.indicator.provider +- external: ecs + name: threat.indicator.marking.tlp +- external: ecs + name: threat.indicator.confidence +- external: ecs + name: threat.indicator.as.number +- external: ecs + name: threat.indicator.as.organization.name +- external: ecs + name: threat.indicator.geo.location +- external: ecs + name: threat.indicator.geo.country_iso_code diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml new file mode 100644 index 000000000..e3fe4dd37 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml @@ -0,0 +1,101 @@ +- name: "@timestamp" + type: date + description: Event timestamp. +- name: anomali.threatstream + type: group + description: > + Fields for Anomali Threatstream + + fields: + - name: classification + type: keyword + description: > + Indicates whether an indicator is private or from a public feed and available publicly. Possible values: private, public. + + example: private + - name: confidence + type: short + description: > + The measure of the accuracy (from 0 to 100) assigned by ThreatStream's predictive analytics technology to indicators. + + - name: detail2 + type: text + description: > + Detail text for indicator. + + example: Imported by user 42. + - name: id + type: keyword + description: > + The ID of the indicator. + + - name: import_session_id + type: keyword + description: > + ID of the import session that created the indicator on ThreatStream. + + - name: itype + type: keyword + description: > + Indicator type. Possible values: "apt_domain", "apt_email", "apt_ip", "apt_url", "bot_ip", "c2_domain", "c2_ip", "c2_url", "i2p_ip", "mal_domain", "mal_email", "mal_ip", "mal_md5", "mal_url", "parked_ip", "phish_email", "phish_ip", "phish_url", "scan_ip", "spam_domain", "ssh_ip", "suspicious_domain", "tor_ip" and "torrent_tracker_url". + + - name: maltype + type: wildcard + description: > + Information regarding a malware family, a CVE ID, or another attack or threat, associated with the indicator. + + - name: md5 + type: keyword + description: > + Hash for the indicator. + + - name: resource_uri + type: keyword + description: > + Relative URI for the indicator details. + + - name: severity + type: keyword + description: > + Criticality associated with the threat feed that supplied the indicator. Possible values: low, medium, high, very-high. + + - name: source + type: keyword + description: > + Source for the indicator. + + example: Analyst + - name: source_feed_id + type: keyword + description: > + ID for the integrator source. + + - name: state + type: keyword + description: > + State for this indicator. + + example: active + - name: trusted_circle_ids + type: keyword + description: > + ID of the trusted circle that imported the indicator. + + - name: update_id + type: keyword + description: > + Update ID. + + - name: url + type: keyword + description: > + URL for the indicator. + + - name: value_type + type: keyword + description: >- + Data type of the indicator. Possible values: ip, domain, url, email, md5. + - name: added_at + type: date + - name: deleted_at + type: date diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml new file mode 100644 index 000000000..79f3df810 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml @@ -0,0 +1,18 @@ +start: true +destination_index_template: + settings: + index: + sort.field: + - "@timestamp" + sort.order: + - desc + mappings: + dynamic: true + _meta: {} + dynamic_templates: + - strings_as_keyword: + match_mapping_type: string + mapping: + ignore_above: 1024 + type: keyword + date_detection: false diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml new file mode 100644 index 000000000..d9dbb0896 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml @@ -0,0 +1,31 @@ +# Use of "*" to use all namespaces defined. +source: + index: + - "logs-ti_anomali_logsdb.threatstream-*" +# The version suffix on the dest.index should be incremented if a breaking change +# is made to the index mapping. You must also bump the fleet_transform_version +# for any change to this transform configuration to take effect. The old destination +# index is not automatically removed. We are dependent on https://github.com/elastic/package-spec/issues/523 to give +# us that ability in order to prevent having duplicate IoC data and prevent query +# time field type conflicts. +dest: + index: "logs-ti_anomali_logsdb_latest.threatstream-1" +latest: + unique_key: + - event.dataset + - anomali.threatstream.id + sort: "event.ingested" +description: Latest Anomali IoC data +frequency: 30s +sync: + time: + field: event.ingested + delay: 60s +retention_policy: + time: + field: anomali.threatstream.deleted_at + max_age: 1m +_meta: + managed: true + # Bump this version to delete, reinstall, and restart the transform during package. + fleet_transform_version: 0.1.0 diff --git a/test/packages/parallel/ti_anomali_logsdb/img/anomali.svg b/test/packages/parallel/ti_anomali_logsdb/img/anomali.svg new file mode 100644 index 000000000..e9cade7e6 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/img/anomali.svg @@ -0,0 +1,4950 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + 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 +jq7ra5d1cG32qudvrb337119ML2U52hj3J/t+X109kx+7ReP7BhtCvdbeS59TrLvEfNc/bv/e55W +Onr7ERpuOenc+W6XhXubd/JcxqX6HbtLV/VrU55CW21q4VrdHjwb/G0fMj2bFdd8Hyxj/hT3Squo +DpdOeXymPTrcs+3U2V/DLVw8dTZWikZcrdpjtmr0xMUbHq0rrURcQspjM+c6PFw13LPmRR/RD1aW +E9GWRE6yvdtLXC1TS4tO1dPhwTvzG9om/bpN1dt6LmnS6R5T7fSO6m2p3Xqte5aa+DxEN8ZXWW6h +7gvvKFXT9JSPuOpcyqtju4z26zrnTy7LxSpMNeue1cu12mektalW1JN5BokyLZdseoz0mPmT3eHV +wT26O1+D13WlmmnPjw6u+eZN1dZz7r16yjZJqIhaNjpZirveq+ULDdG+0u0XUqpu+ZR/u+PRdt2b +Kap5fVw/OS+vrrqUarZ4yLcvmrpeiOhFLaM96V8xF9V8NW9Sqn20ulNt+aP0smGlnqrP0c8oi07u +6VOvbsd7iuqtNPoZKmrdrrTMR+tHSXeodJcH7d+iJaT/q2WG6rvZCu/c/l0yVF3v8X3tqap5Vbyf +wh/1i5q7iVfLrzpTv/+uGRL6xzojvfG+zfz1cPVQHtN51+/SeV5x62ovOqUnJNQ8a4S5ebWpTuFx +DfXqy5/980eyGq9HsrP4P594vbU9iK9VNaqS8+Bd0+7ODuGv8GqIdBZ//5pX3MRT+LPRqEfWk3fv +M22ohXq/nrqbHq1QfaXn7gwLZQNLZiVUpNxD/6Ie7fNHpMsr/XcOb5Zm+/twsVB//9j9Xia0Q/Yz +ferP+oaopzrlOxVx6Szd0IeUeod0ys9cF6XaWR7z8Rb1rzzom+/k1NvukH9HVXpOP9HTeJL+qzor +Xa8O+rciMzpkr6t0oebqz++bmb6jn3pVMp/9yxS39uQdCZHsdycv6vlp9d2f1/89GSpp0qm7lhKh +llGP3errXf57iL7e1CdVt5Lqev0d0hWr6nh/w1OWkf2VdxUu3pg/2qw8pU61X713pxIPvXQ93Sv0 +NX12Uk9GV1P8qb3eL+taSHtKj3m692Rj1zrac/vXXe/cjBHe87RUT7+Hzqii7p4aS4/t0eARsU67 +vkNnXgf3NpNqtHdaeXvs3AgNIuahMq9DpvT+nO6dGc1h/eSNT2m1DhlNGtmhNLZ4uKfq9Pne1iCp +S4nQLKkdTYNYqKdKrrN7k75jd79jb1p9c9GurdLuDKKi2afMvI6eDp05k3nXV/UxM1bkVNM8vKP2 +81EzqGv3ZeEpM1dGRad4/ynbModqq+mR9NBpnR4to6jqMy1DS9WTZTCRkuxQotHfsTKmiqp3kur4 +7lSrnpfZRCUtveal1ZZq4Z4nJh41c2cpmSqisTKmk8i0Es2W66iZMkOsPGjGdle1NHXrSqfOIB7l +lpbZa+fJM2qz25SeehDttCfP7GnWUaL56BnDI91vHjpT+rOFuKTHN2unWqfm2+NCg4UHr3x6a3e0 +Xnb2zG3mrVkuHt84X5umRfnjQ3M8H73x/djd7xQa8/dppw7NfaduDDdRTfX6o4bGbvHUzRra1Vnh +GR2jse7RnZKWnXXP3WDmqU/1jg4WGiOts0c1nUVD2kNqzIpOTW+KZw2N0+TPNPOsmuP1zOfso5PG +tNpDibazRfu0MM1HH9ZtdVpfnys0us+DaNBsdadoNFalx9QUWVmektPOEZ7qXOdkU2v5n9podtNO +rfm50WRhHlSjia86zdedK6S1Y2rweVzTPOc5Q2OVdFTNvb5P8Wcnc02m9+yU0n7WuWqVSzaIPlRo +Es/OrSktutNjhQbXmKssD55Pj6IpqnXaHRrj5TE13kS80fFr9oWLv6N5LRcL6xjZmFVtb2hOV4+t +cT3pTK+sB/c8jX+qNzU6nj2kvbM39lKa6dHseo8d2jTLXG2PmjmttCxTVDtrXzTPvOMz5etLnWhn +FU268vxMUp1SRPwxmtKTicaOTqVZI/qWqmvPJZpL67EadO6WHk/Hcs1qRTLTRDSWdwfTJF7Zpq69 +o4jmrugYGt+laXbXPb7ZOrQeo9Fda5mWNY8RzS7i2cRSPLZmnZr6c0ezBv+v7YhGTXZOzZaiYZ0L +VWf7VTuEhaeuiGdbZzx6W1XfOaptS+Y7lfYstS2arVnLx7N9KR79JtquTX2dstlpc33ShuQyl23k +KiUrG5Iq0Qm9dtsps9pDddmRDqn2ZpWbriVz8AARIaIhAqKCCRk8eFAYBgQGwkMEChEWEMA0MHMA +QdVV/nw1F8tK9+zykGqa3Ui7q6XnvEfTeQ7ykH5j297nUjeNfD+bei4aFf7Gp72ZraZvU59n/7KT ++MO0s7MvS9Lb/ZVodLO83RZT9fxZmXW2ZOhDaKtodg4xL33D0/6Gty3NPHct07P8yw== + + + 1MyWivIYFm2pbdEw68zWsH4M636Oq3q2tWp325rpHsqbbWstj7NoTanItmiHZmhb9W01Nw9eD6+m +WdpaUh3TbEt0d+q8d3U+287a1qEP15ZeNcPLNDvjz5vndOGe8a6a/1E+rXj14X9JuL/3hN/KzHPo +s6K0r0nPaGe6k+bPq+gQy2zaRLTZ+XKPFhmi2e/ks2b776CV+Yj0eDuq2VpnpfV57bJDnw+RDBfP +LkPj+i5bjXdeme2++7bsUoswb7V1oY/H/Y1eLPQaTfTvl9A31xEevI+ZJp/Vx2vc3Dz+8+Arj2Il +w0KZsLeTeUprnp81S7Ps5FntXIXrsy9trXQPXq2tr3DViG7vt5MPfOu6OmRlt1d1Mrtbqtr73cWw +UCbwfa1tbR1t/WJYKBvQxaKro6pNWrSzV6g+VD3GujqrU1u/yldLV5Sv/VWecm3gWNIzLJQJTOAB +nR4fw0LZgH3uPnjYqVQ6O3bPqmMrH3vzJwnrrN3PJenJqJJs65XeudPVO8cr/ecSL/dk0jlU37l0 +ZuniQbRNz2HZHuPm/aQd+l2R76Czau9Yb+RDe1aztDSyd9U263zvRcc2Kff2V3Nx10YydB0q6+HZ +yemj0l1GRsUr4+apnZuSVxWtcJGUco/w5z7lzbC+Trvq7liKr0Uql6nycom8lLS4VYg2q1v0MSWa ++ugyLJQNHJqdI9t+WlGmr7y66cNzNNadY2JuHrM6e7RTeEl4FrH29uim2rQv01b5Ltdk0z36cW7a +nW+aqeokXZZiZu2p3d1tJe5W3el8ddqqStwyw0I5XJqKeyU9L+Pqf4d0ttWen3HRfElneOdF/KHh +LaZ+01q4d+flnvXsSKcyI8x7UxF1EdWaR/RRfwx9mnmFq+fVI+Neav6MW7eZstRrd6uF+XwhJpru +ZKS8s1T23V+vSX2fkf3qW+ftUuHq6ceq0Gd1rjTfWmXqMSvbqrKzVUh6tFurSizaur01HayykV7d +mveULH1kZa87WWUf2t1S1ZLzlgp/06V9S11PY1rS5XGpGp/0W2vqi75GdIR1diffe7zGeqaTVPF7 +qXgojVpHtvbWGdouFXPpFr+UfhHRfUtdevdVMyyUB96f/810FVL+LHrtJty8626vs1Q0ZqZP9err +sx2p1Z5p++0t1Vp1E/UYlW1d0rrqai+57k69zSU6RmWiKzx23bqWjPQqbavojl75WHnqqtYQC3Vd +VlpVtbTWn6vq6nnq+pq56GyVl46/u0iTKg817/YKf9SVVYZ039rqqm6VSvXGsFAmbFWtfU39rcVj +SnlIp2aXdra85sDgWqWRmrTI6Ivr0zyVnqvrVk/Tult3X/VS2ZbhK+215r+UdmX11R5+f1Wn0vZZ +mdreNpcZ1+4b2p7QinSaWGu9c7TWz7LojEupeereOxXZ3fXsGZ2ZaMzDxK/Taq7/a4p0MG2bR9cM +C2XCmkpvsUjPVrnqeYV7Z9f3Jfsdq4nO01iI+HX6a1Y/lt7cvWs6/c01UdlpzKRiWCgH+uyOtVh5 +q+m1Sn3eJpX3yoi2eheV0Vw3nn+LWki1erd3VYf53971Oq3dVhXeGiurrLQKb8taB6ly0VBvjape +tptZ6bfeyvvernXJtGcqW/qut5WLx6hsu8pbpcrU05+r7LtMy7R/zJu3O1XTO9LvVUZnzFqrC83f +VTta+7LMwj1WR5hWtnPVtAOjvmthLh3dq5vIMA9N1XrcOrZNB8Zod8VarURVQifdgUFVPN+XVbh3 +qbq5dawOrZu4hPYyw7LLZ0tYpmc9W9/o6Gvx1tD2VeX7bKkQD2HZvbTsWFl4KMvw67Mt1DuEtVfk +2+LLT0rbq7/udp22+P3RK339Sm3zymfqusvdujp3laY33Vql01avdjG9RlfWvVWl3en2Vrfa/dpl +dZNa3WoqHa3KYCkUDBc4RDQ4YOBQAUOFCb56pWPayj1DOkmmd6tnKdeKhrenbHh6zLt65yrhnfLR +53Ous8yidCbl3qZcdelp7s9aol037TCtfvrTtK+25LN6TKMmnp/qK5H+oF4J945qki2R/nQ1Et7S +qY6uaUtmerqIa9a925sTZWLZHu5pcTXvp8yITI/Q9lZ1UfdYWU9ztwwt0XrWkoxnpXp636TdiPb4 +dd0y4pf2Ze8ppZbhUiYZz7tFp+zUiKdJvmOj64p01Ttrmz9zOTVt577p/Qnt0Lb0nB0YE9Eq1vfO +Pplk+J+uEDdPlX8H5mn20jWtUeoh3DQ3pdVjtqj7OzCKtpuZpkg+Wg5M7TnF34Gx3e+i1WEsjexL +pGdhmilR+ZBoj319u1UmrVV6442i82oRzfRlmbaZeAevfPLapk/HdJbXQ9OtPXP1WVm++xbitWw/ +iTdFqrX256+2hVbHrsx6Le2Kdb8IferKGBKpb7dwbX+5d/o0I1I7q+Od5/M83flGvqXyHbMyZ3e0 +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 +u/Q2iU77qwmHXM+itynupliH3qhFWXNrkt+o19VFMe44Ovx6U8RDr9U4PyqG4DNpRUmq+Zvj7HV5 +CIJOUtWi/yie2BMlt0NmmfW2PCmOYhdVz/LH7WZIak3Wq8Lm9kW/pXflUdP1PlPT0E2zQ8/1riW1 +RLVoyk1Z9Mu6adLb+qpai6Fvlr056qVIh14ddjoZitjU1K6rGPbPcvY8fhxDZ4lqUxNa/iLoKckf +RT8q6klPewzp0OtNEgCrlAHUdn/rpC+TQ8ZE4ntN1uRN8jRJt0ghaVKna7KmbdKFxG2ZZhkALIUk +pUZUzLjYocI0DyCVQtJkyw7ghoocOGRG/LqGS8b13d5JHK8xImvbtved7/F912U9r/W8v225z/E+ +72k+72tdvnsa5/We5mOaj0k75/d9ADL8TtN4zdv3jlqXeZcKaes7Ldc5meM4L9s9zfPkrtN1z8e4 +9Xvfax7vaV4fgEmt47Ze1z0f73I/w/Nk39N0LROLoec3bfM8yFymBzBKIen8zm/ezm9+r2vbvm2Z +JmsS53l87/Nbt3nc5nOZJnPavnd7z2+ZZAAunOfxmidz++bjAbxInORBviBrkkXWAxilkDVe17qO +4zZe43R+4/p+8/iu9/lO6nx+9/QARmYMwHXjLp7ma5snc74mc8iEkDQzTjD8apT2AzAZwIoBlO47 +v+1a1+3d7l07vuM5z/e2vN/93dd9neu2Xtu6ze+7bt+ybuP2buM2Xde3667pu85xGfRd3zuNyz2f +07qMyz2P871ey31P9/ad2zLsuu9pW5f7vufpnq/7Xedz/t77Hadreb9xfqd5frfvHd9p3pb5Pqd3 +PJfz/rbpXZdzOrd1uc9zeud5msdl2rbx3KbtUt7ffH7jNr3vec3L/V33Ju4AVgygVO87X/eluqZl +u75vmb9rfOdzmedxmcfr++ZNZG3jeZ7reV7neq73vZ6X7Pzmcz7n8/zu+9ym5Vqn9Zqv9Zqv5VrP +dVrXe1u2a52Xa92+95uXbZ3P8XqXbV3Pa/nWb13v+Vy+9T3He3zf7VzOdTvX91y3+1zXdX3Xc13X +dVu3ed3GY9nmdVvXZbvndZnXXbzO63yPy/Wt17Td2z0v0/td23JN73Xf6zx98zXf67pO6329y/S+ +03d/83Jt2/Uu2/Z+77aM7zjd5zvd57su070u53uf67K+3/W+7/uu7/aO8zXN23V/13Xd36X+5vX8 +7m9el28al28a5217x3l7r++et3Fd1nn81mUd53me3vFe72+97++9v+2er3Gdj+Wd7mt713kb53G+ +7/F452/e3uldtnmb72le3vsdp/scl/vdxuN95/l9t/kdl/e9lncej3le32085vd633Fcvve83+19 +r2nZ3vG9lut6r+36xvd6t2293+k91/Wd5/GY12mblnPdzmVc73s+l29dx/ldvm08xmMdl2k932k9 +53Oez/le3vn85nUej/Wc5/N8z/Mdl/marne+znO+z3G6x3H93nEcx3Vc3nF7x3tex3eZz/GSjvM8 +jeO7jdM4v+v3beO0Lts7ffM2buMxX8s2zss1nuN0f+e1TOMyf/O8rvc3j9N4v8s6ft+9LfO3be88 +z9t3fcv7rt/3LvN5z8u8fdt3ffP1Xcv1zee5TN+8LdN5Xtu4zdO63NM339s9r+e13Nu8vfO7zdt7 +r/O9bfeyfve23fO7rOO0ves7r9u2rfP8vde4vNu1ndu2rdc1Xcu4Xdv7bfO2zcu2XeLl2tZzvr51 +Ouf7XN9veb/tW69tO891Ga91Xr7vvZZtXtZtHNdtm67rfqdrnq/5Oq/xe+dxfad1Ww== + + + pm265nu573se3/m93vc+52Wdpndb3vmelnk65+lb5vnelvsZHud7mu9zmqflnu/3nqZl+t7pnt5p +HadrHo/l277rnr/5G7/lnq9tPK7lu6ZrXe7tnsbl3q7tmrdrHI/r+u5lHq/72uZ3PtfxWKbrPq9r +na/pPs91usfxmu71Wq93Wqb5HY97vq77mubtXqZxua95Xu5rm6ftXu5rvbbxeMdvet9vO5dpm7bx +/MZjvt95G4/72uZzue5rHad7me5t2755+Zbv27bpXsbl+rZv3Lbz27bxWsdtObf1PddvPMbl267z +3K7l3M7tO7dtWbf1WtZ5e697O9/lus/l3bbx2sZ5m+b1Prd3/Mbr3M57mbd7m9b7n7lmOU+0qil+ +r4LlFSyT2Ba0rqqmxeDHu3CNriL3pUmVTHq+Nc8iVc3JEYkbMyhAgCJKQL8IhkV07YlpkVzfZalu +Wbpp7Pf1aqt64LlxqKb16cqj6hyOtDiSnGztPNWdf9ZW1bY+VV/7roKVCtFzkuvuZ1lqWfx9IJWd +QTD+vLwkc9PMyRLNMo+zYcMQN1HYCzsdTpRZ5n7ebpaqmWYBgVhEoJHbyuBHA3PtQCMjwus0KREP +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 +K2p7Rd33NCwZQwamShmATA4ZE82MU5oKgIQVIaYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiam +JqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYm +piamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiam +JqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYmpiamJqYm +piamJqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamJqam +pqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqam +pqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqam +pqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqam +pqampqampqampqampqampqampqampqampqamBt86K3uNA5YyQAuYmZHH9jiQiqaAelKb8qNXd9uJ +AoXa4ZhcdKSi8baJOpzwSdEHFJEZKZNqTUdl2GYbl8tadEyy4zDctsGvJ8eRm1bZbZEZlrdOCaLD +y2kgV+0Bo/LC8xIE5O00mOzqUJlWePKTuEWlZQiCAh7HEdEINdv6OJ7SFOa2Kny9A4rL1bIrh+N2 +XCzHazFUt2wGPdgcv2SZJ8eU0zk5nfgLYRBsOW7uOjbLWA4H/7wWj75i5JvccslNe7Q8wW+JZfNx +fLnt3bI7/PaSRL3vLoLvlsFc9klR0FmKTtInQb4Me5QEregpdnsS5MNONIIvnp3F30fp6SnFGuzu +UYzVtYld5S6Du4w3xdgMx3j2FlBPctNd9Gy4TgZoAYOC038p6iP4chq72ciaFjrRlrPRQa7khnmI +pIhYGUkR4lmwmoOeytngIYiLYNrZyB/HitkZEM+i3/o4oh3OmXFo0PtRFOY0GtRCKhnj4ytGnpS7 +zh33Zh2TGX7h8VVkOTSG97bRwW1lyzAcN71wPpIxt/XlyNLjPFYmG6UQaj11Mmw5TcSmL9ktnWSI +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 +/ZsUPWhZI6Q1I8YKqeiaZSyn4aN4etuTXa/B0NNBhxrkXrf8UU1PKYrIL+tl8xC0we+jojgI7iHI +atURGl7585mRJ1bHOgny5wjD69Lb9uWYetvTy4rotmhNRW5biyAugqH19JRi6BxHqnmC3V9VTXAM +w/MP27Ybd5Pkr6aqOf5PMz9Nvm311t3VNeTGfbrWZfmr64qeQys6Ws2Yka+ipUIZiT6tC2JXHjVD +K5pi9LNYmUR42zS7O4raJFmfZ/p5bNflouiXo2t+XUD9n5q8KeKi15fiZ009KpqKX9Ga9ieJi+D9 +dTSnhcjRA3q/CIrM0cWzszCNYPQ8ctcePfdRJKVnCm6v3PaDliw6NrXsLYb01+Vih2JPFYuqWPQF +s30pqtxWzrJ2s8nBsNS2rJpexbFfkvG2iSdO6CWpouW420YdBpCH4sl9Q+b5H8u68+rOg7dNhSmU +4us8Gdqf16eqJ01N7wtC0V4c2U5n5riV3Q6RYssBcbUs5rq442Kv00lTL1Nxw2HZtA6TWApRz4fd +7W032MWel5Pli5dIaIXVTkfGo7fkNEo1d7Crwc/dNHjTTD69v654GJLsuaueQWmZclMWrJZW00dL +Gi0qTfSwgyrfb3IsuWsLqLcBS618cpgMt1zW7TIa9PpylMGv5TSVy670uUpev/D3CA3THYd2NqFW +Ffn9GPzWrENz26cke9DjP28vSfn7QChqWtN8BNONg48gSD1LbsrS4y2e3YOWMuiRfD4hV/akaWlN +TfZ8pJZfetyFCZSDHg16o5YN0fURu5raltSyv4r2Zxla11sUX47bzTJk109+z2me/1TVy7I/T5Uc +m95XBsF200pu2vLxR3h8Rcce1DS1aslur/x7yWVFrPqyZxN/V8FvyW139HTBryZJ3zzjjmO1zj16 +Jrg1vSyJTVHv+qtnfpr2Wc5jCFLPD2rmIbhmHJMDMnucaE1NLYtq1RQ/36IEKvHwu6q23+d+njyC +PHquavnEw6fcd/48Vuuw20YnPY8p6uLXkyGKVUXgds4yvyxVwGAhP+gWRfz7PGVZctmRmr7bxm7b +2eHwptmi65X77iD4Zpq64cCZdovhPo4lihPjCR1G65qy8R5daQ98s06bZSxn4zlLmlYL3Wxy8FPB +rsl9SypKSktY09CONnY6sefBXZdqWctpo3UNuXOSWzepKm+eq6bpZHlyX3WzIUFQtNqGi6WqbV0v +W6Lb8xjGnxdSUVz8Zk/zSxDlpiPUTLVpDzMuSeSg8a8qC8hXUQKh2DTeshjsQKhZWlH/JD+nSXse +q2WtOUbR81KK1twWa52eFEkqSlJR1Mvyaup+np6i8zimmjaDnkg9PenZn2WKz6tmed20uxxRMxzj +8RYtv2A1FrO/SZZi9wUKio6yNRim7LoKr6dYtGSKMHgNnaTHJEPwPPTCPhmu6HcKj7Ne9uWyLTk+ +UtM1+J1kug7Jk9OpxY8VtyO0PELLMDye4vf788TJEcSq/XmC2HQFszL9zeKztwjxNFalT2reIvin +52dFSe4as2cWzJ5UlLSudQjGXkeH36dVfzZd2bHLCTSzKsmYQDHc9qipTor+Sf5rqp/nLIY0KfKo +uZulPY67SZLg9Mrfw/YcxK6oOVbdtSh+fTX1qCqPovPnyZ7no+lelj5q3uQIh2BekqMVhUFATBQo +Sv7fAgU4YgQUcjudDzmi2PVTknCH03Y6M/j16UnDUpVat+10cjHUyxIXR9n76g+8vY/uOl0EVa/L +p+uHAqTcbHZRFK2qKEVB6AlK1bSTkex5C8ivx/FDgcLNsvvzRm4alJ7z962apnKdiopFAiqR6FwG +xVfbWG2Dve8exbf72O7r1/bkIxqt8Mxxtbel9HkIXotYNYSeL6exGsfUpi0evuSmU65aWk/POc4f +96unR0Xl70s7HVsMT/Y7Zb9X7+qKXU9JuppGg18dhq2m9WJ4Yss9TERc/l7Vqr85ttzGetwqx0Pv +rJ9lS+j3oSUFBuRZQfpRdrw3S7jjTvD7p+c9gjLIjdZSxH5T+rskn2E6jp8pXpok14W/Ds1A0g4K +ffRE6BcWsyM13JNiyBRhMyxKz/zr8G4jneWqZWvQK8UwqnHjhkNyV5K7/pDjzG335/Wk6DlLVeyi +XHYXQxE7ZunrGdDuitlRSppadC/BEt0m4XfXXaeEfJReb8HtCB09pcifJW+SIDYtyS9eijAhfoiY +kx1aRlQ8umuGQygaOk2SfF7RcUmG/3b9vKyKjltzXGLZt+Pkr8PRkmTLKFqG5TbKxyfZc1ZN7ydq +k+Qchvh58qr6YVsTT3+S479ldbOUP88PQdbboug3id/HnheC5yb3hTWtPKFDvWUoOS1D+lP6WqXP +ZW4rQU6MXhcEy2z3rRvHahoqNWOz+5Ld06rGH8h2Xo+mI5bdxXHuOpnjcjGUPc8Ux7A9X7+vBUOd +LEGnWULDvPjRXid7nWimN/AACLC4RuKTNbdON1HdRHXzvMVw/kC7NE1EJBklKTDnoR3OPYYvJFCN +lckEr00r6nabPYIquP2cpdxxPCm24rc1w5/01E0SDsW180Rw7EnT/ixxEbS7bUW3XXC7j2H8dSzX +pVkmQs+Tmw7J71wMYy7TQ++TmqaXXRGBeDR13XMMCdTCpVLNcStuYXUcWtEfLU0uK3/e2dnMIAcz +6k3yOUa7MJkFsWldlqLXFeH3c8vksPPN8dSmKXrtitlUi9rf9p/kiF3vzzuxaKyWRebY5LZ3UsRL +se06tut8Fe3Ncua0PPxEakpKUdbLntwzbIZnbyO16AlW+TK0wy6kkqt4fdHtDRiq5fOz6rnEw4PU +VPa2O9xgN7wy+lHwy6JjlA/Pn2Vrfl8+fEhO+2rJm6LHLF1vq5LPJ/ic0ueuWga5acuOTy8LQk8b +/HqTHMUtCahv4fWnXV95/UIClfA8f571KOoqCqJl012vcpyF16F27dNTL8m9JFd+XdWqb5aBJ3Qw +QTY6UFBQdD1uNrMHwvh8Sy6v2BP/tlfrjDoMoM06LGKtlw9qvxCm4zZGUjhSnpK63cEOBUGhZh2f +ZV1SqNELkyhQuFr2n2aJfofctkhNebNct61PV/xUV65jORvTesbqOIVJtDIKtZRMIjimzzNU16OZ +xs3UHsnfLFtAPY1JxPL5lN747HRMdDwC8vwsq4MdyBRLbOqfZm+SKxnmS5I3TZPbumCY9cL6GPao +aZslLIYjWZ7HceU43SxRLyujBGLZ7ZJq+uW4Zlm7bS7bPsVvmnVs8Eu16ouSpwXJb+lvlo+vn+iL +6gSjOq32nP061uwSMcOyRAuYFiNPzJbxkrTJUYTfPy4Le9y7dVrwWoQLGBkjLxaPLpLfrMeBWlYV +wyeXvcPPN8eTq5paNRXD/4mCTPIHmBMYEug/S74ccdE7qaXJPa9iuCbHluNU7nrDdZrBSqnaVoSW +u/jtJMibIgnoh3G59tNsxe2OEZYMFSnloiz/3aLfv1VFMiyH4etxrNldQA0WRKRwgeW2JzVLruqr +6N+mKlvm11QewRN/vxF74WCpVvS4yx3TfPYRnOZVEyS3/Jr2Zvny6zZgpx1QYkTAoLhgnUgxXIpf +lz2PVrXkriojX0bJy8VIq0VIC+Y0GsVvyGV3k8xHMJSa77bhJYmTY0hVSahqogD5UA== + + + oEC3DQUkQrFwm2kx1+Hi+KMnyV6vUH1cfvzUuvnntVx2lJr1t+HhN1LTVOzCWJVYqEgnP7+bJZtl +vUmSWPU3SZTDMUFA5I7bR3HGdGLdOppt9PfBgPoRSoJM0cSib7bhx4+kx2+4qJhqnFddHlVfcjyC +z6f13MWP1Ta+WrKUQCF87nKcb5Ikur3y4Vc8O+ttT63amyONE5IfWtCEWDbmNpFa9mHFhEcKiYuO +8VGEO84mxxStlSvXWS1TORu541IwW0pP+/NuMWS5jYXfLSWTyL57TtI/wxcu07hUK0ZeNkxcM6kS +aEVDrwtTCp1eFnSOIDMUsaeJflOwTj/MyLCfF4deiUVV8HkGy6SC9IvYMQpmczJMya9ekp81del6 +jN9TcxyS3ya3xUHw9jrYHOMmCXI2KLeJ2vWkjluMPDMhv+Sy9yii3BVlv0duG4NeDX7+WZLkdIyI +L/n5Fs/rqdma3xKbeszR5KIlvKxD5bUCpjLNs02SnjUN2e0Qvd5XFP04eARjTKEeKCMkeW2C2b5d +77NkGYFcsFwkOG9z2T9qIvTaIvJb+53S8bos7fD7wQRmQzVa2emTHB65YxUtr+x69LI06LX8OhIx +Jw6oweIAM1isOI1IcLoEu7EYrttWbk7kIteTpEh++2Zpg1+bae7Ggc6TF0fQeeKgiIviCL/TqFAo +2PVN0S9Du+NgLetH0fa68MQAfFJk+XhSQH8IdkfuWmLTngzx8NPJ0DfLueNAp+m6b70sQSmqclnX +PP8oCnMcX5K6GKYdzh2CKfjtyzK0oiT87WIi+a7reWNP+6ratm5aToY+WpZa9ESfYbBMKNn9V3TF +i2V637jj5q8rsWmIHZPktIwYa4VKpZMkKD1Tdhy1pi3Y3cXwBr+Tu7ZoeMYIDNb3aud5UvbkwiH5 +HUrPGvTq8LNJESZ12oFGJub54GQZY/r8MKOihI0XQrCQqeFCiczwPoIwLFRLasWj54qOb5C0eqC8 +imDhwkMlZrLTNwm+djsF61Sq690sT3a6xqtkI6YKsWeW/O7lKHpZmFZKFMOiVkX59xXQXmJXfxxb +MmyXJNpxHxhW2Tgdij4pmtzzitKvotspO+7y8f301M+SBL+fle1HcSakF8Ei5gcVMiwm0Ep2c9P0 +2zWEx034GsUzr4TwFCjRSynkwukWTv9vS6dqvbK826bkd8SOU/yaJbTHdlsku7/b5isrn2vqdTFc +9iEFdoAaKlq0VH+7xmJ4jyGKVXGQ28uvRZT7kBJyIwSm8vusGZ7D7vSuKDrtitdX/bpiluWqJVa1 +SVLlOLPTCbGpHor0B4ogIKumzV8IQtWSus5d12YZCoIClKY3Vk5WUCZUy+KOu8FwF0d422wQbLPs +G4AA8PBTEYFYPE9uXOt5oPRUwSzrZUnrGUJNWNNW8PvC71XTXC3rSdFzmqjXfdGyCa/r4ziHoAvX +S7PNdp38daZ3XQn9LB0fAX1MM31mGsh9/zTFRxEXPx7sVK4KUs+WLdMwiX1Y9f060svCYJlYoEAt +Hlz1rh6znD3PVdMsoF8PP9ccj9w263VZfp6knqPU3M3SBcFWfZNW1t20G/RKLGrC4y2kzwxqJFMK +kV435LY0TkhkVKhXbrNmFyWfW3icBJ9hiKxCfD/ksipaKRwqI7A7jtUtCi+76pb0ojtWQoRoIWO6 +7w+rqjB9ZrBKKPs9Us/eHD0ouTLyrIitUDTcAupthKxC8BgXv5nTQqmJomMUHYfoeAvHY3H8pCfM +x6fBOpXU8Igth9w0qVVH9Fqk5+2xrD0viJSYBHjUiIAPHDZEWi4azk/TVM8u3BatZix3c7C4FuAj +Rg6T2CunVbecym1Tno/u/F5Vt9tKa/mjRWSIFSs3RlYspE/Kpu80TcFRDcXfXV/43DLymPB4CV5H +cAtSUZ4k1w4HHz8Tz+0iJZoZgUTsuSW7P0qWXJUlvzwp/ucYQr8wHp7Epn8UnUUR/j7R27rZhnI0 +lOt6tvXXts20T1nCbBpWz34o5uD3YVX282AxNMlySGVhrvtOnBBRoGg57ga/O/xKtPyh6XptQzP9 +YdmcHGWPSzmbmdt08Du97iiGW277pOnphXNytMWwDsE6/HaTJPn7FbGXPJ5oJzv5dyNatHjgiB47 +UGIuJRCoZc9O5yTPqpaZm83cba63PcnvF5HnBaskst93Ka6kSjNaVO6ypD/Oc4old2XR83+efVn2 +Zmma3xWuFYlt0c3m7TRW3K70+WuGXzJskuOiFIW5jQSnXZA+MiHPCV5ZcZty1frbTC+rhA8dJSNS +r6KmlyXR7RPdhtEvSS6b2lTlw98wCRH5e3sEUawpYxXqgfKyYcLSYdJq+fS2GObmyJ+lDX4h1IQh +hUh0++XXeVCJ0ShxpWRXBbcr2IW7rUdLkR2/QQL7wWIiI/pHbrpHU/s8S7IcclsfLUvr+ZpdE72u +EUvZaJFS/l3+PP8sc6SMlPweVl7DdBqlz0NuesUIhHJb+NNcSLwPGRMYJC0V3cKkQkDAmPGBRUwL +mOrFJDLNcS1+sPrtkRKzUfJ6EfkqID5m06f3NdHzas/3FW1DD0dHlP5+UfK4+HgrfkfreofiR0VL +squbJMpVQ2R2BYdZeNuEt0Xy2mOavlmCUtPksqE19Zwkan5beZ2qZ7nzfBM1wW/rtuMP5MtyxcO3 +fPzQia4czrtt9Pe93LYi1mIpkV6uUzONpK6vWX4R/a/5/ZzjyZZ59x0hkWi4rIBgWBZF/URVtAwj ++kVq+dSuuCjm6Onq+11l2W2zQzD1tisenUVrpAAfMHawlOjkyCICrYhAn9TcQc5zjqI2Lb1rqVU/ +bHpqWut1Jr8nJcdyx+Eh+J+lXo67ScqsVDFKTGAQRMFrS2ZR9FoFr/oY2iIog56Ih18Bc31Ulc06 +KlIlG7DWC1SppI5R65mH36tlpdcV8fu32+aPO7Vpi5+nCHlQbMqToI6WtEmamEQyrxcdgvXnfVRT +huSRAekr/T2Cz/HHrfCbxAPyVfYWQ9FantxzlJb2571fF3Y6Y6cT23UaVcqTnvbofVKShK9F9vpV +x6e3ZbeM9LYmvI6i46357c2RxKallxX5/ZcWKwTHplYFoiWExgu14tFfNBxKy94cdzJEvWyOFhMT +UC9DpcSIGS9W/h7VpiFztEEvtJorViEW0Z+XI8sH/yHFSQN8yKHEDReuXPawpr+aHvakUQJT8WqZ +anllxykfXuSmWTz6jpPXjREWLK931PzZdf48jxmG1vJ1xzQlkIoRaMVJ5FIK0ePImuOW7I5QEcWe +LbmF4bGoVUnxK5rhPD1L85tCxL8Y9TleqBVfj+V5CJ7fI4l2snIDYtLrMaUQKEXhbdNJsqTXa5C4 +ZEwg1vzOHKeCbE5ufGLf2uvarIODXouYKodLSYpXymQEMt31D8czIyU5YmbscMRDsMSqIhU1samN +E9eMk9gpnv3zHMntGE2L0HMPO5H7LdnpU5uycKFcUKbcLH1zRPF1ltA/ktumNu3RUl/RH3ZRSiJU +TY/sNswIFILnJjj2pKgdgrcYyl/Xkt0b7OBs89LfQLSY+NCCMrLjn9S8w/DkcH4VHWLGCxIM16CX +clMV/l69rh6CoDTN0RMOvRMQ34Kl+snRB72TWpL0d0noD/HsKaUQ6rbpEGTNsQhuu2xZJa+s2j3N +7p6WNlxYVpiw8GxMel2YUY/C2yO0dLXs/TgW9NrwC/H0Ir7vaVWPq/qqaXrVEt8WyekPesrg17rt +VD335sjCdYIhhUz4XASnYbhQM0piJjnuz/HHi8mJn6vkVsSiJLsdktulVg2d5EpmQWsJkxqpgLk8 +6ulBR9J6wub3ZLdJbtklw7gIqoB2Fz6HWtTkx11WIRVSvyLiX0oeGiQuVm6XZNfF6/RiEqHilzdH +0puG8LKoPUVtqppjt9ti+rxDJWQHlhEeIy0V/hbBZROP7qtnKYZxksTJMMWT34ilfJzATvzcRJ9j +sEwkO54y+k3uemrTluy65vdvY1ssV42Du48nRxmpkcl+z10HYtsR0ejF6yH7LWLRO/x2krS/T5Su +I5XNxbAvSROrBkHDsoMMCspn/7DoXZK/+64gMckBI+OnacsIdKMk5iL6xOZ3xcdHcjrltiJ3nZFC +MuJ7as/7lOGL1QgImRQZsBSMiIftNo+aMqqUDJIRE+z6JylaTZjSf+Mk9uKVGuHz32VpqIwkcUPG +yghlj+R+lvtJ5mQY02ka00eEliBznLE63QhxrVChVnP8o2ZoVf30TM2vjRSS/TTt8ZMZ8S+/znJX +XgRfbnu9bUfHldF/8vnQ3AYiQxiPzQQMGR5cUGBGv6hV3467RbBkx1Pxq58kzGrkQwZlR8wKTMvU +4vPdfft1RfHwJjfVxS/eOvCmify9ChKREdCfquM5BH31dOW2n6I9WqqQPC0o0Uivp2IYhtsjl/3T +sggYMTQqlCmGdTNc8dwkel2K3ZZu/xCjRWmGVXObwtcunx12y3sZ9iNIWtGcBFk4/fo9PXu27HgF +t6g2ZcWuaE1906zDL2XkQdlyqEVxpMASsAPGEDEmOUhWK1ahFVD/s+jqllm0TCUZBrEpaEVPcpti +NVLRLuyWU3DretvJRw9iRoUGNXrV78lNT6/6suPYTqeI/FL8/uoZU/qsIIFeoEaxGmbBKQkeq2I3 +pM959PSo52l2U35d9MYl+56CRJoZiVzuSjJDNuuUm00ROXB4QAIQMPH8p/QkuecXKlOPk5AYLcvb +xnI4KPjdAeYFhucwt92gl4LbHS8sO8CorIA8r9s+xbGHTX/QtNC8VClaxsGvH8HTaqLY8yS3N15S +TEIhkoq23rUEn1c8e4gdp+A01J6q2W3CBw4hYMSI7frJz69YkW6EqFqYQCl7rZOiZ0UvYIAigBCD +FMhIaQmtqYwJVINEFQNWqhFiYpH6nNYyhwrKCChAgRSw18vq9CLExaPlhAAvUsx4qVQwC0LJ3RxT +vFhAsKD5pChLZltAe8qvx1CBeChJuSh5RGn5Wc8eVsjscFFZ+fgumU3x2CI6reLrMj/v4uv/Saac +Sj/MkCETi7GoUiQfXkfL9utEcHvi4V9vazvtV88VkO/jJcUIGCpeSiCc/NpO+6AliX6jYBglxzJM +YDBQYjFIXK85/qBlf5KombXBUqLS9ZkkaxL0AcZkCBqWGicwGFXopNdzGYbks4lu+yaZkttWDbuE +ehmwFIpnh+04aJ73Vy0R/aEYtscvZeSJYaFaTKQYbsPyWtSqIxZt0TKlQIlOsSqC0Zceo/y5jEo0 +w8QFQ8TFpyirjmFCnhNef+FCtez4dcend9XNUEW0u5w++SnC8vfHSavHiAsm5JExgWhYpNU946W4 +wmuQq35SEuWiJ3wds2OTq6Jkdy9HU9y+dHqEt0tqqoL0KcFrXwxtb+vH8A5F3zxVpE4yq1TMpnnA +WjBQJpKa6p8nb1msdequG6lpS2mks60MfjFdbxmFZFAjGq9Ta3bxEXy7zLXTPMCIaQ== + + + YRILtatKdl+oQjZYohffXsluLYJvx5XaVQY12s2yN0kSvWaRAsmAlWi8SDEg/AS7KaNQilUKFb+p +l50xhXxI0ZIjxWRVvygffaTPRfi8RqwFs2fdFHXyC6VlLKdft4zy+zpeXFhOoyBqvDjCBowX0ghW +zyZ3Nb0qqU1PcZsS8lNCnh41ZYScGJBjpgeV2AoOs9yvCg73JagCxmoBCDQQhA0bMHtGgsbEAj3I +QGLFCo2oj8luKCV/M+QAAxIQAgpcQEVMZGUkchl5Uph+GjHTi5Xo5KpotkkBUyXBA4dJiGSLn4tu +Z0D5DxKUjJXox8iqh4nL9K48qIjhkSLF6r5D/DxF65TiBJo5eZroAeMBQPxY6fmuniemD4wpRFMC +pSB5TH68b02/PWG4vJrjF+RGPj0LymTC7dYdq4R4l5SoxaWCjUKx//e0LAufZ1YnGJRJZMdhuAzz +859NS3Crg6XkZ9GQnubhRcQAMVIoEWMGCJqVIViw5FgRIcmxS8drlIyYYhknP1O8nnjuHiawHCaw +EQ/eqyeqdVD+e0Vq1KpnUJvGdJuGVWIhfV53baJpHT1Zd4zy6WNKIJMeP8Hrn5b2CPqoeYJf3iRF +KkpyVTr0epOkIf00n76klklo2RdDWOuAUjNW03tJqp3OX5awOT7JaxXL+uTYr2ptmqtZzrGSEsNx +vNtUcDnGqyQj5FRDpLTEjBYH8BCjx4uJn56u27a77Se/kzxm+fArI1CLmCoGSYuF2zZZrqhUS/jg +IYLTJ/x80s80qf+IGDE+YFRG9nwvRyFesCjAjhsyLtWK6GPi3yWgXcUk2mGFzA4zMCUZ1tHyBOTT +oEQ2SFwqViQV3ILQ8pXTBfBxo4kgeFjVs4pHzyGiIqJlhMdIKodIqkVr1MLlPy1pVKIXsFOpTU/r +SYMC0SBpzaxGLkJQLynS52VNcQsEzYrJZw+1JygdTfSZBJdjc8sjBYsPGC5kiMBcsFQp+Y3hMYxu +XTI7YlEPOu4Qs+KAIoA43faITvs4edVgkWhEPEoOpwDhNKpPS499WMGyBA4aLyHQES9iIOCDjR4p +LhYmX0bEr1CVQCyqcgJFgABAtJhMLtmVAekyWKQXLVNJf7vs14OSnvUsQA8dR/T4YeJ1GyYtJGDA +KDGDhgE/bjTBw44Y1UllzzheVHK4wLRwfIX0C/EiRgkfOXC4pKxgnWyUvD5uulLyk2jx4mKVatVv +yud+8RLJeJVUQPyIr8+0UrD8nlGJZMBON0RSQKiMzHChRjy4p0VrEezhQiJD5SSF1ygjHwdKTAka +LJCAoQJGSwXT835NV1gnGi4pTPPMQvpdvFAwI4+rhkutinLZHy1dQjxoRfVydCmNDFADhocc+RFk +wa3KVV+y+6plz1mKG5A6DEv0fQS3Q2iYhJ6u1lk5Dd0yl/zOnESg04yzjgwVyQWL1CLyRXb5ZcTL +lDwuI09/lqn4rbuNxI6RiDHpISVGRAoVJFi07FiBjWDXk6Y7YmIWEAQQI/X0wRLbwRLyo2XkRwsJ +y+gTYtG+DD3ABBJE2LAximOUT7/DxCUEi5UmdpCRgQIEsYOKGBPspuj4CBswXkiileyO9HdMp1lA +PctH99FC8mLkZZOhSqifEVO5/PsMKH+xEsGYPCigHYb0y5B+kqv+K6pidXrhQtGwSjQu0g6XmErp +L9kyzM9lWCldRfsVjTGFaEp/ipD+ws8jvMzaa5H9Jrlsy2mkdzXxbxar0YuWyQSXX7Xr8uDxGboY +UYl4dP8k/zMcsV0eJikD5FAhBIwYFipQC6gXsV8lYMD00DKCws8rvg0T4lk+/EctYXx9AwbFteex +W5YJ9SE0nJpf0auqaLZFvyufHQiZlxcmJCos0gF+0BCChUyMEFaMVqkHi4iKVWmk12mklMhAOUkJ +fX7AoExgiB4K4KHHECxiXrRKLCDe054sqRABaLgo+UGuXNaBogoiZiSIlBcO10kEn0nvippdGbGU +S4gv0WcRG27FK2yfW7lsetcaJa0Z10p10zSuUY4VERsoIS9GXCyiP6TXVTjtAmXkBxk2Xrt+gBss +KuCjBhAnsRUjT+pdQ6gJSk0T2+1NcS/FlNAfgSF+wEMwRmwFAR5qBOFCQhPyR62qats2AB1ePL8A +IYQwCY3kLWu56ktmVfwbha9XgPbY7LZaZ/48Hy8pLaSSzH3259EgYbVolWJOn5TPvoegrHVSkD46 +TmAwOiat6ApuY/WrAtphRr+M6CexKeuWJ6AEEEHIaMGaZ5XLjuz1CF+j8HYMFolkz0PpuUPMio2X +SmR2T/SZ5cdLdrsvR98cXbhQqXcNyesfLyk7uJgcwEVMjRSIxH59dHxB7mWFqsGCUopfHSSuBNBg +McRLSQ5XKcaTl1Jz7rSTT48CCkxgZNdFqsnywZe4MROCByzxAQYsIcSKlxcd9+W4wrUCAQKWQMVw +CO3OMPkGeAHzA0pJbJbr8HO57AgbMIqY4WIGNVLZcderltbSBMSjpEQkpU9bhieXsZD+mdIHZbdn +Sp4dJq2V3ja9KeyOd5zEYDc9os84SFpMwEgRRAyKiD5/1vFEs572NMGsKW7hj/tbtUWICogYFB9W +RG7EUiL261lHFyoxE1xAAjReXkhAHhkSj4QLFR0pMRNfN8ltyE1LPnsSOGDwSBED42+XEb/iuWM1 +bMLbKL+uAvI9KzojJaTHCgmLRw+R25adNtFn1uyaZPbk10EuipffKmZfQP2OkdWOkJVMyH/Z8Auf +WUb/DZTXa69dux3i5zCpEYySl4sQlgqX6UT0o27YCBYrPUheKv1NcsupuB2xK2lNW5xAplYVrSlf +jjTo2SLIIiV6+ewilPSMoSg9P6fpIUffHHf0RDWtBDmhIwRFE9pL8jgXu5nrvB2ndpxdkquazkcS +9z4akceGCxWjX5FaklqUzTq216n8fQpVaSdDF9D+g0sIAWCs8PDyMtlpfvxmLptpqWyQAhIcoAce +YLTcgBwqYLRIIbm8ilm6016t05tjEjtwsJRIonNs4WsYqM8MiD+x6accS6ppg5wK6NOCtdpF8BWz +K/zM0ts1XqYTf/egJz6Go9f9EeNi4vH9kvSUIAtfw4h6lc9estcsnPbTkoS/dZTAWP69BasURIoU +HymwFs89I+pXoECu3dZZdMWqtKL0kfn3lz1fua0NfjHXifG0Src/bFpaVRmr0BABizqohDI11pQN +gATQQdAP8xEAADgQFAvE4kHRzDBj2j4UAASWeELsZNCCEMQgBgEAAAAAAACEAQEQnAFAAL4Fzlzs +k/DeZee7+vQ3Alpn9E6Z6dMH6Jc+ZSlfKWm/8rYZNh9t2KbUozimYYWViR5KqB1+Un1kGSA/CZXU +FlqqFagprUWCSPmKUtvMf7HS/HX7XkYVO0fjlnOdGjXXdWNZvfZ30KZEVdVSh1ebvrkcMDmCJTJa +Efl/kpiSTcRV1YkudZlIoPYTlVV3oleBJlKo4UQl1Z/oVcBEKjWcqKw6E30KNJFSDScqqu5ErwJN +pFKDicqqO9GrQBOp1XCigupO9BRoIqUaT1RQvYk+BZxIqYYTFVV3ok+BJlKo8URF1Z3oU+CJlGow +UVF1E30KOJFaDSYqqd5ErwJOpFTDiYqqN9GnABOp1XCioupN9CvgRAo1nKhQvYleBZ5IoUYTlVR3 +olcBJ1Kq4UQl1ZvoUeCJlGo4UUn1J3oVYCKlGiYqqe5EvwJMpFKjiYqqO9GrgBMp1WiikupM9Cvg +REo1mqisuhM9CjiRokYTFVV/okeBJlKp4URF1Z3oVcCJVGo0UUH1J3oVcCKVGk9UVJ2JXgVMpFLD +icqqM9GnQBMp1XCioupO9CrQRCo1mKisuhO9CjSRWg0nKqjuRE+BJlKq8UQF1ZvoU8CJlGo4UVF1 +J/oUaCKFGk9UVN2JPgWeSKkGExVVN9GnAOW4+okf0qaTaAirirCK9UfeKnf2ER8RTOxNZJqeV96g +0GhoRXWTOvAZparXP2gxcazC3od5x94rmLKnb4C0oDybUVaKRUIhwQOE0YMa4dW4CTQN/jdponwb +cB9bmKEv3qxk/Q5Y7WI0WwUhhlc10wQJDdI/BrlHunAFbinnnQCYqakJ3UIJzyPuDltncJk8OXEF +298Bufox2MhgvDrk2dais6euOnZM5lynsoV0zf1GfBZouwCjApQhNzfTpMzaABjx3NWQdSo8uq6v +NkkZwJWPTAiOiG5ImvYuW1nwkTIbuQ1m2kh7e7TBBEyAzuAw3OjzJVCtW2XQCOt3amFOvtPSF0an +VT4sUo3WEWvC9QQdooRZf2VSAt4s+VpjRLz3DvyjlglssrVLaMuWbpll4MqpUccUIA5VlpJPvAGE +rRBC5F7Fd8SQgQoxzLSXg3pVzNHGDYal/QREUheXLVvoTSfEACJwJKu7etATmPx18ZyAGu+FfFza +Y6EmAsviGksSFOlZli2gqaa6SUs5lukSnX2MJZeyJrTNDY9MjwmGwA1HWIYX415NjwoFmFDjDC+s +4iEcwbtHiLopBCmYYgeFPi7FNkyEuZjtycYDAGzUH/QfAUMdm+xZTo1TfJldUPpeFuzT3yocDJlZ +DgEWbJxXSKMJvCMmluJJInnbJs4DNrvVkZm5huuaCw6YSy7MWvRWVWgXuZGcuV9F0I2rDtgCzgFV +XuHzoWryL/OQwWjU/3WvbX+Ew9DxN53pHpviSPdZSOncqR/pYAg6BMa4sSZfMA50tenm11NRwRQQ +AMBNB/4dMKATJjvXDtnI0pjaWPTUDuqdyrbOgcPW4BwsEneENrvYgUZ7wGQf58hlsh5gr3yAGu8A +CDSFsm97QDPqrcPfAFtSXd4OlSihC0TmH8F8+3eJ69KITzuZU0ZNt4ju52oGF7i1rXtI7bxkD1Ch +okFufg3lAno7/Oo26fLJt1hw7rk5dIX9QYXsPTQgLDM8ORCrATblQ4lfwEHjQBw0qwa5SLG2KGQQ +iq3+BeUiCyFF5qpZ9WdSEDU8FRfExQRMd5e3txz+PkISQJcJu7X77h137U9GbIngBARFi8RXh7gB +gigH5RzOpF7wu2EcZtnbWFvGz0jigS20xNqzD3vR9yLIF4no7c8pBue0bmjrQqMmwgEdIkaNVvM5 +A7uDWQTgg7YTidBfGbZvFq8RIhRSFhdxBasUbfDXHdqozn5RnItlViv87yCxro9CC6ozvkCWgKzm +OXkuIboQ5RpGbfHGIJgDJxDYgSu6kTp6zq4Zs+MIaAR7rR2jlGRKcEwypBDlACOHv44bUXm8SwXS +Vn4znj5WGc1BA7Kt7kt0gC/xcWHenCApi5m0I15fsfG/un3c7y38pv40vB7C05ks1KGUrdE5ogQU +Vs4+xX0Et1hjmgOdLzsRxkTuwEoBUU2rCqtQI4dgVs/jCgcVrKAoeUqdHiperw73yImwTkrCdvxZ +TFBQMuGxsnTsf5A/ggmsNVRrTKJkbQulwKIohkaks3MX3YZ0FT53/IaqmdXBQ7HvOg== + + + MojXF2ARzQd6ZpgXmml4r35mXZJG3JaffqvbfAnYmUL818TP8iaxKdf/GExnlBzUZa8VgyRKlrrU +y6L2RfRhtbBtLBuELcuVruKBYLG1ipgD6E8/uVdh0sGUYpNSge6k6y1OygMjT0cZEVgdWNkppBcL +/uCBy1wAPEH6sZHJvwnvnDKG02vgUkL1BgnTV0Szys+G4kNgnyHNlhGHX7SGo6aJ9Ta6el3g+i1B +Rwv7QJ/6gBD/O5ZbArSzdM2V6F9IbD1alUJ/bxi8Qq7JN0jqrQXYp3SMUMlGUiyj1C6dVB+wdWoG +ffTxbFZnIDNq8m4kqGRhTkuw65qY5RsoMwJ7OsxRMnBTmDqQ1BFCDzKQFmCfG0UGF0EPNFSjgRI0 +jkSF/JU41BUxbs5SIq2sjbNKmidtdDDOIfLmQZKhpedCygADVR7ggmEOxK3QOP5lhPIQtoOWkk1p +JWTWaL4pPgGAP4XsYToTJ37KQbLNXG+Xka7OxZS6soqwA+NAeb5M+ZFB9pP/lir4jRUQqyTqc4K7 +QganbcriBjok6sgzI41OCkp1QwaSlxcBdNKr/toksJ+AWrVau3hYqnmaaTHqikuLOFCQviwjV8Ba +oqfLY6Qyg+zGZ5rX4RM620Jl3Msfn4J2W9ghhS3fEQPhjHSfgJgcqbr6mSAn5JIYOLe4DXCbBcyJ +BXmnFv5K/IgjAmLpM2UAWlz+n83uhm/B291Z6CaiYkYJQtQBBumv++SRczlqc3HT2HJ3kwwUTsZU +OUC8ncZCL5w6XCc0F6P3L3kSw0SwwRnizwiV/jdRlTV0/iso4A6CzJt8uFNTVsIBs0TIDQg5mc1D +EHeCGEm8Rw0ClOIMDOcp4t8LOC4kqXqEEqsq049f/iE3dVDEBezxylMrkp/9Lk6HBNtiJasxRbkX +cDXpvbOWvhfnVjdK47bSJ6N/xwtB0UgnuP691l+a3U/IdRke4nzRWuwUxJGO3H49M+bbP08KqJeP +oHkSMxp+EX4tS/ztmZvgAsIF6w9pX45YwQL0mG3TruD++shLIpmlBJyfRL/B1NgcGRAcbIDcS9aj +e8sXab/IBP5Qzk0KB8zuqpxdHpc4y5MgSCKYfpkSeJe1thG4qkwW+o59/UMAifm/JxHfZxYXW0iy +g2tmq9sT3SEzUcyhbQwCmV9C6LiDqIlwXnzHh7uCdSeVuWrz+tPGoI2Tx/FeJSJhY1h/mpx0iS8D +wkZ1XyIkvAQs1OGMkOtrlAn4spN+4RRnMFzSE+KtESFZAYx63XUuaPS+blvXbRmAPah8MRHOA0lw +nwUL6Qi8wFP2m9nEoR0ImzVNizXLJkqP4zOneArVC7O3U7zsnOA10+xvWmC9xOimht3tSZXtwbMK +4ltsBbSrMROPGiTlc7D/ubnsVhExjelh5C89L64GYFC7wloLgIZ2cpJsCfuvYACh8WkiQMfdFimT +TcESnhcscrXUvbG+0y9SPzvP0ThAUGp6w5//nm13fpAWgm/3/roKNAJ9RP9XzJz7ob4/Uc0iziYe +HdkQ9W+qARviGPtG6JBoipjfskklR17uLTcwLjkrNfRrVCXYh2BUkgJ/kMcGemqLEZbaJGFs/nGm +O2mWWZIAOH1iJquRiGMPSDY+L9zVzP4yD6DQ7ejXdNHxEeuvYgwhY6UYqOYSxw5wSjlgm/yHjCd4 +pLanoIiiaeF2rJZNqmL/J0OncvDlbnfLE+IokQHoGgV5+C/oFFMLDntNW+nWE7GR/nMDTEzk0Zn2 +KMgy/uXl2WArdbH9jZQfXsP3grz5XtCmUCVpUAFxUjHhYchO0QsrgZJp3E0sxsqXtjYxQeV/yLn0 +D9MTE7P7r+uXECi0HoWcbUWO7Xjsicco9fm9OWVhUgouO+bluSXKtJkAlfA38ZtjPTbVkr9Y8I1m +B8KGuksAF+CX05EzgjYpncaNv2yXDGvHqrMhh+4RMq1wXSYJpGg8cvbwUuIwRCE6TEi6ox6iJ+Dq +5y8D3ctkxrPd1tF4cUNkVU77l2wdxlg6OVKNvW0gpBGHFL/yBeSHU0NSeuQLzjuBVijiR/CbF2yg +qQ1nKBxps9zoR8bhuxlljEQPn7zqH6OnjfCcDA0ItPhUT2hxmir6ATOuS2VskrOBvIRvQ+6vA6ce +ElaD1M90YVGtKIoYBivx/SFYo7ggKa/ynhL/SnXGY20AKq56FnPsFHXcwphmBxON5YsL52mo9VOs +xFkNnd+1oikM54rg/vIIE+ooEXSGoRszHs7+V8+epJdxRQmuJ+yy161b1e6w4k+MZoyoKTJJ6+0q +mvy8b+M9GsLlla1OWhoZd2V2G2qQPWpKfdxEj9dUkF0BuTahgSw4SHbdTMS9zNgFGpFEDErsHJQE +0VNeC4TSbpLVBN6ovQIR5/e+LO/TwLg4Umu2QAS+BhiMM2om+tan7tJ6WFeJVJtxbbvK6V+11o6k +UUVx0Day6XhofTMvqFEBWpIuoYSa5dFYDWLPKX/G1C9TFKTrcd+pk+xTF+P3FK1zWvh0VOaZOwo1 +6lrTRe4mpSKJhCkaDLvC0nFhJpS1Fbe+QV7r3c1stmjaTUKUPmkc65rryo1TPt5kzUS2x7Z6ZxZ3 ++7RDWLF8ko7ZcC4GbQTaqAvqgyZNvdRpmiuVY0pA94txe8QSx2z1nNcAjp3wkSQWmfKB+vcszk9O +/YttxIxNRYYavsm4jRiXm1pdrIJTuGBU4MWXD9BuNi6myb01xDHRgK6AVhIedSu1kU93meT8H5Yf +WzhSC20PuNsNNrnNiySBr+ZWtVlUd8YD3oMxJK4JdzLNW6hjYxB/so3yVgPDBo6Ul46QF9nP6Hrb +15yPx2pYiPccyWDHkej28tQu0LQAX7hlPc3seigDS7BdiF8tgfLxQm7zRdy3y7Z7ZmNXER6tbOEr +PH6UNRAP2gHf2uYq/F5MzubnK717U0Tod1CP2UcSRpxdB9Kk/MqGReKsLTUxFLoV0fKXwspVf/FI +A1MTVH7NyO/A5eBBIXAAZF9lrp2UVj+e1pCkuBikXRO9EnV/cA/7u+xfJtMzHuIREi7Pugrya8bv +AkRhbxZ3aOGymcQCrF86Tm8ETKyK2YIKFw0uHHpmD8XIynULy+OcqJz/rLCrwrnRf/BgK4MUegSB +nKClyBZSimovV5gitks/v3QtWSSN70v6QHsH0sFQemkFZuqKmdh7QmGKLAy0eMgA3pxLycdbSvB7 +8x3Bjlp2XoSeVkBEoA9BnReXRhCFn/abcdyitEKpnI92QHkMTd9pFNZBsoFj3f/UlfIcSZsNXMD4 +Q2+P2krKAV4AGZ6wldwbMLBECRiSkekksq4shiCvgd0pQFxk6RfijRDrG+9gnXd0PxWAcdvrwhNl +TZL6OhZEiXxrJoWU5htEQucYrObq0fCDvixVxfIqrhJTiPkFWHrjFrqMwecPmWSNa/TZMkinJEGi +kcQLuoCmj1e5Z4zZTi5ETrxsUDfybl4v9hWKHRfhiHzFAOguA9EtPc1kKqrbGDp0bOPgOY+sN2bB +ZOdflOOMAu3zAEmzxq9pZlPYvkEKxBAb4HSEZGE0wzfW+bKIScu/HArotDr1s6E4AneVKmJZAapc +zwjRmBkjtbPrEsMdWRXydYXQrKBLKPG5twRlFjkVpihFkAYTnMqHB0L59h8MRzsP6pmu3kBiarNg +VEGqTt/jCjSBTQM5lntITFp7QagkVIPLL4Cuduh9XesmhCyqZiSMD6x1XQYdNsZtFxwOF3Z9EH+r +erC5i/ymsK6ko2eHfZaWgfUJM34NbQNVZGVEcN/cuxQtuNCKbDwd/V2Qos5Ngt6d/3m+CRnBCLby +bEEIM0ORRIMg6+HzuX1rZws3me9E5fC5fegpkYXGYrmvU9pyWF+gmNAjztOjnO5cp/sU2BfBfSci +XSy4VC71kkPA5CTFhZPvumanCvhw5WKN9oJwUCmhDHD/TkeKFU3RhfIppFQ5Jk/o4HEcSW1SY3iC +fFQqNHX7RfAdIKJ1Jj0p/can9YSkscRgoqZC04cH27mlq2rPWV8vJ1+fxQIdbpscpspmPiKFnKx9 +0BBcSrNIRyXfxAuULKhL+rxNhVJ2Zvkkvr8E1ITqwQW/IM23H4lbBzN+l8PZE6xiio8Oa5ArfdLL +TjU/nIGK6UOeaZLcDJJniNwZSNpmvL6x7d1PTlX7t5qeAr/is7LE02dNENOCZtYyYO5BvTnIOwKk +33DlCqK89MwYSTfhH41orMCxTMO0w/R4aMvmCZ2zW7mfqsCu9qE1ZVJ0xcYasc6oI677nDWRSWe0 +vyHmyyVbrgGQi5sCi3zS4g8z79UzZOloNp/iK24hVkGFhBGYauvOlHljG2l+FQRoLkGmR5gy3LQU +L9EkWADhBc0DVLPjNbMvyeQK2CK+xqZCIhY5Kl+VkoTI7E58OselgrIxhwSD3XqRRYJvqs4H6YfJ +c/wpszFDkmG57ZgHLiP8uFJm0b/yk/IngkGYd7Sams+Ow2zAdI9vwXTFyua0MCITXi1TxOsD/bK+ +bN51loctoE5gO+9H29h62QYczB/2PNtA+pyegfmApuuU4t0gEZGgK7mh7j+iwUGzDkecXKwfiZ4q +d/xrjYjvGjhXSPpWQyUCCbr9ahKpOf94abEl0oPGAIYgqD5FFZvBpo70xlw3oVxhpS4RMRJECsji +0gunADREmgl7CAQugIDv4C4jUpdtqna9xeJS2DeVLgNZHHljlHrMhCbPE33X+Ea4EkdDkVzNL/K0 +IZbgu0Fj6aeBLU2NL2PbejOYBnIqFbXRSjhkBORu/XAiqjj6k3JwwDCVb7IlhruES+nxiHSU5L+X +3+bLnTrSeyfVdVQ+93Hc2/HpstlPW8IxxXJjm0zPb0+WycFOuTNU0GxGx/g+HqIpkj/Dzk6Wovh4 +73rcOGDyhKCEcPxaaKMgk03qi5jU/D3kDhQOxkRXXAQ1BmUVpWX2q6OSaQNR05IaggEU/dnb+SHJ +OCg0y0CsD8APQrRE03oZzf4bzdaFVPDoN8OCGs7MhmryaXIwsTqMMMvKDmPnZ7lfbwPuRRxt+1Tk +/jQRxTcmATxKAeyyQn9zGnog77PnQWKe3WrOjQQQnpWfTQ8mAqABKNq0flaAABqd0s1wO/3hR4tm +EUoFELUilvNbaGz93ibSmlfe5CY9hcmtsORLP5TNb2K88RbeGcfCLCtJFIf8EtVlVN5g/UwU653s +fFeDyvhDqLFe9g7DGOnD9Ej4rCw2JdnEX2TdZva3FdKHdm8NjI1mWuq7bFMTIYbEVtmpiaET2CeF +3ysTVxbr9lcy/ciH1erl6UYyIE4NmJI+zfc7XIoxlHEunfSWsTgq7ZSEjGr8NVUw4mEvTGXtEQn5 +kIPrbh3Jy36VteBeEH1pDZN1rFGMfMojNQzjAGnNhqvO468nqSYbTkbycMNVQGmdaULA4V7CXRNS +PfPBEI3bpm0z3bV6fDnB1al3R0QMTIUvy3cizjemrvTm2HM47TeqFyUgv9U8KmoBpg== + + + b78cDlsnf0l+EZVMLtyYjiZOfVgD/cAAFWwIZtbh2d+KgGYijAsIY6ScENCyy9xVbuBx8/ohQMhj +0RHYvxxI4UAvbwa50abln7/BQfX+ENZ4CKfXEyIS1ZrKnc81AQ9agZV8wPY51fyiwRTDktHokRbo +72IC1BJpx7p6vBOPKsBTxrNLdNB6NF0PbfSSUBcDbqEvdg4DkFCN63kJuAKpqO9eHMiMRY4MHCoH +brFgXflerp/PD8gb2Erk7BtDfaCGrlHDqo9vQ95Gcm43WuizUGcG68udZ3xH3KUp9kPEqGRjudGa +e4WB4f+ROMXHopX9fQX3f2ZPazCJbisgVJ7c+GR+MXUHBRBqYx7jhTyiab6GI9p1SWyDkiaYR01B +rymzyZxoqlbN5Lp4NgGjDILueQ2buB84lRmH5tbbPt+6D0VLUAmMazrEAyqZlQ+bkARIEUOF1n/p +ETdZQ4JSOQVf3vhn0/4bfOcdDM2dojkUhqkYk8VTq/MgD5zk5iuf9Ec/gy8JDF3q68TUG6DOQ1YP +i3NVj853uV79DY87gPNtaQjXxNNcJ+o7hSEXh1/i7hkOGj2h6S+jr26FUZtVPU/UeHYHj/k3M/by +aJWHAiMwvettzPrfFh6wMR6uUjabGXQeJsQxMkMm1/mOe/bVeJM+HeGGyrX7WOVi8Qmy70Vl4Ee2 +bOnArUvO6RX8JfmrwOZj0udZsYnyQwdCMIh1hCNfRkJ+HaM7LCs6kaRzfkXKvvCss2uDYgTOUuo8 +EhDhwOw5xnbYFyeZGQG6kpTJ6NYsjkD4M6sIqx6gPJwFow3aTRxwDsVeKSmgdiECHmiXy1lde2+Q +S2VBAILkpkJdSwCm+xu5Oref470GEkakcFe5n0X28ls0SBxcV14tYBn2AUvP/buQ2QYKQHxYOhkx +Ad+QCIFxz2xaDJWS8G1HLM3PvClr4y4oXmBMn/9kV/FDz+qTRM46nGAvpIm1jEotjvfHnkHFyeRN +1+J1aUtKs0fENJPyBim+HVYW6IumSTgi3JF8HYPVmySY/YEy2yZEYAIosBbFW3lWIgl8HqGKmkx9 +bYIOErFQ8nWBUqk81zYdCHshPYJf7o7WEGjuJGzy/vWaPitRW/t5smEiOKAinYcdQYOooh1BBd8a +iG+T7rEdFnXhilxR1AAonyrFKK/WpGZSu0lbI1wVRozX+5vZAuegrVkyJQ4YYR53B5LUhrCi+I2f +06pj6eukWPdwb/fDTCyk4QD8nKETPNrrUz9+e25G1J0Dy7eaJwKEyOzOobEDeJ4L+eS7HSCkjiUx +g11MxURQ+rMxHP5TiR4RneZI04bRE68RiUcWa/d4KAk7mR3Lzr0QJqyhiHa8BaRFvI2VJdg6jVXk +AATFcnHvpLmTJaRrl+paYBW8jvVbkEtAVcyw+iKweL1Ejg99DfC2bmVxl/vbAM0w2w2iTjCYn1o6 +jIofx/eFxHXUxQWxTEOIggMwYh2ZLWTM8psOgcYSNam07dctq0xOhKkeeSD60020ndOLAZkCNmg/ +mJy+RflAqPbmaa9dlXzinprrRnf5TLqYggnigj7I9jT4ZXgAC+dRBycsnhZV3JRBv9dZIbRDzKKD +5kN5TQAhzQMeGjNpeq3tjaSZu1Md+tv3Btfst0C9B9EORxrW43W6fscgJEFVfGtJFmfMM71geDQq +hMp5IDjbXrQznHfL2RsGIKzcQipAMyy1kKUTGa6VN+ojIVkECWt8gBNe7w3tAcm26rqmuWf3L/Q+ +qRNj4AxvyQUcLTsm7FwJyEIHZAYA00UUPC4ygBkDQBlAi/22ab2PweP5TvM0H9OokNlp+l7G5ncV +sU2Tgo9T4DJ43PMydYzvuIyNy6ygoaGx6xuf2ekVerz3fR/j9I7HvL1iJlaxgicDISCxhDljhC+u +fCMNrk/PQY0E2KcmzEB5fVhLtHw6nTMnX1GyT0WAP5U0cwb4AXkT0AVAZkEDlztxh5UUtzN+CyUQ +XBSfOifd4NVpAaqnsOdnkjS2IrpE5nTtLn1qbGEFMgJuPekFTvSxT9Ygraexi3BmF8bC9YsNxAoA +Q0slOB/ve0/iut7j+W3TOX3nd33vPa/LOU/bKWhdRkVt7/pMCju2aXaZ2M5l8FjGXqEC13FdRc/n +OZ/juopej+sVfYp4Ba7jca6n2GN7BT2T4zS8nev3vue5ijufoXuaGZqZno71HZeJcz3H4xmaho57 +W8XMjdcy9YoZFSru/s7pGTre810mplFh43G+gufjWoZekfMp7po5IMGESYYIn3x37Sx2oIyA9QlJ +SHniDD4X1N9Drva9iLAdUKIACSUCm8EJVwCZHUCp6JO9BctAeTy/3WEEVeFgpw+BmgASqqjnz3Yb +c+8taPq3v4jTQu3tgNoX6e9VQElQw401Ki9OdP5gEySUcqDiEAlVAnJQOFdd7pcpod7G/b4itlHn +IFCU4gK+HLg+CQHUDJgABJDpYPrJGVyfbJDtZAE/T54BNUHgkwkY2UpPhcmpjcSnzoA0+ojP5wJ2 +9wocZgDEMhI5NzYyZGVlZS1lOTNiLTQzODAtOGI0OC0wY2E0ZjVjNmY1Y2RjZDgwNDNlNi00ODNj +LTQ3ZGUtYmNlOS1mOTBjZWI4YjBiOGQ0bWwxMFNWR0ZpbHRlcg0vIDoNL1hNTE5vZGU7ICh4bWxu +b2RlLWF0dHJpYnV0ZS9BcnJhY2hpbGRyZTIgL0ludG5vZGV0KDEwMCV2YWx1aG5hbTsgLHdpZHRo +eXl4eG9iamVjdGZBSV9faWRpZDJudW1PY3RhdmVzbm9TdGl0Y3NUaWwwLjBiYXNlRnJlcXVlbmN0 +dXJidWxlbmNyZXN1bHQxZmVUU291cmNlR3JhcGhpY2luaW4yb3BlQ29tcG9zaXQvRGVmIDs0NGZy +YWN0YWxOb2lzNDQtMnh4QUlfQmV2ZWxTaGFkb3dzdGREZXZpYmx1cjFHYXVzc2lhbkIyZGRvZmZz +ZXR5eTFPMihsaWdodGluZy1jb2xvcjp3aHN0eWxzcGVjT3VzdXJmYWNlMTBzcGVjdWxhckV4cG9u +ZW5Db25zdGEyKC0xMDAwLTV4eDJ6elBvaW50TDFTMjEyKGtrazMzYXJpdGhtZXRsaXQxMTEyMU1l +cmdlTm9kMTQxLXh4Q29vbEJyZWV6YWkxLnJhZGl1ZGlsYW9ycGhvbG9nMmJiLWQyMDFzM0F5Q2hh +bm5lbFNlbGVjUnhEaXNwbGFjZW1lbnRNYXAybm40bWF0cmkwIDAgMTFNNDUyKGFsd2F5cmVzdGFy +ZmZpbGw1ZHRvdG9saW5lYWNhbGNNZnJvbXJlYWRkaXRpdm5vbmNjdW11TjBiZWdhbmltY2M4Y2Nj +OGNjY2NjYzFjY2NjMjFiQUlfRF8zNjZFcm9kZXI2Nl9fN1BpeGVsUGxheTUwIDVSMnJlbW92MTEg +MTsyMCAxNTsyMDAgMjAwOyAxNSAyMDsxIDEgaW5kZWZpbnJlcGVhdERzcGxpZGQxYzEzM2syOzIw +IDIwO2RpZmZ1c2V5MjU7Z3JlZW47Ymx1ZTtpbmRpZ287dmlvbGV0O3JlZDtvcmFuNmVsZXYxOGF6 +aW11MURpRHIxMDJsMTAwNDQxMTAyg56ocq1GZkYAAAABBVIJAghmcBjlUStlgQ4SQFAYDMSwIMUg +CIAAAEAAAAQUAcYQQBACQABAMIUYMERqFSQOgEp9e/ewX9lKO2HBiIynuco2Sh1X8RhAVGmoy2T+ +9WlCpjcjQ1wymkiWRKvmp+hAYTS/xUEn6K6CSWdMSjSQgxv2yItrDrj8sRfDGoj7tE2vS1FG+z6f +Ayqo0K3O6ICVQCZIfNK+olp4e3ALFB2oXTqNaoxeyVu2wjWBBJ4iAwTqeg2MnGs8xcQa4MkNy094 +AE9AOt/pmICX0P+CQzr+Gm4/qZJ1Sr5HEEw1ig2rOCMnOnRYfR0wdYcrkn3D1upAB5qRvq0pJ72y +jHUXCPKiRg4ERL8tp2S9tP9OozeB7cUYmAiqrhhNLmH2FgGIOnMT6v7hiE1R98jvGxjOmU23Gqre +9TyHG0nWyHID6tlZabASCOoFh2AC42uxZ1qiF2xBSqQdP91diVdH0bhXDmohNdBt5eReLCSUcmDI +tLpLpEjL+lb7Yf8WfM4Lx4F8yUcPwCMCpI1UAymapeErW2Z6mZz/CiREFKE+2WqJ5xEPmYstXH30 +6IDxo+s9+iswuPV0BfKNaaOrBI1yaS3n8oB0abHyzPX7cRXo3LFNU+BGBLojKpvUeuZusGyxiUBb +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 +Z83eaE/fO8HUbPq5ju7Ekqd61CZciLJa0flmqncmqGWyxZe4o09ggWEBDBioQCECBAYUHDBBYYEh +AQhEAwxMYIFhARQwTNAABDCADFQwiknKG9G5LD2W36mmGtOaPU3n18VP/TK0UciJSSqff6PoRhNc +/odPKXzD+QkUIohAAgNyLzUBJn0reO8zWrkbsRXDFVlFahzdWsvFTNIVvlPKnE3N1XOyYevoFW6h +omqnaRozp6jOOFwm6+Y0JlXf8iCOFYrhjAN1t+VVn3jD2TsO2WpWvCPRZLrj8MtKRp0rHu/t4fYS +J65kjmCPg1xHVMUQU3JGuC1nexwwR645wvIcOU5UnhHOcZBLLE7NVc7mJG49lerI9TiYyhq1tq62 +ao7Dql7LSDUh/+Yi7xgWDyYOI6OhHV1HMHcOvHPv7RFmZj4+IB8bXZpHznpTZQ/fEf1uLSsKK5Lq +6Gzfjk7qyHFItZtSeyR1PmJ7ypysvKQ8gvtLIAJISKjwgDQ4BSwUECJUgJCvBxIqPCDBBAkNDEUD +eldeknvMzLsbRSLetV11vnVTNT/nZV0r1EqpqzrGvGPtRbT/RnGjOL5WMzHQqhzINA== + + + RKxBw7VbBePwu7KPCGBtdXdV1acBh9Cz0prrqi/VJJXa1+4NRVHlzn93fHd3iQ22f8N/+Wwo0J73 +rKvCaqupqoYrzBycvxpubGZkdzOzu9O7y7O6ns3MikXMzDxlZt6dMvOUiYeKhg1sL0Q8/kf86/4r +1eup3t0RD3/ZlKeqp6r6356WmZRoT0t7Y9ozcykvU+2qpqd3Pe3Eu7wi5WXeO6s18575/z9D1NbL +3fcVH79+a6hUav3atDQ0s7Q0MzMzQzMzMzM0MzNDQzOzNEtLszRLy7S0NEszS0tLS7v/7v67tkNV +u9K+zczuWkOtu2NOZmTjIm3P2u5u9+5Wb++OEJHz7BqQ7hruuBdRZDImUm42JGZnWyZSZlJm6iVl +ZhbJlJlpx2Ej1MuGUzx8qx7rDerveqqXO4Rn42pYwhvUO/zl/a1Whbxszzvr5+pysnVTWaWVtlXt +dSP/iIjXEyI+EVF1j07t+I7PGP9iY0MlS8YxVr0GszZku3FWLzY23nJjZidnLo5io52RkZH4kJAJ +l5GRkdEQkYd5hDszG7FRCbsRG/uSsLGxsLGwMRsJ0aaV8LBOVVlYtnWT8/Zeor7bdrDI67u747tN +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 +Fc97CyrMyhu6gr5PMiJ+adApdotS0zw3HOlp7mr8yL6nYymE6YXXJNY0+RYUb8hJweGeHDFZvSmv +92hOws8uEfPkZPwLNnYnAFbo5Ka3fNF7PsHenZuduBIbnDOzBOYAiZ0CKq0AA+Sf8N0mT6LFt4NV +M6s/ohMhCzhoyQ2RBRbJlb5vV6X/DmSv59yqldb8GshQQmPPARmcxj2E7GhY4GFC6FJy9yPJb7Eh +YXyWcE/StoSaTgr7JHASK0fAcK/cCMDBVCTV9vpDOIpJjpSNegP+aeuFGsWvEW0Fz2zuW2Xd8bkj +DO8fql16mHcsy1R4B/GfXHndpN+FaZx+J33aehZOUOikxTynGhyrnk8z9qHBBJ8lsGcNXAsIuD33 +ZNCVQwYk68rQ+FiMJgD60yAgvkeLGB0r+PN1wkbu6r2Dd8+p9OrPv4dZmkCEdo29nX5obgiNatIK +NnoQejuKLajR9QiNdYWMCTHRzHCm0IflZEPzX6GO0HAWrCAajUZueunwtu8R+bcM4d1aqRHPUGP5 +VSR8Ax9WABaGELtUNCmN1aYTbqhUI15rP3tgB1ZgG2N2NwATsZ2VJRWWHrOd/In59AJEaQOatSqH +KZAATO3e7xZoAWeENYw+64pjIO4cjBr/tWQ32eqNxtEmEgEAQIhEAAABdwdQCOkI+ebuv5fv7Rvv +7DXOv+/L8c3954uzxvzi7qlCGb7ec629nL+//uLrfeY7e9djzv3VH29v8+7/35d7uGvsddzx1r/n +jLffHH+P6659zl973t6fa3/1xp7z/7PHnP/+9dV9392567mb8fYZ36u7p3XX+GMPX6/rvHuvgCzn +V3eNt8473+15/r1vrXX3/P+cu5/r7vPtev+9dfc539w59i7ml+/sMf65a8w53xWQvZvvjv++F2eO +98Zf78rJ8pwv7vdr7vJ7u/756pwzz1zWu99+M788c461x/fNPPN9ufc/xph3rvu/+F+Oa10BIffj +jPPH2uM+c72/x5x7unfs/a+93vhy12rvendrnC/PmnuXw57nfP+/7+Z8e47nioHl+eZ88+YqJ8sv +5vl2fX/uXtZ4Y609T1/9L8/c2/9z77fum3vP+/a8XTlZ7j3M8dv99b73t9eca4+9n++unOz1bs/X +4//vjT3PL9b78tu7/7h7z3Pec9f7Gl99ude6ArL3V0AIz/l6W3v949uz93u+nv//crw5xnhrzb3v +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 +ysG8YVzK+TyYwYicqrI/8g0= + + + diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json new file mode 100644 index 000000000..9360789a1 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json @@ -0,0 +1,938 @@ +{ + "attributes": { + "description": "Dashboard providing statistics about file type indicators from the Anomali integration", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "threat.indicator.type", + "negate": false, + "params": { + "query": "file" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "threat.indicator.type": "file" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": [ + "ti_anomali.limo", + "ti_anomali.threatstream" + ], + "type": "phrases" + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.limo" + } + }, + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.threatstream" + } + } + ] + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n**[Anomali Files (This Page)](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020)** \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **file** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + }, + "type": "visualization" + }, + "gridData": { + "h": 33, + "i": "1bd7687a-adf0-44f3-8901-c6b12861d90d", + "w": 7, + "x": 0, + "y": 0 + }, + "panelIndex": "1bd7687a-adf0-44f3-8901-c6b12861d90d", + "type": "visualization", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-87bddc0a-425f-4285-8f79-be027a93a959", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "87bddc0a-425f-4285-8f79-be027a93a959": { + "columnOrder": [ + "08e77c71-b1f6-4148-bf4a-bdd39f116a3e" + ], + "columns": { + "08e77c71-b1f6-4148-bf4a-bdd39f116a3e": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "anomali.threatstream.state: \"active\" " + }, + "isBucketed": false, + "label": "Active", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "08e77c71-b1f6-4148-bf4a-bdd39f116a3e", + "layerId": "87bddc0a-425f-4285-8f79-be027a93a959", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "6d74f2e2-daf7-4179-9f87-0543253de626", + "w": 6, + "x": 7, + "y": 0 + }, + "panelIndex": "6d74f2e2-daf7-4179-9f87-0543253de626", + "title": "Active Files [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-f5a3f98d-a2a1-4ec9-9c53-b77548cd50ae", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "f5a3f98d-a2a1-4ec9-9c53-b77548cd50ae": { + "columnOrder": [ + "11748ed5-b26f-46e2-ab60-02d08d54c0eb" + ], + "columns": { + "11748ed5-b26f-46e2-ab60-02d08d54c0eb": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "anomali.threatstream.state: * and not anomali.threatstream.state: \"active\"" + }, + "isBucketed": false, + "label": "Inactive", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "11748ed5-b26f-46e2-ab60-02d08d54c0eb", + "layerId": "f5a3f98d-a2a1-4ec9-9c53-b77548cd50ae", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "e20ccd15-7449-492d-be61-a474d10cfabb", + "w": 6, + "x": 13, + "y": 0 + }, + "panelIndex": "e20ccd15-7449-492d-be61-a474d10cfabb", + "title": "Inactive Files [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-b287f02e-afeb-44ac-86c3-d1e3146c9f20", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "b287f02e-afeb-44ac-86c3-d1e3146c9f20": { + "columnOrder": [ + "35782be6-2bf2-4270-a8d7-4398103dac80" + ], + "columns": { + "35782be6-2bf2-4270-a8d7-4398103dac80": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique SHA256", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.file.hash.sha256" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "35782be6-2bf2-4270-a8d7-4398103dac80", + "layerId": "b287f02e-afeb-44ac-86c3-d1e3146c9f20", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "bc2edce5-01f9-4e47-9b52-1a1dad6958c0", + "w": 7, + "x": 19, + "y": 0 + }, + "panelIndex": "bc2edce5-01f9-4e47-9b52-1a1dad6958c0", + "title": "Unique SHA256 [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-fcf982ec-ba1f-473d-b92a-691b1cdadf7b", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "fcf982ec-ba1f-473d-b92a-691b1cdadf7b": { + "columnOrder": [ + "eae8b738-1d51-4fb9-b04f-b0cd4e35f47d" + ], + "columns": { + "eae8b738-1d51-4fb9-b04f-b0cd4e35f47d": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique SHA512", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.file.hash.sha512" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "eae8b738-1d51-4fb9-b04f-b0cd4e35f47d", + "layerId": "fcf982ec-ba1f-473d-b92a-691b1cdadf7b", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "07ba9d35-2423-4793-9eed-997e86d1d1ac", + "w": 7, + "x": 26, + "y": 0 + }, + "panelIndex": "07ba9d35-2423-4793-9eed-997e86d1d1ac", + "title": "Unique SHA512 [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-e11a6974-ae88-479e-9fca-8615b7f454da", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "e11a6974-ae88-479e-9fca-8615b7f454da": { + "columnOrder": [ + "3475c1c7-964f-44a2-a554-d7ff067446e9" + ], + "columns": { + "3475c1c7-964f-44a2-a554-d7ff067446e9": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique MD5", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.file.hash.md5" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "3475c1c7-964f-44a2-a554-d7ff067446e9", + "layerId": "e11a6974-ae88-479e-9fca-8615b7f454da", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "c3e37351-081e-4e18-b134-2e51bae9b53a", + "w": 7, + "x": 33, + "y": 0 + }, + "panelIndex": "c3e37351-081e-4e18-b134-2e51bae9b53a", + "title": "Unique MD5 [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-be91741d-d94d-404f-9549-a0b96c92d2d0", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "be91741d-d94d-404f-9549-a0b96c92d2d0": { + "columnOrder": [ + "074c9303-a56e-4db0-bddb-461819a9504c" + ], + "columns": { + "074c9303-a56e-4db0-bddb-461819a9504c": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique SHA1", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.file.hash.sha1" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "074c9303-a56e-4db0-bddb-461819a9504c", + "layerId": "be91741d-d94d-404f-9549-a0b96c92d2d0", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "848432ac-28c9-4b18-b504-ac2cdbaa20c9", + "w": 7, + "x": 40, + "y": 0 + }, + "panelIndex": "848432ac-28c9-4b18-b504-ac2cdbaa20c9", + "title": "Unique SHA1 [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-08036a92-d500-4966-98ca-feff7f9ecb36", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "08036a92-d500-4966-98ca-feff7f9ecb36": { + "columnOrder": [ + "99f24050-c517-46ff-85b1-f3ceea4c9e15", + "67920793-58db-49b6-aca9-273945fffbce" + ], + "columns": { + "67920793-58db-49b6-aca9-273945fffbce": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "99f24050-c517-46ff-85b1-f3ceea4c9e15": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of threat.indicator.confidence", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "67920793-58db-49b6-aca9-273945fffbce", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.confidence" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "08036a92-d500-4966-98ca-feff7f9ecb36", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "auto", + "metrics": [ + "67920793-58db-49b6-aca9-273945fffbce" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "99f24050-c517-46ff-85b1-f3ceea4c9e15" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 25, + "i": "664c2738-9f69-401c-af55-42f50aabb9c5", + "w": 16, + "x": 7, + "y": 8 + }, + "panelIndex": "664c2738-9f69-401c-af55-42f50aabb9c5", + "title": "Confidence Levels [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-0e4aff17-8462-40ed-a84b-8de853628b96", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-014a03d0-3a35-4aad-bd2d-d8380365070b", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "014a03d0-3a35-4aad-bd2d-d8380365070b": { + "columnOrder": [ + "5e92fb09-af89-494a-b0a1-736b4cebc269", + "5731c84c-3f1e-410a-8638-212b04df7d78" + ], + "columns": { + "5731c84c-3f1e-410a-8638-212b04df7d78": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Last Seen", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.last_seen" + }, + "5e92fb09-af89-494a-b0a1-736b4cebc269": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + }, + "0e4aff17-8462-40ed-a84b-8de853628b96": { + "columnOrder": [ + "4ff561b6-7ec6-433e-8023-572ef88eab9d", + "2d0d9d07-5f5d-42a0-97ba-03899f504862" + ], + "columns": { + "2d0d9d07-5f5d-42a0-97ba-03899f504862": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "First Seen", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.first_seen" + }, + "4ff561b6-7ec6-433e-8023-572ef88eab9d": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "2d0d9d07-5f5d-42a0-97ba-03899f504862" + ], + "layerId": "0e4aff17-8462-40ed-a84b-8de853628b96", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "xAccessor": "4ff561b6-7ec6-433e-8023-572ef88eab9d" + }, + { + "accessors": [ + "5731c84c-3f1e-410a-8638-212b04df7d78" + ], + "layerId": "014a03d0-3a35-4aad-bd2d-d8380365070b", + "layerType": "data", + "seriesType": "line", + "xAccessor": "5e92fb09-af89-494a-b0a1-736b4cebc269" + } + ], + "legend": { + "isVisible": true, + "legendSize": "auto", + "position": "right" + }, + "preferredSeriesType": "line", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 25, + "i": "c9a937ea-517a-40b0-aba5-75d2611ae760", + "w": 24, + "x": 23, + "y": 8 + }, + "panelIndex": "c9a937ea-517a-40b0-aba5-75d2611ae760", + "title": "Indicators First and Last Seen [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + } + ], + "timeRestore": false, + "title": "[Logs Anomali] Files", + "version": 1 + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:57.912Z", + "id": "ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020", + "migrationVersion": { + "dashboard": "8.7.0" + }, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6d74f2e2-daf7-4179-9f87-0543253de626:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6d74f2e2-daf7-4179-9f87-0543253de626:indexpattern-datasource-layer-87bddc0a-425f-4285-8f79-be027a93a959", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e20ccd15-7449-492d-be61-a474d10cfabb:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e20ccd15-7449-492d-be61-a474d10cfabb:indexpattern-datasource-layer-f5a3f98d-a2a1-4ec9-9c53-b77548cd50ae", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "bc2edce5-01f9-4e47-9b52-1a1dad6958c0:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "bc2edce5-01f9-4e47-9b52-1a1dad6958c0:indexpattern-datasource-layer-b287f02e-afeb-44ac-86c3-d1e3146c9f20", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "07ba9d35-2423-4793-9eed-997e86d1d1ac:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "07ba9d35-2423-4793-9eed-997e86d1d1ac:indexpattern-datasource-layer-fcf982ec-ba1f-473d-b92a-691b1cdadf7b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c3e37351-081e-4e18-b134-2e51bae9b53a:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c3e37351-081e-4e18-b134-2e51bae9b53a:indexpattern-datasource-layer-e11a6974-ae88-479e-9fca-8615b7f454da", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "848432ac-28c9-4b18-b504-ac2cdbaa20c9:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "848432ac-28c9-4b18-b504-ac2cdbaa20c9:indexpattern-datasource-layer-be91741d-d94d-404f-9549-a0b96c92d2d0", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "664c2738-9f69-401c-af55-42f50aabb9c5:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "664c2738-9f69-401c-af55-42f50aabb9c5:indexpattern-datasource-layer-08036a92-d500-4966-98ca-feff7f9ecb36", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c9a937ea-517a-40b0-aba5-75d2611ae760:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c9a937ea-517a-40b0-aba5-75d2611ae760:indexpattern-datasource-layer-0e4aff17-8462-40ed-a84b-8de853628b96", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "c9a937ea-517a-40b0-aba5-75d2611ae760:indexpattern-datasource-layer-014a03d0-3a35-4aad-bd2d-d8380365070b", + "type": "index-pattern" + }, + { + "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-managed-default", + "name": "tag-ref-fleet-managed-default", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "name": "tag-ref-fleet-pkg-ti_anomali-default", + "type": "tag" + } + ], + "type": "dashboard" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json new file mode 100644 index 000000000..2ce55dff3 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json @@ -0,0 +1,830 @@ +{ + "attributes": { + "description": "Dashboard providing statistics about URL type indicators from the Anomali integration", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": [ + "ti_anomali.limo", + "ti_anomali.threatstream" + ], + "type": "phrases" + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.limo" + } + }, + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.threatstream" + } + } + ] + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "threat.indicator.type", + "negate": false, + "params": { + "query": "url" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "threat.indicator.type": "url" + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n**[Anomali URLs (This Page)](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020)** \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **URL** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + }, + "type": "visualization" + }, + "gridData": { + "h": 37, + "i": "b7e43e7b-9f77-4c99-a68c-a2e0588a1746", + "w": 7, + "x": 0, + "y": 0 + }, + "panelIndex": "b7e43e7b-9f77-4c99-a68c-a2e0588a1746", + "type": "visualization", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-c5d7e866-9673-4d61-8420-73f253f3708b", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "c5d7e866-9673-4d61-8420-73f253f3708b": { + "columnOrder": [ + "e4aa603a-7867-4b27-b806-99152d2fef81" + ], + "columns": { + "e4aa603a-7867-4b27-b806-99152d2fef81": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique Domains", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.url.domain" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "e4aa603a-7867-4b27-b806-99152d2fef81", + "layerId": "c5d7e866-9673-4d61-8420-73f253f3708b", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "88ee89f5-502e-44aa-93ef-fc1af8684fe0", + "w": 6, + "x": 7, + "y": 0 + }, + "panelIndex": "88ee89f5-502e-44aa-93ef-fc1af8684fe0", + "title": "Unique Domains [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-cc619527-1f00-4919-a5a3-512d90ac0452", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "cc619527-1f00-4919-a5a3-512d90ac0452": { + "columnOrder": [ + "fc976f3c-3e2c-4ac7-aed6-99b26b995153" + ], + "columns": { + "fc976f3c-3e2c-4ac7-aed6-99b26b995153": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "anomali.threatstream.state: \"active\" " + }, + "isBucketed": false, + "label": "URL's Active", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "fc976f3c-3e2c-4ac7-aed6-99b26b995153", + "layerId": "cc619527-1f00-4919-a5a3-512d90ac0452", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "e928abaa-186a-4917-bc20-a749527acb18", + "w": 6, + "x": 13, + "y": 0 + }, + "panelIndex": "e928abaa-186a-4917-bc20-a749527acb18", + "title": "URLs Active [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-a37deb72-83d2-485b-8b8c-a3351feba020", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "a37deb72-83d2-485b-8b8c-a3351feba020": { + "columnOrder": [ + "02535cee-7d24-463b-963b-90c38a8269d8" + ], + "columns": { + "02535cee-7d24-463b-963b-90c38a8269d8": { + "customLabel": true, + "dataType": "number", + "filter": { + "language": "kuery", + "query": "anomali.threatstream.state: * and not anomali.threatstream.state: \"active\" " + }, + "isBucketed": false, + "label": "URL's Inactive", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "02535cee-7d24-463b-963b-90c38a8269d8", + "layerId": "a37deb72-83d2-485b-8b8c-a3351feba020", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "a8d31131-9e82-46c9-99e4-c9f9c050ee9c", + "w": 6, + "x": 19, + "y": 0 + }, + "panelIndex": "a8d31131-9e82-46c9-99e4-c9f9c050ee9c", + "title": "URLs Inactive [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-66fe853f-f5ce-4b8d-a8f9-74045fb8ca6e", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "66fe853f-f5ce-4b8d-a8f9-74045fb8ca6e": { + "columnOrder": [ + "afa8759e-3b03-4c1a-9411-b4c4fe3fb423" + ], + "columns": { + "afa8759e-3b03-4c1a-9411-b4c4fe3fb423": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Providers", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.provider" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "afa8759e-3b03-4c1a-9411-b4c4fe3fb423", + "layerId": "66fe853f-f5ce-4b8d-a8f9-74045fb8ca6e", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "49b4bbf6-4445-495e-aa36-35ff50877eae", + "w": 6, + "x": 25, + "y": 0 + }, + "panelIndex": "49b4bbf6-4445-495e-aa36-35ff50877eae", + "title": "Provider Count [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-f119e9a6-4546-4496-8a01-4476e87cf3bc", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "f119e9a6-4546-4496-8a01-4476e87cf3bc": { + "columnOrder": [ + "eb218bc5-0828-4ca9-90c8-05de914ecec6", + "066e1f1c-655e-495e-8cf2-37bf61f81fba" + ], + "columns": { + "066e1f1c-655e-495e-8cf2-37bf61f81fba": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "eb218bc5-0828-4ca9-90c8-05de914ecec6": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of threat.indicator.geo.country_iso_code", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "066e1f1c-655e-495e-8cf2-37bf61f81fba", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.geo.country_iso_code" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "f119e9a6-4546-4496-8a01-4476e87cf3bc", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "auto", + "metrics": [ + "066e1f1c-655e-495e-8cf2-37bf61f81fba" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "eb218bc5-0828-4ca9-90c8-05de914ecec6" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 23, + "i": "ba4f9967-a4e1-4f85-9fea-0a383cc9ac4f", + "w": 17, + "x": 31, + "y": 0 + }, + "panelIndex": "ba4f9967-a4e1-4f85-9fea-0a383cc9ac4f", + "title": "Top Countries [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-a3c97e09-a95d-4baa-8552-2b0c252d995c", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "a3c97e09-a95d-4baa-8552-2b0c252d995c": { + "columnOrder": [ + "cfb90886-11d3-471e-97be-01378e9d5105", + "2486505b-3319-4955-9bd6-d035d9631f7d" + ], + "columns": { + "2486505b-3319-4955-9bd6-d035d9631f7d": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "cfb90886-11d3-471e-97be-01378e9d5105": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Domains", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "2486505b-3319-4955-9bd6-d035d9631f7d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 20 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.url.domain" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "cfb90886-11d3-471e-97be-01378e9d5105", + "isTransposed": false + }, + { + "columnId": "2486505b-3319-4955-9bd6-d035d9631f7d", + "isTransposed": false + } + ], + "layerId": "a3c97e09-a95d-4baa-8552-2b0c252d995c", + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 29, + "i": "a3f75519-9e37-4548-b60c-e340d1c5f8f7", + "w": 24, + "x": 7, + "y": 8 + }, + "panelIndex": "a3f75519-9e37-4548-b60c-e340d1c5f8f7", + "title": "Most Popular Domains [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-4bfa54f0-5fae-41ff-a5e6-d10e2f9ed564", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "4bfa54f0-5fae-41ff-a5e6-d10e2f9ed564": { + "columnOrder": [ + "518ee324-e4ed-4eb7-b4fb-0e964204bfc0", + "a527fe96-066a-448e-91c8-348993d78b91" + ], + "columns": { + "518ee324-e4ed-4eb7-b4fb-0e964204bfc0": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of threat.indicator.url.scheme", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "a527fe96-066a-448e-91c8-348993d78b91", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.url.scheme" + }, + "a527fe96-066a-448e-91c8-348993d78b91": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "4bfa54f0-5fae-41ff-a5e6-d10e2f9ed564", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "auto", + "metrics": [ + "a527fe96-066a-448e-91c8-348993d78b91" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "518ee324-e4ed-4eb7-b4fb-0e964204bfc0" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 14, + "i": "92c66617-cd3f-4a06-8534-52fe3c968559", + "w": 17, + "x": 31, + "y": 23 + }, + "panelIndex": "92c66617-cd3f-4a06-8534-52fe3c968559", + "title": "URL Schemes [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + } + ], + "timeRestore": false, + "title": "[Logs Anomali] URL", + "version": 1 + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:57.912Z", + "id": "ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020", + "migrationVersion": { + "dashboard": "8.7.0" + }, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "88ee89f5-502e-44aa-93ef-fc1af8684fe0:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "88ee89f5-502e-44aa-93ef-fc1af8684fe0:indexpattern-datasource-layer-c5d7e866-9673-4d61-8420-73f253f3708b", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e928abaa-186a-4917-bc20-a749527acb18:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "e928abaa-186a-4917-bc20-a749527acb18:indexpattern-datasource-layer-cc619527-1f00-4919-a5a3-512d90ac0452", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "a8d31131-9e82-46c9-99e4-c9f9c050ee9c:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "a8d31131-9e82-46c9-99e4-c9f9c050ee9c:indexpattern-datasource-layer-a37deb72-83d2-485b-8b8c-a3351feba020", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "49b4bbf6-4445-495e-aa36-35ff50877eae:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "49b4bbf6-4445-495e-aa36-35ff50877eae:indexpattern-datasource-layer-66fe853f-f5ce-4b8d-a8f9-74045fb8ca6e", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ba4f9967-a4e1-4f85-9fea-0a383cc9ac4f:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ba4f9967-a4e1-4f85-9fea-0a383cc9ac4f:indexpattern-datasource-layer-f119e9a6-4546-4496-8a01-4476e87cf3bc", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "a3f75519-9e37-4548-b60c-e340d1c5f8f7:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "a3f75519-9e37-4548-b60c-e340d1c5f8f7:indexpattern-datasource-layer-a3c97e09-a95d-4baa-8552-2b0c252d995c", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "92c66617-cd3f-4a06-8534-52fe3c968559:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "92c66617-cd3f-4a06-8534-52fe3c968559:indexpattern-datasource-layer-4bfa54f0-5fae-41ff-a5e6-d10e2f9ed564", + "type": "index-pattern" + }, + { + "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-managed-default", + "name": "tag-ref-fleet-managed-default", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "name": "tag-ref-fleet-pkg-ti_anomali-default", + "type": "tag" + } + ], + "type": "dashboard" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json new file mode 100644 index 000000000..dcb7525c4 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json @@ -0,0 +1,862 @@ +{ + "attributes": { + "description": "Dashboard providing statistics about other types of indicators from the Anomali integration like email and IP", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": [ + "ti_anomali.limo", + "ti_anomali.threatstream" + ], + "type": "phrases" + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.limo" + } + }, + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.threatstream" + } + } + ] + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "threat.indicator.type", + "negate": true, + "params": [ + "url", + "file" + ], + "type": "phrases" + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "threat.indicator.type": "url" + } + }, + { + "match_phrase": { + "threat.indicator.type": "file" + } + } + ] + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n**[Anomali Other Indicators (This Page)](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)**\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about all other indicators except file and URL ingested from the Anomali integration, showing statistics and general information about all relevant indicators. This includes email, IP and domain type indicators.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + }, + "type": "visualization" + }, + "gridData": { + "h": 43, + "i": "7c3b21d7-cfe8-41c2-89c8-bdb5a78fe47a", + "w": 7, + "x": 0, + "y": 0 + }, + "panelIndex": "7c3b21d7-cfe8-41c2-89c8-bdb5a78fe47a", + "type": "visualization", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-dfdae375-629d-49ad-b37a-66d77c3f38b7", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "dfdae375-629d-49ad-b37a-66d77c3f38b7": { + "columnOrder": [ + "a160b4d5-ef36-4886-844b-159030642324" + ], + "columns": { + "a160b4d5-ef36-4886-844b-159030642324": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique IP's", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.ip" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "a160b4d5-ef36-4886-844b-159030642324", + "layerId": "dfdae375-629d-49ad-b37a-66d77c3f38b7", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 7, + "i": "4cd050c7-caea-4c60-a581-955f0f5f9c49", + "w": 6, + "x": 7, + "y": 0 + }, + "panelIndex": "4cd050c7-caea-4c60-a581-955f0f5f9c49", + "title": "Unique IPs [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-ae2be882-73dd-463a-9a1d-1660c611d292", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "ae2be882-73dd-463a-9a1d-1660c611d292": { + "columnOrder": [ + "5773f11c-f2d6-4467-81c2-1be0325c7ace" + ], + "columns": { + "5773f11c-f2d6-4467-81c2-1be0325c7ace": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique Emails", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.email.address" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "5773f11c-f2d6-4467-81c2-1be0325c7ace", + "layerId": "ae2be882-73dd-463a-9a1d-1660c611d292", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 7, + "i": "f3d04a3a-0bfa-4460-af54-08fea317756c", + "w": 7, + "x": 13, + "y": 0 + }, + "panelIndex": "f3d04a3a-0bfa-4460-af54-08fea317756c", + "title": "Unique Emails [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-7e5894b7-2ce6-439b-81b7-18cd6acdc0dd", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "7e5894b7-2ce6-439b-81b7-18cd6acdc0dd": { + "columnOrder": [ + "a2682d1f-8a12-4033-8444-185f7bce5d97" + ], + "columns": { + "a2682d1f-8a12-4033-8444-185f7bce5d97": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Unique Domains", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "threat.indicator.url.domain" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "a2682d1f-8a12-4033-8444-185f7bce5d97", + "layerId": "7e5894b7-2ce6-439b-81b7-18cd6acdc0dd", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 7, + "i": "054ec96d-8e77-425c-9d79-adbfd3f7e28b", + "w": 7, + "x": 20, + "y": 0 + }, + "panelIndex": "054ec96d-8e77-425c-9d79-adbfd3f7e28b", + "title": "Unique Domains [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-f5c8665b-d765-481a-8006-206fa0718a58", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "f5c8665b-d765-481a-8006-206fa0718a58": { + "columnOrder": [ + "2ef98406-f729-4988-b927-615a2071b945", + "f3d622d5-c221-49b4-bf80-33543307c23d" + ], + "columns": { + "2ef98406-f729-4988-b927-615a2071b945": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of threat.indicator.marking.tlp", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "f3d622d5-c221-49b4-bf80-33543307c23d", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.marking.tlp" + }, + "f3d622d5-c221-49b4-bf80-33543307c23d": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "TLP Tags", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "f5c8665b-d765-481a-8006-206fa0718a58", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "auto", + "metrics": [ + "f3d622d5-c221-49b4-bf80-33543307c23d" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "2ef98406-f729-4988-b927-615a2071b945" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 28, + "i": "ef8f1c25-a119-45e8-84d1-0968bb60a9b6", + "w": 21, + "x": 27, + "y": 0 + }, + "panelIndex": "ef8f1c25-a119-45e8-84d1-0968bb60a9b6", + "title": "TLP Categorization [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-df7a4f5f-e882-4b90-adca-edf9d34f5acb", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "df7a4f5f-e882-4b90-adca-edf9d34f5acb": { + "columnOrder": [ + "b69cdc62-7d44-4073-a64b-b09d6da41622", + "e7cb9c4f-3353-4580-928d-5a4797fd21d6" + ], + "columns": { + "b69cdc62-7d44-4073-a64b-b09d6da41622": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Domains", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "e7cb9c4f-3353-4580-928d-5a4797fd21d6", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 15 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.url.domain" + }, + "e7cb9c4f-3353-4580-928d-5a4797fd21d6": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "b69cdc62-7d44-4073-a64b-b09d6da41622", + "isTransposed": false + }, + { + "columnId": "e7cb9c4f-3353-4580-928d-5a4797fd21d6", + "isTransposed": false + } + ], + "layerId": "df7a4f5f-e882-4b90-adca-edf9d34f5acb", + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 21, + "i": "80ea5d9f-04de-4c10-a120-32318c3088c1", + "w": 20, + "x": 7, + "y": 7 + }, + "panelIndex": "80ea5d9f-04de-4c10-a120-32318c3088c1", + "title": "Most Popular Domains [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-3209cf18-1f83-44fd-aff3-336fb07d35b1", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "3209cf18-1f83-44fd-aff3-336fb07d35b1": { + "columnOrder": [ + "a90ded97-4816-4a10-a653-51bad5dee996", + "26f57b1d-7680-4439-9a32-ee0c5c441c37" + ], + "columns": { + "26f57b1d-7680-4439-9a32-ee0c5c441c37": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "a90ded97-4816-4a10-a653-51bad5dee996": { + "customLabel": true, + "dataType": "ip", + "isBucketed": true, + "label": "IP Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "26f57b1d-7680-4439-9a32-ee0c5c441c37", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.ip" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "a90ded97-4816-4a10-a653-51bad5dee996", + "isTransposed": false + }, + { + "columnId": "26f57b1d-7680-4439-9a32-ee0c5c441c37", + "isTransposed": false + } + ], + "layerId": "3209cf18-1f83-44fd-aff3-336fb07d35b1", + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 15, + "i": "d6840366-ab4f-4029-8e25-c887353b566f", + "w": 20, + "x": 7, + "y": 28 + }, + "panelIndex": "d6840366-ab4f-4029-8e25-c887353b566f", + "title": "Most Popular IPs [Logs Anomali", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-75accf45-7e81-45d7-b901-f488f7634041", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "75accf45-7e81-45d7-b901-f488f7634041": { + "columnOrder": [ + "bfb109eb-e0f5-4fda-b3eb-5cc691ecce18", + "abff64f2-5712-4582-aaf8-79f1b9d9d421" + ], + "columns": { + "abff64f2-5712-4582-aaf8-79f1b9d9d421": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Count", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "bfb109eb-e0f5-4fda-b3eb-5cc691ecce18": { + "customLabel": true, + "dataType": "string", + "isBucketed": true, + "label": "Email Addresses", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "abff64f2-5712-4582-aaf8-79f1b9d9d421", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 10 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.email.address" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "columns": [ + { + "columnId": "bfb109eb-e0f5-4fda-b3eb-5cc691ecce18", + "isTransposed": false + }, + { + "columnId": "abff64f2-5712-4582-aaf8-79f1b9d9d421", + "isTransposed": false + } + ], + "layerId": "75accf45-7e81-45d7-b901-f488f7634041", + "layerType": "data", + "rowHeight": "single", + "rowHeightLines": 1 + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsDatatable" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 15, + "i": "6811183d-2ca1-4f18-8dc7-225ff757f9bf", + "w": 21, + "x": 27, + "y": 28 + }, + "panelIndex": "6811183d-2ca1-4f18-8dc7-225ff757f9bf", + "title": "Unique Email Addresses [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + } + ], + "timeRestore": false, + "title": "[Logs Anomali] Other Indicators", + "version": 1 + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:57.912Z", + "id": "ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020", + "migrationVersion": { + "dashboard": "8.7.0" + }, + "references": [ + { + "id": "metrics-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "4cd050c7-caea-4c60-a581-955f0f5f9c49:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "4cd050c7-caea-4c60-a581-955f0f5f9c49:indexpattern-datasource-layer-dfdae375-629d-49ad-b37a-66d77c3f38b7", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "f3d04a3a-0bfa-4460-af54-08fea317756c:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "f3d04a3a-0bfa-4460-af54-08fea317756c:indexpattern-datasource-layer-ae2be882-73dd-463a-9a1d-1660c611d292", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "054ec96d-8e77-425c-9d79-adbfd3f7e28b:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "054ec96d-8e77-425c-9d79-adbfd3f7e28b:indexpattern-datasource-layer-7e5894b7-2ce6-439b-81b7-18cd6acdc0dd", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ef8f1c25-a119-45e8-84d1-0968bb60a9b6:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "ef8f1c25-a119-45e8-84d1-0968bb60a9b6:indexpattern-datasource-layer-f5c8665b-d765-481a-8006-206fa0718a58", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "80ea5d9f-04de-4c10-a120-32318c3088c1:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "80ea5d9f-04de-4c10-a120-32318c3088c1:indexpattern-datasource-layer-df7a4f5f-e882-4b90-adca-edf9d34f5acb", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d6840366-ab4f-4029-8e25-c887353b566f:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d6840366-ab4f-4029-8e25-c887353b566f:indexpattern-datasource-layer-3209cf18-1f83-44fd-aff3-336fb07d35b1", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6811183d-2ca1-4f18-8dc7-225ff757f9bf:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "6811183d-2ca1-4f18-8dc7-225ff757f9bf:indexpattern-datasource-layer-75accf45-7e81-45d7-b901-f488f7634041", + "type": "index-pattern" + }, + { + "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-managed-default", + "name": "tag-ref-fleet-managed-default", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "name": "tag-ref-fleet-pkg-ti_anomali-default", + "type": "tag" + } + ], + "type": "dashboard" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json new file mode 100644 index 000000000..d39da3bbc --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json @@ -0,0 +1,811 @@ +{ + "attributes": { + "description": "Dashboard providing statistics about indicators ingested from the Anomali integration", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": { + "filter": [ + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "key": "event.kind", + "negate": false, + "params": { + "query": "enrichment" + }, + "type": "phrase" + }, + "query": { + "match_phrase": { + "event.kind": "enrichment" + } + } + }, + { + "$state": { + "store": "appState" + }, + "meta": { + "alias": null, + "disabled": false, + "indexRefName": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "key": "data_stream.dataset", + "negate": false, + "params": [ + "ti_anomali.limo", + "ti_anomali.threatstream" + ], + "type": "phrases" + }, + "query": { + "bool": { + "minimum_should_match": 1, + "should": [ + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.limo" + } + }, + { + "match_phrase": { + "data_stream.dataset": "ti_anomali.threatstream" + } + } + ] + } + } + } + ], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "optionsJSON": { + "hidePanelTitles": false, + "syncColors": false, + "useMargins": true + }, + "panelsJSON": [ + { + "embeddableConfig": { + "enhancements": {}, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "fontSize": 12, + "markdown": "**Navigation**\n\n**[Anomali Overview (This Page)](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf)** \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a health overview related to the Anomali integration.\n\nThe dashboard is made to provide general statistics and show the health of the ingestion of indicators from Anomali. \n\nIt shows how many parts has been enabled (Limo and ThreatStream), the ingestion rates and provides a few filters for drilling down to specific indicator types retrieved from Anomali.", + "openLinksInNewTab": false + }, + "title": "", + "type": "markdown", + "uiState": {} + }, + "type": "visualization" + }, + "gridData": { + "h": 38, + "i": "12dc83c2-c8cf-4583-88b5-48761c63a1f7", + "w": 7, + "x": 0, + "y": 0 + }, + "panelIndex": "12dc83c2-c8cf-4583-88b5-48761c63a1f7", + "type": "visualization", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "enhancements": {}, + "hidePanelTitles": false, + "savedVis": { + "data": { + "aggs": [], + "searchSource": { + "filter": [], + "query": { + "language": "kuery", + "query": "" + } + } + }, + "description": "", + "id": "", + "params": { + "controls": [ + { + "fieldName": "event.dataset", + "id": "1636972155400", + "indexPatternRefName": "control_d0d28809-695c-4190-9b91-b62c60dff1fe_0_index_pattern", + "label": "Feed Name", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + }, + { + "fieldName": "threat.indicator.provider", + "id": "1636972320770", + "indexPatternRefName": "control_d0d28809-695c-4190-9b91-b62c60dff1fe_1_index_pattern", + "label": "Indicator Provider", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + }, + { + "fieldName": "threat.indicator.type", + "id": "1636972345166", + "indexPatternRefName": "control_d0d28809-695c-4190-9b91-b62c60dff1fe_2_index_pattern", + "label": "Indicator Type", + "options": { + "dynamicOptions": true, + "multiselect": true, + "order": "desc", + "size": 5, + "type": "terms" + }, + "parent": "", + "type": "list" + } + ], + "pinFilters": false, + "updateFiltersOnChange": false, + "useTimeFilter": true + }, + "title": "", + "type": "input_control_vis", + "uiState": {} + }, + "type": "visualization" + }, + "gridData": { + "h": 7, + "i": "d0d28809-695c-4190-9b91-b62c60dff1fe", + "w": 41, + "x": 7, + "y": 0 + }, + "panelIndex": "d0d28809-695c-4190-9b91-b62c60dff1fe", + "title": "Feed and Indicator Selector [Logs Anomali]", + "type": "visualization", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-c28e58ec-5377-460f-9d19-81c5b0655d84", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "c28e58ec-5377-460f-9d19-81c5b0655d84": { + "columnOrder": [ + "747a0b3c-a82b-4c1f-823e-3337619e6117" + ], + "columns": { + "747a0b3c-a82b-4c1f-823e-3337619e6117": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Total Datastreams", + "operationType": "unique_count", + "scale": "ratio", + "sourceField": "event.dataset" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "747a0b3c-a82b-4c1f-823e-3337619e6117", + "layerId": "c28e58ec-5377-460f-9d19-81c5b0655d84", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "444bedab-0363-4e0c-81e3-d8e370ae3aec", + "w": 6, + "x": 7, + "y": 7 + }, + "panelIndex": "444bedab-0363-4e0c-81e3-d8e370ae3aec", + "title": "Total Datastreams [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-78c9288e-227b-4cff-979b-d89a75ece8e7", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "78c9288e-227b-4cff-979b-d89a75ece8e7": { + "columnOrder": [ + "ec9f1c6f-2142-4695-af89-30d613260474", + "a8876e88-a694-49b6-8117-6a949ecc994a" + ], + "columns": { + "a8876e88-a694-49b6-8117-6a949ecc994a": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "ec9f1c6f-2142-4695-af89-30d613260474": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of threat.indicator.provider", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "a8876e88-a694-49b6-8117-6a949ecc994a", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": true, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "threat.indicator.provider" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "accessors": [ + "a8876e88-a694-49b6-8117-6a949ecc994a" + ], + "layerId": "78c9288e-227b-4cff-979b-d89a75ece8e7", + "layerType": "data", + "position": "top", + "seriesType": "bar_horizontal", + "showGridlines": false, + "splitAccessor": "ec9f1c6f-2142-4695-af89-30d613260474" + } + ], + "legend": { + "isVisible": true, + "legendSize": "auto", + "position": "right", + "showSingleSeries": true + }, + "preferredSeriesType": "bar_horizontal", + "title": "Empty XY chart", + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 16, + "i": "5809310f-2beb-446c-8b5d-c84f44c041b3", + "w": 23, + "x": 13, + "y": 7 + }, + "panelIndex": "5809310f-2beb-446c-8b5d-c84f44c041b3", + "title": "Total Indicators per Provider [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-7fdc4f94-7863-4914-b99d-982d353a54ba", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "7fdc4f94-7863-4914-b99d-982d353a54ba": { + "columnOrder": [ + "da5b8cdd-28c7-47ac-a991-4b995d7a62ec", + "0116942e-4077-43f5-9dc8-297c469d18d3" + ], + "columns": { + "0116942e-4077-43f5-9dc8-297c469d18d3": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + }, + "da5b8cdd-28c7-47ac-a991-4b995d7a62ec": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of event.dataset", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "0116942e-4077-43f5-9dc8-297c469d18d3", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 5 + }, + "scale": "ordinal", + "sourceField": "event.dataset" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "layers": [ + { + "categoryDisplay": "default", + "layerId": "7fdc4f94-7863-4914-b99d-982d353a54ba", + "layerType": "data", + "legendDisplay": "show", + "legendSize": "auto", + "metrics": [ + "0116942e-4077-43f5-9dc8-297c469d18d3" + ], + "nestedLegend": false, + "numberDisplay": "percent", + "primaryGroups": [ + "da5b8cdd-28c7-47ac-a991-4b995d7a62ec" + ] + } + ], + "shape": "donut" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsPie" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 16, + "i": "2c98de99-50a0-4a21-86f5-005f80dab887", + "w": 12, + "x": 36, + "y": 7 + }, + "panelIndex": "2c98de99-50a0-4a21-86f5-005f80dab887", + "title": "Total Indicators per Datastream [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-a531c764-6567-4a71-8bf7-c30e0f146526", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "a531c764-6567-4a71-8bf7-c30e0f146526": { + "columnOrder": [ + "85c9e822-60d0-4aa5-b811-79b0c58aa6b6" + ], + "columns": { + "85c9e822-60d0-4aa5-b811-79b0c58aa6b6": { + "customLabel": true, + "dataType": "number", + "isBucketed": false, + "label": "Total Indicators", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "accessor": "85c9e822-60d0-4aa5-b811-79b0c58aa6b6", + "layerId": "a531c764-6567-4a71-8bf7-c30e0f146526", + "layerType": "data", + "size": "xl", + "textAlign": "center", + "titlePosition": "bottom" + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsLegacyMetric" + }, + "enhancements": {}, + "hidePanelTitles": false, + "type": "lens" + }, + "gridData": { + "h": 8, + "i": "4bf9c1a3-dd8e-4640-9a8e-8641d62a4c89", + "w": 6, + "x": 7, + "y": 15 + }, + "panelIndex": "4bf9c1a3-dd8e-4640-9a8e-8641d62a4c89", + "title": "Total Indicators [Logs Anomali]", + "type": "lens", + "version": "8.7.0" + }, + { + "embeddableConfig": { + "attributes": { + "references": [ + { + "id": "logs-*", + "name": "indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "indexpattern-datasource-layer-8304fb06-3af2-4279-9b88-b3f18324c042", + "type": "index-pattern" + } + ], + "state": { + "datasourceStates": { + "formBased": { + "layers": { + "8304fb06-3af2-4279-9b88-b3f18324c042": { + "columnOrder": [ + "645fb806-bad6-4c07-b65c-1e5eb559cc06", + "b9f443d8-7811-4d09-9339-135a3a850ca3", + "eab09cd9-8af1-43a9-bed1-7c88ea536fe1" + ], + "columns": { + "645fb806-bad6-4c07-b65c-1e5eb559cc06": { + "dataType": "string", + "isBucketed": true, + "label": "Top values of event.dataset", + "operationType": "terms", + "params": { + "missingBucket": false, + "orderBy": { + "columnId": "eab09cd9-8af1-43a9-bed1-7c88ea536fe1", + "type": "column" + }, + "orderDirection": "desc", + "otherBucket": false, + "size": 3 + }, + "scale": "ordinal", + "sourceField": "event.dataset" + }, + "b9f443d8-7811-4d09-9339-135a3a850ca3": { + "dataType": "date", + "isBucketed": true, + "label": "@timestamp", + "operationType": "date_histogram", + "params": { + "includeEmptyRows": true, + "interval": "auto" + }, + "scale": "interval", + "sourceField": "@timestamp" + }, + "eab09cd9-8af1-43a9-bed1-7c88ea536fe1": { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___" + } + }, + "incompleteColumns": {} + } + } + } + }, + "filters": [], + "query": { + "language": "kuery", + "query": "" + }, + "visualization": { + "axisTitlesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "fittingFunction": "None", + "gridlinesVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "labelsOrientation": { + "x": 0, + "yLeft": 0, + "yRight": 0 + }, + "layers": [ + { + "accessors": [ + "eab09cd9-8af1-43a9-bed1-7c88ea536fe1" + ], + "layerId": "8304fb06-3af2-4279-9b88-b3f18324c042", + "layerType": "data", + "position": "top", + "seriesType": "line", + "showGridlines": false, + "splitAccessor": "645fb806-bad6-4c07-b65c-1e5eb559cc06", + "xAccessor": "b9f443d8-7811-4d09-9339-135a3a850ca3" + } + ], + "legend": { + "isVisible": true, + "legendSize": "auto", + "position": "right" + }, + "preferredSeriesType": "line", + "tickLabelsVisibilitySettings": { + "x": true, + "yLeft": true, + "yRight": true + }, + "valueLabels": "hide", + "yLeftExtent": { + "mode": "full" + }, + "yRightExtent": { + "mode": "full" + } + } + }, + "title": "", + "type": "lens", + "visualizationType": "lnsXY" + }, + "enhancements": {}, + "type": "lens" + }, + "gridData": { + "h": 15, + "i": "aea6ddeb-b045-4372-bfe4-5eb52cd394db", + "w": 41, + "x": 7, + "y": 23 + }, + "panelIndex": "aea6ddeb-b045-4372-bfe4-5eb52cd394db", + "type": "lens", + "version": "8.7.0" + } + ], + "timeRestore": false, + "title": "[Logs Anomali] Overview", + "version": 1 + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:57.912Z", + "id": "ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf", + "migrationVersion": { + "dashboard": "8.7.0" + }, + "references": [ + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[1].meta.index", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d0d28809-695c-4190-9b91-b62c60dff1fe:control_d0d28809-695c-4190-9b91-b62c60dff1fe_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d0d28809-695c-4190-9b91-b62c60dff1fe:control_d0d28809-695c-4190-9b91-b62c60dff1fe_1_index_pattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "d0d28809-695c-4190-9b91-b62c60dff1fe:control_d0d28809-695c-4190-9b91-b62c60dff1fe_2_index_pattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "444bedab-0363-4e0c-81e3-d8e370ae3aec:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "444bedab-0363-4e0c-81e3-d8e370ae3aec:indexpattern-datasource-layer-c28e58ec-5377-460f-9d19-81c5b0655d84", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "5809310f-2beb-446c-8b5d-c84f44c041b3:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "5809310f-2beb-446c-8b5d-c84f44c041b3:indexpattern-datasource-layer-78c9288e-227b-4cff-979b-d89a75ece8e7", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "2c98de99-50a0-4a21-86f5-005f80dab887:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "2c98de99-50a0-4a21-86f5-005f80dab887:indexpattern-datasource-layer-7fdc4f94-7863-4914-b99d-982d353a54ba", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "4bf9c1a3-dd8e-4640-9a8e-8641d62a4c89:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "4bf9c1a3-dd8e-4640-9a8e-8641d62a4c89:indexpattern-datasource-layer-a531c764-6567-4a71-8bf7-c30e0f146526", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "aea6ddeb-b045-4372-bfe4-5eb52cd394db:indexpattern-datasource-current-indexpattern", + "type": "index-pattern" + }, + { + "id": "logs-*", + "name": "aea6ddeb-b045-4372-bfe4-5eb52cd394db:indexpattern-datasource-layer-8304fb06-3af2-4279-9b88-b3f18324c042", + "type": "index-pattern" + }, + { + "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-managed-default", + "name": "tag-ref-fleet-managed-default", + "type": "tag" + }, + { + "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "name": "tag-ref-fleet-pkg-ti_anomali-default", + "type": "tag" + } + ], + "type": "dashboard" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json new file mode 100644 index 000000000..2cb36da02 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "color": "#6092C0", + "description": "", + "name": "Anomali" + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:57.912Z", + "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "migrationVersion": { + "tag": "8.0.0" + }, + "references": [], + "type": "tag" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json new file mode 100644 index 000000000..d1650839c --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "color": "#FFFFFF", + "description": "", + "name": "Managed" + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:14:16.376Z", + "id": "ti_anomali-fleet-managed-default", + "migrationVersion": { + "tag": "8.0.0" + }, + "references": [], + "type": "tag" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json new file mode 100644 index 000000000..7a238062e --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "color": "#FFFFFF", + "description": "", + "name": "Anomali" + }, + "coreMigrationVersion": "8.7.0", + "created_at": "2023-04-20T13:27:09.760Z", + "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "migrationVersion": { + "tag": "8.0.0" + }, + "references": [], + "type": "tag" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json new file mode 100644 index 000000000..ef4b8a7fd --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json @@ -0,0 +1,14 @@ +{ + "attributes": { + "color": "#6092C0", + "description": "", + "name": "Threat Intelligence" + }, + "coreMigrationVersion": "8.0.0", + "id": "ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6", + "migrationVersion": { + "tag": "8.0.0" + }, + "references": [], + "type": "tag" +} \ No newline at end of file diff --git a/test/packages/parallel/ti_anomali_logsdb/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/manifest.yml new file mode 100644 index 000000000..303c4ab4d --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/manifest.yml @@ -0,0 +1,26 @@ +name: ti_anomali_logsdb +title: Anomali +version: "1.11.0" +release: ga +description: Ingest threat intelligence indicators from Anomali with Elastic Agent. +type: integration +format_version: 1.0.0 +license: basic +categories: ["security", "threat_intel"] +conditions: + kibana.version: ^8.8.0 +icons: + - src: /img/anomali.svg + title: Anomali + size: 216x216 + type: image/svg+xml +policy_templates: + - name: ti_anomali + title: Anomali + description: Ingest threat intelligence indicators from Anomali with Elastic Agent. + inputs: + - type: http_endpoint + title: "Ingest threat intelligence indicators from Anomali Threatstream." + description: "Ingest threat intelligence indicators from Anomali Threatstream." +owner: + github: elastic/security-external-integrations From 21e4f276775d9d4598ae9ae4eb09e58c05e718e3 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 17:43:32 +0200 Subject: [PATCH 07/10] Revert "Add error and expected errors in rally_benchmark_malformed_template test package" This reverts commit 708f4c8cfb6d3845890e467a1e451d20a58ce3e8. --- .../rally_benchmark_malformed_template.expected_errors | 1 - .../_dev/benchmark/rally/logs-benchmark/template.ndjson | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 test/packages/false_positives/rally_benchmark_malformed_template.expected_errors diff --git a/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors b/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors deleted file mode 100644 index a23cc32eb..000000000 --- a/test/packages/false_positives/rally_benchmark_malformed_template.expected_errors +++ /dev/null @@ -1 +0,0 @@ -failed to initialize backfill generator for scenario "logs-benchmark": template: generator:12: unexpected "}" in operand diff --git a/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson b/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson index a24574006..0d1de34e7 100644 --- a/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson +++ b/test/packages/false_positives/rally_benchmark_malformed_template/_dev/benchmark/rally/logs-benchmark/template.ndjson @@ -1,7 +1,7 @@ {{- $timestamp := generate "timestamp" -}} { "@timestamp": "{{ $timestamp.Format "2006-01-02T15:04:05.999999Z07:00" }}", -data_stream.type": "logs", +"data_stream.type": "logs", "data_stream.dataset": "rally_benchmarks.testds", "data_stream.namespace": "ep", "container.id": "{{ generate "container.id" }}", @@ -11,4 +11,4 @@ data_stream.type": "logs", "log.offset": {{ generate "log.offset" }}, "tags": ["rally_benchmark.testds", "forwarded", "{{ generate "tags" }" ], "message": "{{ generate "IP" }} - - [{{ $timestamp.Format "02/Jan/2006:15:04:05.999999 -0700" }}] \"GET /favicon.ico HTTP/1.1\" {{ generate "StatusCode" }} {{ generate "Size" }} \"http://{{ generate "Hostname" }}:{{ generate "Port" }}/\" \"skip-this-one/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36\"" -} +} \ No newline at end of file From bb32496ed69ccc3e71b2bba801b728be157848ee Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 19:20:24 +0200 Subject: [PATCH 08/10] Update ti_anomali and ti_anomali_logsdb packages --- .../parallel/ti_anomali/_dev/build/build.yml | 2 +- .../ti_anomali/_dev/build/docs/README.md | 12 +- .../_dev/deploy/docker/docker-compose.yml | 6 +- .../parallel/ti_anomali/changelog.yml | 88 ++ .../pipeline/test-anomali-threatstream.json | 52 + ...st-anomali-threatstream.json-expected.json | 1237 +++++++++++++---- .../_dev/test/pipeline/test-common-config.yml | 2 +- .../system/test-integrator-http-config.yml | 4 +- .../test/system/test-webhook-http-config.yml | 4 +- .../test/system/test-webhook-https-config.yml | 4 +- .../agent/stream/http_endpoint.yml.hbs | 2 +- ...efault_poilcy.json => default_policy.json} | 0 .../elasticsearch/ingest_pipeline/default.yml | 80 +- .../data_stream/threatstream/fields/agent.yml | 167 +-- .../data_stream/threatstream/fields/beats.yml | 3 - .../data_stream/threatstream/fields/ecs.yml | 66 +- .../threatstream/fields/fields.yml | 4 + .../data_stream/threatstream/lifecycle.yml | 1 + .../data_stream/threatstream/manifest.yml | 3 +- .../threatstream/sample_event.json | 30 +- .../parallel/ti_anomali/docs/README.md | 107 +- .../transform/latest_ioc/fields/agent.yml | 198 --- .../latest_ioc/fields/base-fields.yml | 28 - .../transform/latest_ioc/fields/beats.yml | 12 - .../transform/latest_ioc/fields/ecs.yml | 70 - .../transform/latest_ioc/fields/fields.yml | 412 +++++- .../transform/latest_ioc/manifest.yml | 10 +- .../transform/latest_ioc/transform.yml | 14 +- .../parallel/ti_anomali/kibana/tags.yml | 4 + .../packages/parallel/ti_anomali/manifest.yml | 12 +- .../parallel/ti_anomali/validation.yml | 3 + .../ti_anomali_logsdb/_dev/build/build.yml | 2 +- .../_dev/build/docs/README.md | 12 +- .../_dev/deploy/docker/docker-compose.yml | 6 +- .../parallel/ti_anomali_logsdb/changelog.yml | 88 ++ .../pipeline/test-anomali-threatstream.json | 52 + ...st-anomali-threatstream.json-expected.json | 1237 +++++++++++++---- .../_dev/test/pipeline/test-common-config.yml | 2 +- .../system/test-integrator-http-config.yml | 4 +- .../test/system/test-webhook-http-config.yml | 4 +- .../test/system/test-webhook-https-config.yml | 4 +- .../agent/stream/http_endpoint.yml.hbs | 2 +- ...efault_poilcy.json => default_policy.json} | 0 .../elasticsearch/ingest_pipeline/default.yml | 80 +- .../data_stream/threatstream/fields/agent.yml | 167 +-- .../threatstream/fields/base-fields.yml | 4 +- .../data_stream/threatstream/fields/beats.yml | 3 - .../data_stream/threatstream/fields/ecs.yml | 66 +- .../data_stream/threatstream/lifecycle.yml | 1 + .../data_stream/threatstream/manifest.yml | 5 +- .../threatstream/sample_event.json | 36 +- .../parallel/ti_anomali_logsdb/docs/README.md | 112 +- .../transform/latest_ioc/fields/agent.yml | 198 --- .../latest_ioc/fields/base-fields.yml | 28 - .../transform/latest_ioc/fields/beats.yml | 12 - .../transform/latest_ioc/fields/ecs.yml | 70 - .../transform/latest_ioc/fields/fields.yml | 415 +++++- .../transform/latest_ioc/manifest.yml | 10 +- .../transform/latest_ioc/transform.yml | 14 +- ...207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json} | 24 +- ...39699a60-45fc-11ec-ab0c-d7f52dcaa020.json} | 24 +- ...78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json} | 24 +- ...96fe1e60-4261-11ec-b7be-d3026acdf1cf.json} | 24 +- ...94419670-4261-11ec-b7be-d3026acdf1cf.json} | 4 +- ...anomali_logsdb-fleet-managed-default.json} | 4 +- ...-fleet-pkg-ti_anomali_logsdb-default.json} | 4 +- ...320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json} | 4 +- .../ti_anomali_logsdb/kibana/tags.yml | 4 + .../parallel/ti_anomali_logsdb/manifest.yml | 12 +- .../parallel/ti_anomali_logsdb/validation.yml | 3 + 70 files changed, 3374 insertions(+), 2028 deletions(-) rename test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ilm/{default_poilcy.json => default_policy.json} (100%) create mode 100644 test/packages/parallel/ti_anomali/data_stream/threatstream/lifecycle.yml delete mode 100644 test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/agent.yml delete mode 100644 test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/base-fields.yml delete mode 100644 test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/beats.yml delete mode 100644 test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/ecs.yml create mode 100644 test/packages/parallel/ti_anomali/kibana/tags.yml create mode 100644 test/packages/parallel/ti_anomali/validation.yml rename test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/{default_poilcy.json => default_policy.json} (100%) create mode 100644 test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/lifecycle.yml delete mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml delete mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml delete mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml delete mode 100644 test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml rename test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/{ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json => ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json} (97%) rename test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/{ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json => ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json} (96%) rename test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/{ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json => ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json} (96%) rename test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/{ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json => ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json} (96%) rename test/packages/parallel/ti_anomali_logsdb/kibana/tag/{ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json => ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf.json} (80%) rename test/packages/parallel/ti_anomali_logsdb/kibana/tag/{ti_anomali-fleet-managed-default.json => ti_anomali_logsdb-fleet-managed-default.json} (84%) rename test/packages/parallel/ti_anomali_logsdb/kibana/tag/{ti_anomali-fleet-pkg-ti_anomali-default.json => ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default.json} (80%) rename test/packages/parallel/ti_anomali_logsdb/kibana/tag/{ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json => ti_anomali_logsdb-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json} (75%) create mode 100644 test/packages/parallel/ti_anomali_logsdb/kibana/tags.yml create mode 100644 test/packages/parallel/ti_anomali_logsdb/validation.yml diff --git a/test/packages/parallel/ti_anomali/_dev/build/build.yml b/test/packages/parallel/ti_anomali/_dev/build/build.yml index 9da3f46d4..2bfcfc223 100644 --- a/test/packages/parallel/ti_anomali/_dev/build/build.yml +++ b/test/packages/parallel/ti_anomali/_dev/build/build.yml @@ -1,3 +1,3 @@ dependencies: ecs: - reference: git@8.7 + reference: "git@v8.11.0" diff --git a/test/packages/parallel/ti_anomali/_dev/build/docs/README.md b/test/packages/parallel/ti_anomali/_dev/build/docs/README.md index d15fa64fe..27f990efe 100644 --- a/test/packages/parallel/ti_anomali/_dev/build/docs/README.md +++ b/test/packages/parallel/ti_anomali/_dev/build/docs/README.md @@ -17,13 +17,23 @@ explanation on how to configure the Anomali ThreatStream to send indicator to this integration. ### Expiration of Indicators of Compromise (IOCs) -The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream-2` which only contains active and unexpired IOCs. The destination index also has an alias `logs-ti_anomali_latest.threatstream`. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. #### Handling Orphaned IOCs When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. **NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. +### Destination index versioning and deleting older versions +The destination indices created by the transform are versioned with an integer suffix such as `-1`, `-2`. Example index name - `logs-ti_anomali_latest.threatstream-1`. + +Due to schema changes on destination index, the versioning on it could be bumped. For example, in integration version `1.15.1`, the destination index is changed to `logs-ti_anomali_latest.threatstream-2` from `logs-ti_anomali_latest.threatstream-1`. + +Since the transform does not have the functionality to auto-delete the old index, users must to delete this old index manually. This is to ensure duplicates are not present when using wildcard queries such as `logs-ti_anomali_latest.threatstream-*`. Please follow below steps: +1. After upgrading the integration to latest, check the current transform's destination index version by navigating via: `Stack Management -> Transforms -> logs-ti_anomali.latest_ioc-default -> Details`. Check `destination_index` value. +2. Run `GET _cat/indices?v` and check if any older versions exist. Such as `logs-ti_anomali_latest.threatstream-1` +3. Run `DELETE logs-ti_anomali_latest.threatstream-` to delete the old index. + ### ILM Policy To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. diff --git a/test/packages/parallel/ti_anomali/_dev/deploy/docker/docker-compose.yml b/test/packages/parallel/ti_anomali/_dev/deploy/docker/docker-compose.yml index ba5c31a79..1fa46e0ae 100644 --- a/test/packages/parallel/ti_anomali/_dev/deploy/docker/docker-compose.yml +++ b/test/packages/parallel/ti_anomali/_dev/deploy/docker/docker-compose.yml @@ -1,7 +1,7 @@ version: '2.3' services: limo-http: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 ports: - 8080 volumes: @@ -13,7 +13,7 @@ services: - --addr=:8080 - --config=/files/config.yml threatstream-webhook-http: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 volumes: - ./sample_logs:/sample_logs:ro environment: @@ -21,7 +21,7 @@ services: - STREAM_ADDR=http://elastic-agent:9080/ command: log --webhook-content-type application/x-ndjson --start-signal=SIGHUP --delay=5s /sample_logs/test-threatstream-ndjson.log threatstream-webhook-https: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 volumes: - ./sample_logs:/sample_logs:ro environment: diff --git a/test/packages/parallel/ti_anomali/changelog.yml b/test/packages/parallel/ti_anomali/changelog.yml index a0cd38e42..bbdef7327 100644 --- a/test/packages/parallel/ti_anomali/changelog.yml +++ b/test/packages/parallel/ti_anomali/changelog.yml @@ -1,4 +1,92 @@ # newer versions go on top +- version: "1.22.1" + changes: + - description: Fix ECS date mapping on threat fields. + type: bugfix + link: https://github.com/elastic/integrations/pull/10674 +- version: "1.22.0" + changes: + - description: Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. + type: enhancement + link: https://github.com/elastic/integrations/pull/10135 +- version: "1.21.0" + changes: + - description: Add destination index alias and fix docs. + type: enhancement + link: https://github.com/elastic/integrations/pull/9618 +- version: "1.20.0" + changes: + - description: Set sensitive values as secret. + type: enhancement + link: https://github.com/elastic/integrations/pull/9129 +- version: "1.19.2" + changes: + - description: Changed owners + type: enhancement + link: https://github.com/elastic/integrations/pull/8943 +- version: 1.19.1 + changes: + - description: Fix IOC expiration duration character casting. + type: bugfix + link: https://github.com/elastic/integrations/pull/8786 +- version: 1.19.0 + changes: + - description: ECS version updated to 8.11.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/8436 +- version: 1.18.0 + changes: + - description: ECS version updated to 8.10.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7920 +- version: "1.17.0" + changes: + - description: Add DLM policy. Add owner.type to package manifest. Update format_version to 3.0.0 + type: enhancement + link: https://github.com/elastic/integrations/pull/7849 + - description: Add tags.yml file so that integration's dashboards and saved searches are tagged with "Security Solution" and displayed in the Security Solution UI. + type: enhancement + link: https://github.com/elastic/integrations/pull/7789 +- version: "1.16.1" + changes: + - description: Remove dotted YAML keys. + type: bugfix + link: https://github.com/elastic/integrations/pull/7803 +- version: "1.16.0" + changes: + - description: Update package-spec to 2.10.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7613 +- version: "1.15.1" + changes: + - description: Fix destination fields mapping. Note - Since transform's destination index version is changed, users must manually delete the old index. See https://docs.elastic.co/integrations/ti_anomali#logs for details on destination index versioning. + type: bugfix + link: https://github.com/elastic/integrations/issues/6514 +- version: "1.15.0" + changes: + - description: Update package to ECS 8.9.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7111 +- version: "1.14.1" + changes: + - description: Change sort order field in latest transform + type: bugfix + link: https://github.com/elastic/integrations/pull/7000 +- version: "1.14.0" + changes: + - description: Ensure event.kind is correctly set for pipeline errors. + type: enhancement + link: https://github.com/elastic/integrations/pull/6630 +- version: "1.13.0" + changes: + - description: Update package to ECS 8.8.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/6328 +- version: "1.12.0" + changes: + - description: Add IOC field to transform source to easily filter destination indices with unexpired indicators + type: enhancement + link: https://github.com/elastic/integrations/issues/6344 - version: "1.11.0" changes: - description: Support for IoC Expiration diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json index ddad37774..4fb345e9c 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json @@ -1,5 +1,57 @@ { "events": [ + { + "json": { + "added_at": "2023-06-05T12:35:14.860741", + "classification": "private", + "confidence": 92, + "country": "US", + "date_first": "2020-10-09T18:45:23.000Z", + "date_last": "2020-10-09T18:45:23.000Z", + "detail": "phish-kit-sig-id-43111996,Microsoft", + "detail2": "imported by user 1", + "id": 185029228, + "itype": "phish_url", + "lat": 37.751, + "maltype": "phish-kit-sig-id-43111996", + "resource_uri": "/api/v1/intelligence/22222/", + "severity": "very-high", + "source": "Default Organization", + "source_feed_id": 0, + "srcip": "81.2.69.142", + "state": "active", + "trusted_circle_ids": ",10015,", + "update_id": 376590230, + "url": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "value_type": "url" + } + }, + { + "json": { + "added_at": "2023-06-05T11:03:34.648208", + "classification": "private", + "confidence": 94, + "country": "IN", + "date_first": "2020-10-09T18:45:28.000Z", + "date_last": "2020-10-09T18:45:28.000Z", + "detail": "32-bit,date_added=2020-10-09T15:44:05,elf,mips", + "detail2": "imported by user 1", + "id": 111111, + "itype": "mal_url", + "lat": 28.6327, + "maltype": "32-bit", + "resource_uri": "/api/v1/intelligence/111111/", + "severity": "very-high", + "source": "Default Organization", + "source_feed_id": 0, + "srcip": "81.2.69.192", + "state": "active", + "trusted_circle_ids": ",10015,", + "update_id": 376590649, + "url": "http://81.2.69.192:34011/bin.sh", + "value_type": "url" + } + }, { "json": { "added_at": "2020-10-08T12:22:11", diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json index d5d37930a..269517751 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json @@ -1,6 +1,144 @@ { "expected": [ { + "@timestamp": "2023-06-05T12:35:14.860Z", + "anomali": { + "threatstream": { + "added_at": "2023-06-05T12:35:14.860Z", + "classification": "private", + "confidence": 92, + "detail2": "imported by user 1", + "id": "185029228", + "itype": "phish_url", + "maltype": "phish-kit-sig-id-43111996", + "resource_uri": "/api/v1/intelligence/22222/", + "severity": "very-high", + "source_feed_id": "0", + "state": "active", + "trusted_circle_ids": [ + "10015" + ], + "update_id": "376590230", + "value_type": "url" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "threat" + ], + "kind": "enrichment", + "severity": 9, + "type": [ + "indicator" + ] + }, + "tags": [ + "preserve_original_event", + "phish-kit-sig-id-43111996", + "Microsoft" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:45:23.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "81.2.69.142", + "last_seen": "2020-10-09T18:45:23.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Default Organization", + "type": "url", + "url": { + "domain": "example.appspot.com", + "extension": "it", + "full": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "original": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "path": "/2/https@securelogin-example.bp.poste.it", + "scheme": "https" + } + } + } + }, + { + "@timestamp": "2023-06-05T11:03:34.648Z", + "anomali": { + "threatstream": { + "added_at": "2023-06-05T11:03:34.648Z", + "classification": "private", + "confidence": 94, + "detail2": "imported by user 1", + "id": "111111", + "itype": "mal_url", + "maltype": "32-bit", + "resource_uri": "/api/v1/intelligence/111111/", + "severity": "very-high", + "source_feed_id": "0", + "state": "active", + "trusted_circle_ids": [ + "10015" + ], + "update_id": "376590649", + "value_type": "url" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "threat" + ], + "kind": "enrichment", + "severity": 9, + "type": [ + "indicator" + ] + }, + "tags": [ + "preserve_original_event", + "32-bit", + "date_added=2020-10-09T15:44:05", + "elf", + "mips" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:45:28.000Z", + "geo": { + "country_iso_code": "IN" + }, + "ip": "81.2.69.192", + "last_seen": "2020-10-09T18:45:28.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Default Organization", + "type": "url", + "url": { + "domain": "81.2.69.192", + "extension": "sh", + "full": "http://81.2.69.192:34011/bin.sh", + "original": "http://81.2.69.192:34011/bin.sh", + "path": "/bin.sh", + "port": 34011, + "scheme": "http" + } + } + } + }, + { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -22,13 +160,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -65,6 +207,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -87,13 +230,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -127,6 +274,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -150,13 +298,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -191,6 +343,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -213,13 +366,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -245,6 +402,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -268,13 +426,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -309,6 +471,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -332,13 +495,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -373,6 +540,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -396,13 +564,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -436,6 +608,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -456,13 +629,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -488,6 +665,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -510,13 +688,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -550,6 +732,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -573,13 +756,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -614,6 +801,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -635,13 +823,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -669,6 +861,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -691,13 +884,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -724,6 +921,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -747,13 +945,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -787,6 +989,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -808,13 +1011,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -842,6 +1049,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -865,13 +1073,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -898,6 +1110,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -919,13 +1132,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -953,6 +1170,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -975,13 +1193,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1009,6 +1231,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1032,13 +1255,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1065,6 +1292,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1088,13 +1316,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1121,6 +1353,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1144,13 +1377,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1177,6 +1414,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1199,13 +1437,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1232,6 +1474,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1254,13 +1497,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1291,6 +1538,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1312,13 +1560,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1345,6 +1597,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1367,13 +1620,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1407,6 +1664,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1429,13 +1687,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1463,6 +1725,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1486,13 +1749,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1519,6 +1786,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1542,13 +1810,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1576,6 +1848,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1597,13 +1870,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1629,6 +1906,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1650,13 +1928,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1690,6 +1972,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1712,13 +1995,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1752,6 +2039,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1775,13 +2063,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1808,6 +2100,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1831,13 +2124,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1865,6 +2162,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1888,13 +2186,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1921,6 +2223,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1944,13 +2247,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1977,6 +2284,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1998,13 +2306,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2031,6 +2343,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2054,13 +2367,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2087,6 +2404,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2110,13 +2428,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2142,6 +2464,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2164,13 +2487,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2197,6 +2524,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2219,13 +2547,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2259,6 +2591,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2280,13 +2613,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2313,6 +2650,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2334,13 +2672,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2367,6 +2709,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2390,13 +2733,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2423,6 +2770,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2446,13 +2794,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2486,6 +2838,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2509,13 +2862,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2543,6 +2900,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2565,13 +2923,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2605,6 +2967,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2626,13 +2989,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2666,6 +3033,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2688,13 +3056,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2722,6 +3094,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2743,13 +3116,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2776,6 +3153,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2798,13 +3176,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2832,6 +3214,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2854,13 +3237,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2887,6 +3274,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2910,13 +3298,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2950,6 +3342,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2971,13 +3364,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3004,6 +3401,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3026,13 +3424,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3058,6 +3460,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3080,13 +3483,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3112,6 +3519,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3133,13 +3541,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3173,6 +3585,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3195,13 +3608,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3227,6 +3644,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3249,13 +3667,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3283,6 +3705,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3304,13 +3727,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3338,6 +3765,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3360,13 +3788,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3393,6 +3825,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3415,13 +3848,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3448,6 +3885,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3471,13 +3909,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3511,6 +3953,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3532,13 +3975,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3566,6 +4013,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3588,13 +4036,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3622,6 +4074,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3643,13 +4096,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3677,6 +4134,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3699,13 +4157,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3732,6 +4194,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3755,13 +4218,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3788,6 +4255,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3811,13 +4279,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3845,6 +4317,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3866,13 +4339,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3898,6 +4375,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3920,13 +4398,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3960,6 +4442,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3982,13 +4465,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4015,6 +4502,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4036,13 +4524,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4069,6 +4561,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4090,13 +4583,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4123,6 +4620,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4145,13 +4643,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4185,6 +4687,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4206,13 +4709,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4239,6 +4746,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4261,13 +4769,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4294,6 +4806,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4315,13 +4828,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4348,6 +4865,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4371,13 +4889,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4411,6 +4933,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4432,13 +4955,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4466,6 +4993,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4489,13 +5017,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4522,6 +5054,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4544,13 +5077,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4589,6 +5126,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4612,13 +5150,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4652,6 +5194,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4674,13 +5217,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4706,6 +5253,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4727,13 +5275,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4764,6 +5316,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4786,13 +5339,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4826,6 +5383,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4848,13 +5406,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4888,6 +5450,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4911,13 +5474,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4956,6 +5523,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4979,13 +5547,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5019,6 +5591,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5041,13 +5614,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5078,6 +5655,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5099,13 +5677,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5138,6 +5720,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5159,13 +5742,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5199,6 +5786,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5221,13 +5809,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5261,6 +5853,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5282,13 +5875,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5322,6 +5919,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5343,13 +5941,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5380,6 +5982,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5403,13 +6006,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5444,6 +6051,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5464,13 +6072,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5492,6 +6104,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5514,13 +6127,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5542,6 +6159,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5562,13 +6180,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5590,6 +6212,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "public", @@ -5612,13 +6235,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5640,6 +6267,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "private", @@ -5661,13 +6289,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5689,6 +6321,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "private", @@ -5711,13 +6344,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml index a09fe0726..1c6e6745e 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml @@ -2,4 +2,4 @@ fields: tags: - preserve_original_event dynamic_fields: - event.ingested: "^.*$" + "event.ingested": "^.*$" diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml index acf46d437..212232f37 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml @@ -8,4 +8,6 @@ data_stream: listen_port: 9080 secret: TheSecret preserve_original_event: true - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d +assert: + hit_count: 1 diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml index 4c6083998..ec6e03df0 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml @@ -6,5 +6,7 @@ data_stream: vars: listen_address: 0.0.0.0 listen_port: 9080 - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d preserve_original_event: true +assert: + hit_count: 100 diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml index b45b7b44b..3ab3a7c14 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml @@ -7,7 +7,7 @@ data_stream: listen_address: 0.0.0.0 listen_port: 7443 preserve_original_event: true - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d ssl: |- certificate: | -----BEGIN CERTIFICATE----- @@ -59,3 +59,5 @@ data_stream: Iqi7is4z2mP8pbcIIlmloogE -----END PRIVATE KEY----- verification_mode: none +assert: + hit_count: 100 diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs b/test/packages/parallel/ti_anomali/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs index e4072b22f..64038ee44 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs @@ -31,7 +31,7 @@ ssl: {{ssl}} fields_under_root: true fields: _conf: - ioc_expiration_duration: "{{ioc_expiration_duration}}" + ioc_expiration_duration: {{ioc_expiration_duration}} {{/if}} {{#if preserve_original_event}} diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json b/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ilm/default_policy.json similarity index 100% rename from test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json rename to test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ilm/default_policy.json diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml index 43c9768c2..baad31861 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml @@ -6,23 +6,22 @@ processors: # - set: field: ecs.version - value: '8.7.0' + value: '8.11.0' - set: field: event.kind value: enrichment - set: field: event.category - value: threat + value: [threat] - set: field: event.type - value: indicator - + value: [indicator] # # Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). # - script: lang: painless - if: "ctx.json.itype != null" + if: "ctx.json?.itype != null" description: > Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). params: @@ -139,44 +138,65 @@ processors: source: > def dur = ctx._conf.ioc_expiration_duration; String added_at = ctx.json.added_at; + ZonedDateTime _tmp_deleted_at; if (dur instanceof String){ - Character time_unit = dur.charAt(dur.length() - 1); - String time_value = dur.substring(0, dur.length()); - if (time_unit == 'd') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(Long.parseLong(time_value)); - } else if (time_unit == 'h') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusHours(Long.parseLong(time_value)); - } else if (time_unit == 'm') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusMinutes(Long.parseLong(time_value)); + char time_unit; + String time_value; + if (dur.length() != 0){ + time_unit = dur.charAt(dur.length() - 1); + time_value = dur.substring(0, dur.length() - 1); + } + if (time_unit == (char)'d') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(Long.parseLong(time_value)); + } else if (time_unit == (char)'h') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusHours(Long.parseLong(time_value)); + } else if (time_unit == (char)'m') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusMinutes(Long.parseLong(time_value)); } else { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(90L); - } + if (ctx.error == null) { + ctx.error = new HashMap(); + } + if (ctx.error.message == null) { + ctx.error.message = new ArrayList(); + } + ctx.error.message.add('invalid ioc_expiration_duration: using default 90 days'); + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(90L); + } + ctx.json.deleted_at = _tmp_deleted_at; } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # Map added_at - date: field: json.added_at target_field: json.added_at + tag: date-added_at formats: - ISO8601 + - strict_date_optional_time_nanos if: "ctx.json?.added_at != null" on_failure: - append: field: error.message - value: 'Error parsing added_at field value "{{{ json.added_at }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # Map deleted_at - date: field: json.deleted_at target_field: json.deleted_at + tag: date-deleted_at formats: - ISO8601 + - strict_date_optional_time_nanos if: "ctx.json?.deleted_at != null" on_failure: - append: field: error.message - value: 'Error parsing deleted_at field value "{{{ json.deleted_at }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # # Map first and last seen dates. @@ -184,25 +204,41 @@ processors: - date: field: json.date_first target_field: threat.indicator.first_seen + tag: date-date_first formats: - ISO8601 if: "ctx.json?.date_first != null" on_failure: - append: field: error.message - value: 'Error parsing date_first field value "{{{ json.date_first }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - date: field: json.date_last target_field: threat.indicator.last_seen + tag: date-last_seen formats: - ISO8601 if: "ctx.json?.date_last != null" on_failure: - append: field: error.message - value: 'Error parsing date_last field value "{{{ json.date_last }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + + - set: + field: _temp_.timestamp + copy_from: json.added_at + if: ctx.json?.added_at != null + + - set: + field: _temp_.timestamp + copy_from: json.deleted_at + if: ctx.json?.deleted_at != null && ctx._temp_?.timestamp == null + - set: + field: "@timestamp" + copy_from: _temp_.timestamp + if: ctx._temp_?.timestamp != null # # Map IP geolocation fields. # @@ -450,6 +486,7 @@ processors: ignore_missing: true - remove: field: + - _temp_ - _conf - json.asn - json.date_first @@ -467,6 +504,9 @@ processors: target_field: anomali.threatstream on_failure: + - set: + field: event.kind + value: pipeline_error - append: field: error.message - value: "{{ _ingest.on_failure_message }}" + value: '{{{ _ingest.on_failure_message }}}' diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/agent.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/agent.yml index da4e652c5..2bc58530b 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/agent.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/agent.yml @@ -5,180 +5,15 @@ footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' type: group fields: - - name: account.id - level: extended - type: keyword - ignore_above: 1024 - description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. - - Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' - example: 666777888999 - - name: availability_zone - level: extended - type: keyword - ignore_above: 1024 - description: Availability zone in which this host is running. - example: us-east-1c - - name: instance.id - level: extended - type: keyword - ignore_above: 1024 - description: Instance ID of the host machine. - example: i-1234567890abcdef0 - - name: instance.name - level: extended - type: keyword - ignore_above: 1024 - description: Instance name of the host machine. - - name: machine.type - level: extended - type: keyword - ignore_above: 1024 - description: Machine type of the host machine. - example: t2.medium - - name: provider - level: extended - type: keyword - ignore_above: 1024 - description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. - example: aws - - name: region - level: extended - type: keyword - ignore_above: 1024 - description: Region in which this host is running. - example: us-east-1 - - name: project.id - type: keyword - description: Name of the project in Google Cloud. - name: image.id type: keyword description: Image ID for the cloud instance. -- name: container - title: Container - group: 2 - description: 'Container fields are used for meta information about the specific container that is the source of information. - - These fields help correlate data based containers from any runtime.' - type: group - fields: - - name: id - level: core - type: keyword - ignore_above: 1024 - description: Unique container id. - - name: image.name - level: extended - type: keyword - ignore_above: 1024 - description: Name of the image the container was built on. - - name: labels - level: extended - type: object - object_type: keyword - description: Image labels. - - name: name - level: extended - type: keyword - ignore_above: 1024 - description: Container name. - name: host title: Host group: 2 - description: 'A host is defined as a general computing instance. - - ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' + description: 'A host is defined as a general computing instance. ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' type: group fields: - - name: architecture - level: core - type: keyword - ignore_above: 1024 - description: Operating system architecture. - example: x86_64 - - name: domain - level: extended - type: keyword - ignore_above: 1024 - description: 'Name of the domain of which the host is a member. - - For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' - example: CONTOSO - default_field: false - - name: hostname - level: core - type: keyword - ignore_above: 1024 - description: 'Hostname of the host. - - It normally contains what the `hostname` command returns on the host machine.' - - name: id - level: core - type: keyword - ignore_above: 1024 - description: 'Unique host id. - - As hostname is not always unique, use values that are meaningful in your environment. - - Example: The current usage of `beat.name`.' - - name: ip - level: core - type: ip - description: Host ip addresses. - - name: mac - level: core - type: keyword - ignore_above: 1024 - description: Host mac addresses. - - name: name - level: core - type: keyword - ignore_above: 1024 - description: 'Name of the host. - - It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' - - name: os.family - level: extended - type: keyword - ignore_above: 1024 - description: OS family (such as redhat, debian, freebsd, windows). - example: debian - - name: os.kernel - level: extended - type: keyword - ignore_above: 1024 - description: Operating system kernel version as a raw string. - example: 4.4.0-112-generic - - name: os.name - level: extended - type: keyword - ignore_above: 1024 - multi_fields: - - name: text - type: text - norms: false - default_field: false - description: Operating system name, without the version. - example: Mac OS X - - name: os.platform - level: extended - type: keyword - ignore_above: 1024 - description: Operating system platform (such centos, ubuntu, windows). - example: darwin - - name: os.version - level: extended - type: keyword - ignore_above: 1024 - description: Operating system version as a raw string. - example: 10.14.1 - - name: type - level: core - type: keyword - ignore_above: 1024 - description: 'Type of host. - - For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' - name: containerized type: boolean description: > diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/beats.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/beats.yml index cb44bb294..961902555 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/beats.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/beats.yml @@ -7,6 +7,3 @@ - name: log.offset type: long description: Offset of the entry in the log file. -- name: log.file.path - type: keyword - description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/ecs.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/ecs.yml index 77d94bcd2..e3ba6a4be 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/ecs.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/ecs.yml @@ -1,70 +1,6 @@ -- external: ecs - name: ecs.version -- external: ecs - name: message -- external: ecs - name: tags -- external: ecs - name: error.message -- external: ecs - name: event.severity -- external: ecs - name: event.category -- external: ecs - name: event.ingested -- external: ecs - name: event.kind -- external: ecs - name: event.type -- external: ecs - name: event.created -- external: ecs - name: event.original - external: ecs name: threat.indicator.first_seen - external: ecs name: threat.indicator.last_seen - external: ecs - name: threat.indicator.type -- external: ecs - name: threat.indicator.ip -- external: ecs - name: threat.indicator.url.domain -- external: ecs - name: threat.indicator.url.full -- external: ecs - name: threat.indicator.url.extension -- external: ecs - name: threat.indicator.url.original -- external: ecs - name: threat.indicator.url.path -- external: ecs - name: threat.indicator.url.port -- external: ecs - name: threat.indicator.url.scheme -- external: ecs - name: threat.indicator.url.query -- external: ecs - name: threat.indicator.file.hash.md5 -- external: ecs - name: threat.indicator.file.hash.sha1 -- external: ecs - name: threat.indicator.file.hash.sha256 -- external: ecs - name: threat.indicator.file.hash.sha512 -- external: ecs - name: threat.indicator.email.address -- external: ecs - name: threat.indicator.provider -- external: ecs - name: threat.indicator.marking.tlp -- external: ecs - name: threat.indicator.confidence -- external: ecs - name: threat.indicator.as.number -- external: ecs - name: threat.indicator.as.organization.name -- external: ecs - name: threat.indicator.geo.location -- external: ecs - name: threat.indicator.geo.country_iso_code + name: threat.indicator.modified_at diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/fields.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/fields.yml index f9adc5413..3efaf706f 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/fields.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/fields/fields.yml @@ -100,3 +100,7 @@ type: date description: >- Date when IOC was deleted/expired. +- name: labels.is_ioc_transform_source + type: constant_keyword + value: "true" + description: Field indicating if its the transform source for supporting IOC expiration. This field is dropped from destination indices to facilitate easier filtering of indicators. diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/lifecycle.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/lifecycle.yml new file mode 100644 index 000000000..5a4af9095 --- /dev/null +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/lifecycle.yml @@ -0,0 +1 @@ +data_retention: "5d" diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/manifest.yml b/test/packages/parallel/ti_anomali/data_stream/threatstream/manifest.yml index c1cd9f11c..b55217521 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/manifest.yml +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/manifest.yml @@ -36,12 +36,13 @@ streams: show_user: false default: application/x-ndjson - name: secret - type: text + type: password title: HMAC secret key description: Secret key to authenticate requests from the SDK. multi: false required: false show_user: true + secret: true - name: ssl type: yaml title: TLS diff --git a/test/packages/parallel/ti_anomali/data_stream/threatstream/sample_event.json b/test/packages/parallel/ti_anomali/data_stream/threatstream/sample_event.json index c892304a3..2cde432bb 100644 --- a/test/packages/parallel/ti_anomali/data_stream/threatstream/sample_event.json +++ b/test/packages/parallel/ti_anomali/data_stream/threatstream/sample_event.json @@ -1,18 +1,18 @@ { - "@timestamp": "2023-04-06T13:28:42.596Z", + "@timestamp": "2020-10-08T12:22:11.000Z", "agent": { - "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "ephemeral_id": "2f4f6445-5077-4a66-8582-2c74e071b6dd", + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.8.0" + "version": "8.13.0" }, "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", "classification": "public", "confidence": 20, - "deleted_at": "2021-01-06T12:22:11.000Z", + "deleted_at": "2020-10-13T12:22:11.000Z", "detail2": "imported by user 184", "id": "3135167627", "import_session_id": "1400", @@ -30,26 +30,30 @@ }, "data_stream": { "dataset": "ti_anomali.threatstream", - "namespace": "ep", + "namespace": "44735", "type": "logs" }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", - "snapshot": true, - "version": "8.8.0" + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", + "snapshot": false, + "version": "8.13.0" }, "event": { "agent_id_status": "verified", - "category": "threat", + "category": [ + "threat" + ], "dataset": "ti_anomali.threatstream", - "ingested": "2023-04-06T13:28:43Z", + "ingested": "2024-08-01T07:49:22Z", "kind": "enrichment", "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "input": { "type": "http_endpoint" diff --git a/test/packages/parallel/ti_anomali/docs/README.md b/test/packages/parallel/ti_anomali/docs/README.md index 91f0d3256..02f9ef713 100644 --- a/test/packages/parallel/ti_anomali/docs/README.md +++ b/test/packages/parallel/ti_anomali/docs/README.md @@ -17,13 +17,23 @@ explanation on how to configure the Anomali ThreatStream to send indicator to this integration. ### Expiration of Indicators of Compromise (IOCs) -The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream-2` which only contains active and unexpired IOCs. The destination index also has an alias `logs-ti_anomali_latest.threatstream`. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. #### Handling Orphaned IOCs When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. **NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. +### Destination index versioning and deleting older versions +The destination indices created by the transform are versioned with an integer suffix such as `-1`, `-2`. Example index name - `logs-ti_anomali_latest.threatstream-1`. + +Due to schema changes on destination index, the versioning on it could be bumped. For example, in integration version `1.15.1`, the destination index is changed to `logs-ti_anomali_latest.threatstream-2` from `logs-ti_anomali_latest.threatstream-1`. + +Since the transform does not have the functionality to auto-delete the old index, users must to delete this old index manually. This is to ensure duplicates are not present when using wildcard queries such as `logs-ti_anomali_latest.threatstream-*`. Please follow below steps: +1. After upgrading the integration to latest, check the current transform's destination index version by navigating via: `Stack Management -> Transforms -> logs-ti_anomali.latest_ioc-default -> Details`. Check `destination_index` value. +2. Run `GET _cat/indices?v` and check if any older versions exist. Such as `logs-ti_anomali_latest.threatstream-1` +3. Run `DELETE logs-ti_anomali_latest.threatstream-` to delete the old index. + ### ILM Policy To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. @@ -32,20 +42,20 @@ An example event for `threatstream` looks as following: ```json { - "@timestamp": "2023-04-06T13:28:42.596Z", + "@timestamp": "2020-10-08T12:22:11.000Z", "agent": { - "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "ephemeral_id": "2f4f6445-5077-4a66-8582-2c74e071b6dd", + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.8.0" + "version": "8.13.0" }, "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", "classification": "public", "confidence": 20, - "deleted_at": "2021-01-06T12:22:11.000Z", + "deleted_at": "2020-10-13T12:22:11.000Z", "detail2": "imported by user 184", "id": "3135167627", "import_session_id": "1400", @@ -63,26 +73,30 @@ An example event for `threatstream` looks as following: }, "data_stream": { "dataset": "ti_anomali.threatstream", - "namespace": "ep", + "namespace": "44735", "type": "logs" }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", - "snapshot": true, - "version": "8.8.0" + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", + "snapshot": false, + "version": "8.13.0" }, "event": { "agent_id_status": "verified", - "category": "threat", + "category": [ + "threat" + ], "dataset": "ti_anomali.threatstream", - "ingested": "2023-04-06T13:28:43Z", + "ingested": "2024-08-01T07:49:22Z", "kind": "enrichment", "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "input": { "type": "http_endpoint" @@ -149,83 +163,22 @@ An example event for `threatstream` looks as following: | anomali.threatstream.update_id | Update ID. | keyword | | anomali.threatstream.url | URL for the indicator. | keyword | | anomali.threatstream.value_type | Data type of the indicator. Possible values: ip, domain, url, email, md5. | keyword | -| cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | -| cloud.availability_zone | Availability zone in which this host is running. | keyword | | cloud.image.id | Image ID for the cloud instance. | keyword | -| cloud.instance.id | Instance ID of the host machine. | keyword | -| cloud.instance.name | Instance name of the host machine. | keyword | -| cloud.machine.type | Machine type of the host machine. | keyword | -| cloud.project.id | Name of the project in Google Cloud. | keyword | -| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | -| cloud.region | Region in which this host is running. | keyword | -| container.id | Unique container id. | keyword | -| container.image.name | Name of the image the container was built on. | keyword | -| container.labels | Image labels. | object | -| container.name | Container name. | keyword | | data_stream.dataset | Data stream dataset name. | constant_keyword | | data_stream.namespace | Data stream namespace. | constant_keyword | | data_stream.type | Data stream type. | constant_keyword | -| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | -| error.message | Error message. | match_only_text | -| event.category | This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories. | keyword | -| event.created | event.created contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. In case the two timestamps are identical, @timestamp should be used. | date | | event.dataset | Event dataset | constant_keyword | -| event.ingested | Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` \< `event.created` \< `event.ingested`. | date | -| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword | | event.module | Event module | constant_keyword | -| event.original | Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. | keyword | -| event.severity | The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. | long | -| event.type | This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types. | keyword | -| host.architecture | Operating system architecture. | keyword | | host.containerized | If the host is a container. | boolean | -| host.domain | Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider. | keyword | -| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword | -| host.id | Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`. | keyword | -| host.ip | Host ip addresses. | ip | -| host.mac | Host mac addresses. | keyword | -| host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | | host.os.build | OS build information. | keyword | | host.os.codename | OS codename, if any. | keyword | -| host.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword | -| host.os.kernel | Operating system kernel version as a raw string. | keyword | -| host.os.name | Operating system name, without the version. | keyword | -| host.os.name.text | Multi-field of `host.os.name`. | text | -| host.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword | -| host.os.version | Operating system version as a raw string. | keyword | -| host.type | Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment. | keyword | | input.type | Type of Filebeat input. | keyword | -| log.file.path | Path to the log file. | keyword | +| labels.is_ioc_transform_source | Field indicating if its the transform source for supporting IOC expiration. This field is dropped from destination indices to facilitate easier filtering of indicators. | constant_keyword | | log.flags | Flags for the log file. | keyword | | log.offset | Offset of the entry in the log file. | long | -| message | For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. | match_only_text | -| tags | List of keywords used to tag each event. | keyword | | threat.feed.dashboard_id | Dashboard ID used for Kibana CTI UI | constant_keyword | | threat.feed.name | Display friendly feed name | constant_keyword | -| threat.indicator.as.number | Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. | long | -| threat.indicator.as.organization.name | Organization name. | keyword | -| threat.indicator.as.organization.name.text | Multi-field of `threat.indicator.as.organization.name`. | match_only_text | -| threat.indicator.confidence | Identifies the vendor-neutral confidence rating using the None/Low/Medium/High scale defined in Appendix A of the STIX 2.1 framework. Vendor-specific confidence scales may be added as custom fields. | keyword | -| threat.indicator.email.address | Identifies a threat indicator as an email address (irrespective of direction). | keyword | -| threat.indicator.file.hash.md5 | MD5 hash. | keyword | -| threat.indicator.file.hash.sha1 | SHA1 hash. | keyword | -| threat.indicator.file.hash.sha256 | SHA256 hash. | keyword | -| threat.indicator.file.hash.sha512 | SHA512 hash. | keyword | | threat.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date | -| threat.indicator.geo.country_iso_code | Country ISO code. | keyword | -| threat.indicator.geo.location | Longitude and latitude. | geo_point | -| threat.indicator.ip | Identifies a threat indicator as an IP address (irrespective of direction). | ip | | threat.indicator.last_seen | The date and time when intelligence source last reported sighting this indicator. | date | -| threat.indicator.marking.tlp | Traffic Light Protocol sharing markings. | keyword | -| threat.indicator.provider | The name of the indicator's provider. | keyword | -| threat.indicator.type | Type of indicator as represented by Cyber Observable in STIX 2.0. | keyword | -| threat.indicator.url.domain | Domain of the url, such as "www.elastic.co". In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. | keyword | -| threat.indicator.url.extension | The field contains the file extension from the original request url, excluding the leading dot. The file extension is only set if it exists, as not every url has a file extension. The leading period must not be included. For example, the value must be "png", not ".png". Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). | keyword | -| threat.indicator.url.full | If full URLs are important to your use case, they should be stored in `url.full`, whether this field is reconstructed or present in the event source. | wildcard | -| threat.indicator.url.full.text | Multi-field of `threat.indicator.url.full`. | match_only_text | -| threat.indicator.url.original | Unmodified original url as seen in the event source. Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. | wildcard | -| threat.indicator.url.original.text | Multi-field of `threat.indicator.url.original`. | match_only_text | -| threat.indicator.url.path | Path of the request, such as "/search". | wildcard | -| threat.indicator.url.port | Port of the request, such as 443. | long | -| threat.indicator.url.query | The query field describes the query string of the request, such as "q=elasticsearch". The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. | keyword | -| threat.indicator.url.scheme | Scheme of the request, such as "https". Note: The `:` is not part of the scheme. | keyword | +| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date | diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/agent.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/agent.yml deleted file mode 100644 index da4e652c5..000000000 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/agent.yml +++ /dev/null @@ -1,198 +0,0 @@ -- name: cloud - title: Cloud - group: 2 - description: Fields related to the cloud or infrastructure the events are coming from. - footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' - type: group - fields: - - name: account.id - level: extended - type: keyword - ignore_above: 1024 - description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. - - Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' - example: 666777888999 - - name: availability_zone - level: extended - type: keyword - ignore_above: 1024 - description: Availability zone in which this host is running. - example: us-east-1c - - name: instance.id - level: extended - type: keyword - ignore_above: 1024 - description: Instance ID of the host machine. - example: i-1234567890abcdef0 - - name: instance.name - level: extended - type: keyword - ignore_above: 1024 - description: Instance name of the host machine. - - name: machine.type - level: extended - type: keyword - ignore_above: 1024 - description: Machine type of the host machine. - example: t2.medium - - name: provider - level: extended - type: keyword - ignore_above: 1024 - description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. - example: aws - - name: region - level: extended - type: keyword - ignore_above: 1024 - description: Region in which this host is running. - example: us-east-1 - - name: project.id - type: keyword - description: Name of the project in Google Cloud. - - name: image.id - type: keyword - description: Image ID for the cloud instance. -- name: container - title: Container - group: 2 - description: 'Container fields are used for meta information about the specific container that is the source of information. - - These fields help correlate data based containers from any runtime.' - type: group - fields: - - name: id - level: core - type: keyword - ignore_above: 1024 - description: Unique container id. - - name: image.name - level: extended - type: keyword - ignore_above: 1024 - description: Name of the image the container was built on. - - name: labels - level: extended - type: object - object_type: keyword - description: Image labels. - - name: name - level: extended - type: keyword - ignore_above: 1024 - description: Container name. -- name: host - title: Host - group: 2 - description: 'A host is defined as a general computing instance. - - ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' - type: group - fields: - - name: architecture - level: core - type: keyword - ignore_above: 1024 - description: Operating system architecture. - example: x86_64 - - name: domain - level: extended - type: keyword - ignore_above: 1024 - description: 'Name of the domain of which the host is a member. - - For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' - example: CONTOSO - default_field: false - - name: hostname - level: core - type: keyword - ignore_above: 1024 - description: 'Hostname of the host. - - It normally contains what the `hostname` command returns on the host machine.' - - name: id - level: core - type: keyword - ignore_above: 1024 - description: 'Unique host id. - - As hostname is not always unique, use values that are meaningful in your environment. - - Example: The current usage of `beat.name`.' - - name: ip - level: core - type: ip - description: Host ip addresses. - - name: mac - level: core - type: keyword - ignore_above: 1024 - description: Host mac addresses. - - name: name - level: core - type: keyword - ignore_above: 1024 - description: 'Name of the host. - - It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' - - name: os.family - level: extended - type: keyword - ignore_above: 1024 - description: OS family (such as redhat, debian, freebsd, windows). - example: debian - - name: os.kernel - level: extended - type: keyword - ignore_above: 1024 - description: Operating system kernel version as a raw string. - example: 4.4.0-112-generic - - name: os.name - level: extended - type: keyword - ignore_above: 1024 - multi_fields: - - name: text - type: text - norms: false - default_field: false - description: Operating system name, without the version. - example: Mac OS X - - name: os.platform - level: extended - type: keyword - ignore_above: 1024 - description: Operating system platform (such centos, ubuntu, windows). - example: darwin - - name: os.version - level: extended - type: keyword - ignore_above: 1024 - description: Operating system version as a raw string. - example: 10.14.1 - - name: type - level: core - type: keyword - ignore_above: 1024 - description: 'Type of host. - - For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' - - name: containerized - type: boolean - description: > - If the host is a container. - - - name: os.build - type: keyword - example: "18D109" - description: > - OS build information. - - - name: os.codename - type: keyword - example: "stretch" - description: > - OS codename, if any. - diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/base-fields.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/base-fields.yml deleted file mode 100644 index 378e9e1a1..000000000 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/base-fields.yml +++ /dev/null @@ -1,28 +0,0 @@ -- name: data_stream.type - type: constant_keyword - description: Data stream type. -- name: data_stream.dataset - type: constant_keyword - description: Data stream dataset name. -- name: data_stream.namespace - type: constant_keyword - description: Data stream namespace. -- name: event.module - type: constant_keyword - description: Event module - value: ti_anomali -- name: event.dataset - type: constant_keyword - description: Event dataset - value: ti_anomali.threatstream -- name: threat.feed.name - type: constant_keyword - description: Display friendly feed name - value: Anomali ThreatStream -- name: threat.feed.dashboard_id - type: constant_keyword - description: Dashboard ID used for Kibana CTI UI - value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf -- name: "@timestamp" - type: date - description: Event timestamp. diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/beats.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/beats.yml deleted file mode 100644 index cb44bb294..000000000 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/beats.yml +++ /dev/null @@ -1,12 +0,0 @@ -- name: input.type - type: keyword - description: Type of Filebeat input. -- name: log.flags - type: keyword - description: Flags for the log file. -- name: log.offset - type: long - description: Offset of the entry in the log file. -- name: log.file.path - type: keyword - description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/ecs.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/ecs.yml deleted file mode 100644 index 77d94bcd2..000000000 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/ecs.yml +++ /dev/null @@ -1,70 +0,0 @@ -- external: ecs - name: ecs.version -- external: ecs - name: message -- external: ecs - name: tags -- external: ecs - name: error.message -- external: ecs - name: event.severity -- external: ecs - name: event.category -- external: ecs - name: event.ingested -- external: ecs - name: event.kind -- external: ecs - name: event.type -- external: ecs - name: event.created -- external: ecs - name: event.original -- external: ecs - name: threat.indicator.first_seen -- external: ecs - name: threat.indicator.last_seen -- external: ecs - name: threat.indicator.type -- external: ecs - name: threat.indicator.ip -- external: ecs - name: threat.indicator.url.domain -- external: ecs - name: threat.indicator.url.full -- external: ecs - name: threat.indicator.url.extension -- external: ecs - name: threat.indicator.url.original -- external: ecs - name: threat.indicator.url.path -- external: ecs - name: threat.indicator.url.port -- external: ecs - name: threat.indicator.url.scheme -- external: ecs - name: threat.indicator.url.query -- external: ecs - name: threat.indicator.file.hash.md5 -- external: ecs - name: threat.indicator.file.hash.sha1 -- external: ecs - name: threat.indicator.file.hash.sha256 -- external: ecs - name: threat.indicator.file.hash.sha512 -- external: ecs - name: threat.indicator.email.address -- external: ecs - name: threat.indicator.provider -- external: ecs - name: threat.indicator.marking.tlp -- external: ecs - name: threat.indicator.confidence -- external: ecs - name: threat.indicator.as.number -- external: ecs - name: threat.indicator.as.organization.name -- external: ecs - name: threat.indicator.geo.location -- external: ecs - name: threat.indicator.geo.country_iso_code diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/fields.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/fields.yml index e3fe4dd37..d0a33fa7f 100644 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/fields.yml +++ b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/fields/fields.yml @@ -1,6 +1,4 @@ -- name: "@timestamp" - type: date - description: Event timestamp. +# Datastream fields (copied from ti_anomali/data_stream/threatstream/fields/fields.yml) - name: anomali.threatstream type: group description: > @@ -97,5 +95,413 @@ Data type of the indicator. Possible values: ip, domain, url, email, md5. - name: added_at type: date + description: >- + Date when IOC was added. - name: deleted_at type: date + description: >- + Date when IOC was deleted/expired. +# ECS fields (after build, expanded ECS fields are copied from build/packages/ti_anomali//data_stream/threatstream/fields/ecs.yml) +- description: |- + ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. + When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. + name: ecs.version + type: keyword +- description: |- + For log events the message field contains the log message, optimized for viewing in a log viewer. + For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. + If multiple messages exist, they can be combined into one message. + name: message + type: match_only_text +- description: List of keywords used to tag each event. + name: tags + normalize: + - array + type: keyword +- description: Error message. + name: error.message + type: match_only_text +- description: |- + The numeric severity of the event according to your event source. + What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. + The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. + name: event.severity + type: long +- description: |- + This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. + `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. + This field is an array. This will allow proper categorization of some events that fall in multiple categories. + name: event.category + normalize: + - array + type: keyword +- description: |- + Timestamp when an event arrived in the central data store. + This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. + In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` < `event.created` < `event.ingested`. + name: event.ingested + type: date +- description: |- + This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. + `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. + The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. + name: event.kind + type: keyword +- description: |- + This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. + `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. + This field is an array. This will allow proper categorization of some events that fall in multiple event types. + name: event.type + normalize: + - array + type: keyword +- description: |- + event.created contains the date/time when the event was first read by an agent, or by your pipeline. + This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. + In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. + In case the two timestamps are identical, @timestamp should be used. + name: event.created + type: date +- description: |- + Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. + This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. + doc_values: false + index: false + name: event.original + type: keyword +- description: The date and time when intelligence source first reported sighting this indicator. + name: threat.indicator.first_seen + type: date +- description: The date and time when intelligence source last reported sighting this indicator. + name: threat.indicator.last_seen + type: date +- description: Type of indicator as represented by Cyber Observable in STIX 2.0. + name: threat.indicator.type + type: keyword +- description: Identifies a threat indicator as an IP address (irrespective of direction). + name: threat.indicator.ip + type: ip +- description: |- + Domain of the url, such as "www.elastic.co". + In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. + If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. + name: threat.indicator.url.domain + type: keyword +- description: If full URLs are important to your use case, they should be stored in `url.full`, whether this field is reconstructed or present in the event source. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.url.full + type: wildcard +- description: |- + The field contains the file extension from the original request url, excluding the leading dot. + The file extension is only set if it exists, as not every url has a file extension. + The leading period must not be included. For example, the value must be "png", not ".png". + Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). + name: threat.indicator.url.extension + type: keyword +- description: |- + Unmodified original url as seen in the event source. + Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. + This field is meant to represent the URL as it was observed, complete or not. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.url.original + type: wildcard +- description: Path of the request, such as "/search". + name: threat.indicator.url.path + type: wildcard +- description: Port of the request, such as 443. + name: threat.indicator.url.port + type: long +- description: |- + Scheme of the request, such as "https". + Note: The `:` is not part of the scheme. + name: threat.indicator.url.scheme + type: keyword +- description: |- + The query field describes the query string of the request, such as "q=elasticsearch". + The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. + name: threat.indicator.url.query + type: keyword +- description: MD5 hash. + name: threat.indicator.file.hash.md5 + type: keyword +- description: SHA1 hash. + name: threat.indicator.file.hash.sha1 + type: keyword +- description: SHA256 hash. + name: threat.indicator.file.hash.sha256 + type: keyword +- description: SHA512 hash. + name: threat.indicator.file.hash.sha512 + type: keyword +- description: Identifies a threat indicator as an email address (irrespective of direction). + name: threat.indicator.email.address + type: keyword +- description: The name of the indicator's provider. + name: threat.indicator.provider + type: keyword +- description: Traffic Light Protocol sharing markings. + name: threat.indicator.marking.tlp + type: keyword +- description: Identifies the vendor-neutral confidence rating using the None/Low/Medium/High scale defined in Appendix A of the STIX 2.1 framework. Vendor-specific confidence scales may be added as custom fields. + name: threat.indicator.confidence + type: keyword +- description: Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. + name: threat.indicator.as.number + type: long +- description: Organization name. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.as.organization.name + type: keyword +- description: Longitude and latitude. + name: threat.indicator.geo.location + type: geo_point +- description: Country ISO code. + name: threat.indicator.geo.country_iso_code + type: keyword +# Beats fields (copied from ti_anomali/data_stream/threatstream/fields/beats.yml) +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.flags + type: keyword + description: Flags for the log file. +- name: log.offset + type: long + description: Offset of the entry in the log file. +- name: log.file.path + type: keyword + description: Path to the log file. +# Base fields (copied from ti_anomali/data_stream/threatstream/fields/base-fields.yml) +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset name. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module + value: ti_anomali +- name: event.dataset + type: constant_keyword + description: Event dataset + value: ti_anomali.threatstream +- name: threat.feed.name + type: constant_keyword + description: Display friendly feed name + value: Anomali ThreatStream +- name: threat.feed.dashboard_id + type: constant_keyword + description: Dashboard ID used for Kibana CTI UI + value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf +- name: "@timestamp" + type: date + description: Event timestamp. +# Agent fields (copied from ti_anomali/data_stream/threatstream/fields/agent.yml) +- name: cloud + title: Cloud + group: 2 + description: Fields related to the cloud or infrastructure the events are coming from. + footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' + type: group + fields: + - name: account.id + level: extended + type: keyword + ignore_above: 1024 + description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. + + Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' + example: 666777888999 + - name: availability_zone + level: extended + type: keyword + ignore_above: 1024 + description: Availability zone in which this host is running. + example: us-east-1c + - name: instance.id + level: extended + type: keyword + ignore_above: 1024 + description: Instance ID of the host machine. + example: i-1234567890abcdef0 + - name: instance.name + level: extended + type: keyword + ignore_above: 1024 + description: Instance name of the host machine. + - name: machine.type + level: extended + type: keyword + ignore_above: 1024 + description: Machine type of the host machine. + example: t2.medium + - name: provider + level: extended + type: keyword + ignore_above: 1024 + description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. + example: aws + - name: region + level: extended + type: keyword + ignore_above: 1024 + description: Region in which this host is running. + example: us-east-1 + - name: project.id + type: keyword + description: Name of the project in Google Cloud. + - name: image.id + type: keyword + description: Image ID for the cloud instance. +- name: container + title: Container + group: 2 + description: 'Container fields are used for meta information about the specific container that is the source of information. + + These fields help correlate data based containers from any runtime.' + type: group + fields: + - name: id + level: core + type: keyword + ignore_above: 1024 + description: Unique container id. + - name: image.name + level: extended + type: keyword + ignore_above: 1024 + description: Name of the image the container was built on. + - name: labels + level: extended + type: object + object_type: keyword + description: Image labels. + - name: name + level: extended + type: keyword + ignore_above: 1024 + description: Container name. +- name: host + title: Host + group: 2 + description: 'A host is defined as a general computing instance. + + ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' + type: group + fields: + - name: architecture + level: core + type: keyword + ignore_above: 1024 + description: Operating system architecture. + example: x86_64 + - name: domain + level: extended + type: keyword + ignore_above: 1024 + description: 'Name of the domain of which the host is a member. + + For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' + example: CONTOSO + default_field: false + - name: hostname + level: core + type: keyword + ignore_above: 1024 + description: 'Hostname of the host. + + It normally contains what the `hostname` command returns on the host machine.' + - name: id + level: core + type: keyword + ignore_above: 1024 + description: 'Unique host id. + + As hostname is not always unique, use values that are meaningful in your environment. + + Example: The current usage of `beat.name`.' + - name: ip + level: core + type: ip + description: Host ip addresses. + - name: mac + level: core + type: keyword + ignore_above: 1024 + description: Host mac addresses. + - name: name + level: core + type: keyword + ignore_above: 1024 + description: 'Name of the host. + + It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' + - name: os.family + level: extended + type: keyword + ignore_above: 1024 + description: OS family (such as redhat, debian, freebsd, windows). + example: debian + - name: os.kernel + level: extended + type: keyword + ignore_above: 1024 + description: Operating system kernel version as a raw string. + example: 4.4.0-112-generic + - name: os.name + level: extended + type: keyword + ignore_above: 1024 + multi_fields: + - name: text + type: text + norms: false + default_field: false + description: Operating system name, without the version. + example: Mac OS X + - name: os.platform + level: extended + type: keyword + ignore_above: 1024 + description: Operating system platform (such centos, ubuntu, windows). + example: darwin + - name: os.version + level: extended + type: keyword + ignore_above: 1024 + description: Operating system version as a raw string. + example: 10.14.1 + - name: type + level: core + type: keyword + ignore_above: 1024 + description: 'Type of host. + + For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' + - name: containerized + type: boolean + description: > + If the host is a container. + + - name: os.build + type: keyword + example: "18D109" + description: > + OS build information. + + - name: os.codename + type: keyword + example: "stretch" + description: > + OS codename, if any. + diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/manifest.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/manifest.yml index 79f3df810..f5296fd0c 100644 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/manifest.yml +++ b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/manifest.yml @@ -2,13 +2,13 @@ start: true destination_index_template: settings: index: - sort.field: - - "@timestamp" - sort.order: - - desc + sort: + field: + - "@timestamp" + order: + - desc mappings: dynamic: true - _meta: {} dynamic_templates: - strings_as_keyword: match_mapping_type: string diff --git a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/transform.yml b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/transform.yml index 715260895..a0a971684 100644 --- a/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/transform.yml +++ b/test/packages/parallel/ti_anomali/elasticsearch/transform/latest_ioc/transform.yml @@ -9,18 +9,22 @@ source: # us that ability in order to prevent having duplicate IoC data and prevent query # time field type conflicts. dest: - index: "logs-ti_anomali_latest.threatstream-1" + index: "logs-ti_anomali_latest.threatstream-2" + aliases: + - alias: "logs-ti_anomali_latest.threatstream" + move_on_creation: true latest: unique_key: - event.dataset - anomali.threatstream.id - sort: "event.ingested" + sort: "@timestamp" description: Latest Anomali IoC data frequency: 30s sync: time: - field: event.ingested - delay: 60s + field: "@timestamp" + # Updated to 120s because of refresh delay in Serverless. With default 60s, sometimes transform wouldn't process all documents. + delay: 120s retention_policy: time: field: anomali.threatstream.deleted_at @@ -28,4 +32,4 @@ retention_policy: _meta: managed: true # Bump this version to delete, reinstall, and restart the transform during package. - fleet_transform_version: 0.1.0 + fleet_transform_version: 0.3.0 diff --git a/test/packages/parallel/ti_anomali/kibana/tags.yml b/test/packages/parallel/ti_anomali/kibana/tags.yml new file mode 100644 index 000000000..47f20a8f5 --- /dev/null +++ b/test/packages/parallel/ti_anomali/kibana/tags.yml @@ -0,0 +1,4 @@ +- text: Security Solution + asset_types: + - dashboard + - search diff --git a/test/packages/parallel/ti_anomali/manifest.yml b/test/packages/parallel/ti_anomali/manifest.yml index e4804fb92..df591d3e9 100644 --- a/test/packages/parallel/ti_anomali/manifest.yml +++ b/test/packages/parallel/ti_anomali/manifest.yml @@ -1,14 +1,13 @@ name: ti_anomali title: Anomali -version: "1.11.0" -release: ga +version: "1.22.1" description: Ingest threat intelligence indicators from Anomali with Elastic Agent. type: integration -format_version: 1.0.0 -license: basic +format_version: 3.0.2 categories: ["security", "threat_intel"] conditions: - kibana.version: ^8.8.0 + kibana: + version: "^8.13.0" icons: - src: /img/anomali.svg title: Anomali @@ -23,4 +22,5 @@ policy_templates: title: "Ingest threat intelligence indicators from Anomali Threatstream." description: "Ingest threat intelligence indicators from Anomali Threatstream." owner: - github: elastic/security-external-integrations + github: elastic/security-service-integrations + type: elastic diff --git a/test/packages/parallel/ti_anomali/validation.yml b/test/packages/parallel/ti_anomali/validation.yml new file mode 100644 index 000000000..a96151416 --- /dev/null +++ b/test/packages/parallel/ti_anomali/validation.yml @@ -0,0 +1,3 @@ +errors: + exclude_checks: + - SVR00005 # Kibana version for saved tags. diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml b/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml index 9da3f46d4..2bfcfc223 100644 --- a/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/build/build.yml @@ -1,3 +1,3 @@ dependencies: ecs: - reference: git@8.7 + reference: "git@v8.11.0" diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md b/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md index d15fa64fe..27f990efe 100644 --- a/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/build/docs/README.md @@ -17,13 +17,23 @@ explanation on how to configure the Anomali ThreatStream to send indicator to this integration. ### Expiration of Indicators of Compromise (IOCs) -The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream-2` which only contains active and unexpired IOCs. The destination index also has an alias `logs-ti_anomali_latest.threatstream`. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. #### Handling Orphaned IOCs When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. **NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. +### Destination index versioning and deleting older versions +The destination indices created by the transform are versioned with an integer suffix such as `-1`, `-2`. Example index name - `logs-ti_anomali_latest.threatstream-1`. + +Due to schema changes on destination index, the versioning on it could be bumped. For example, in integration version `1.15.1`, the destination index is changed to `logs-ti_anomali_latest.threatstream-2` from `logs-ti_anomali_latest.threatstream-1`. + +Since the transform does not have the functionality to auto-delete the old index, users must to delete this old index manually. This is to ensure duplicates are not present when using wildcard queries such as `logs-ti_anomali_latest.threatstream-*`. Please follow below steps: +1. After upgrading the integration to latest, check the current transform's destination index version by navigating via: `Stack Management -> Transforms -> logs-ti_anomali.latest_ioc-default -> Details`. Check `destination_index` value. +2. Run `GET _cat/indices?v` and check if any older versions exist. Such as `logs-ti_anomali_latest.threatstream-1` +3. Run `DELETE logs-ti_anomali_latest.threatstream-` to delete the old index. + ### ILM Policy To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. diff --git a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml index ba5c31a79..1fa46e0ae 100644 --- a/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml +++ b/test/packages/parallel/ti_anomali_logsdb/_dev/deploy/docker/docker-compose.yml @@ -1,7 +1,7 @@ version: '2.3' services: limo-http: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 ports: - 8080 volumes: @@ -13,7 +13,7 @@ services: - --addr=:8080 - --config=/files/config.yml threatstream-webhook-http: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 volumes: - ./sample_logs:/sample_logs:ro environment: @@ -21,7 +21,7 @@ services: - STREAM_ADDR=http://elastic-agent:9080/ command: log --webhook-content-type application/x-ndjson --start-signal=SIGHUP --delay=5s /sample_logs/test-threatstream-ndjson.log threatstream-webhook-https: - image: docker.elastic.co/observability/stream:v0.6.1 + image: docker.elastic.co/observability/stream:v0.15.0 volumes: - ./sample_logs:/sample_logs:ro environment: diff --git a/test/packages/parallel/ti_anomali_logsdb/changelog.yml b/test/packages/parallel/ti_anomali_logsdb/changelog.yml index a0cd38e42..bbdef7327 100644 --- a/test/packages/parallel/ti_anomali_logsdb/changelog.yml +++ b/test/packages/parallel/ti_anomali_logsdb/changelog.yml @@ -1,4 +1,92 @@ # newer versions go on top +- version: "1.22.1" + changes: + - description: Fix ECS date mapping on threat fields. + type: bugfix + link: https://github.com/elastic/integrations/pull/10674 +- version: "1.22.0" + changes: + - description: Update the kibana constraint to ^8.13.0. Modified the field definitions to remove ECS fields made redundant by the ecs@mappings component template. + type: enhancement + link: https://github.com/elastic/integrations/pull/10135 +- version: "1.21.0" + changes: + - description: Add destination index alias and fix docs. + type: enhancement + link: https://github.com/elastic/integrations/pull/9618 +- version: "1.20.0" + changes: + - description: Set sensitive values as secret. + type: enhancement + link: https://github.com/elastic/integrations/pull/9129 +- version: "1.19.2" + changes: + - description: Changed owners + type: enhancement + link: https://github.com/elastic/integrations/pull/8943 +- version: 1.19.1 + changes: + - description: Fix IOC expiration duration character casting. + type: bugfix + link: https://github.com/elastic/integrations/pull/8786 +- version: 1.19.0 + changes: + - description: ECS version updated to 8.11.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/8436 +- version: 1.18.0 + changes: + - description: ECS version updated to 8.10.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7920 +- version: "1.17.0" + changes: + - description: Add DLM policy. Add owner.type to package manifest. Update format_version to 3.0.0 + type: enhancement + link: https://github.com/elastic/integrations/pull/7849 + - description: Add tags.yml file so that integration's dashboards and saved searches are tagged with "Security Solution" and displayed in the Security Solution UI. + type: enhancement + link: https://github.com/elastic/integrations/pull/7789 +- version: "1.16.1" + changes: + - description: Remove dotted YAML keys. + type: bugfix + link: https://github.com/elastic/integrations/pull/7803 +- version: "1.16.0" + changes: + - description: Update package-spec to 2.10.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7613 +- version: "1.15.1" + changes: + - description: Fix destination fields mapping. Note - Since transform's destination index version is changed, users must manually delete the old index. See https://docs.elastic.co/integrations/ti_anomali#logs for details on destination index versioning. + type: bugfix + link: https://github.com/elastic/integrations/issues/6514 +- version: "1.15.0" + changes: + - description: Update package to ECS 8.9.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/7111 +- version: "1.14.1" + changes: + - description: Change sort order field in latest transform + type: bugfix + link: https://github.com/elastic/integrations/pull/7000 +- version: "1.14.0" + changes: + - description: Ensure event.kind is correctly set for pipeline errors. + type: enhancement + link: https://github.com/elastic/integrations/pull/6630 +- version: "1.13.0" + changes: + - description: Update package to ECS 8.8.0. + type: enhancement + link: https://github.com/elastic/integrations/pull/6328 +- version: "1.12.0" + changes: + - description: Add IOC field to transform source to easily filter destination indices with unexpired indicators + type: enhancement + link: https://github.com/elastic/integrations/issues/6344 - version: "1.11.0" changes: - description: Support for IoC Expiration diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json index ddad37774..4fb345e9c 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json @@ -1,5 +1,57 @@ { "events": [ + { + "json": { + "added_at": "2023-06-05T12:35:14.860741", + "classification": "private", + "confidence": 92, + "country": "US", + "date_first": "2020-10-09T18:45:23.000Z", + "date_last": "2020-10-09T18:45:23.000Z", + "detail": "phish-kit-sig-id-43111996,Microsoft", + "detail2": "imported by user 1", + "id": 185029228, + "itype": "phish_url", + "lat": 37.751, + "maltype": "phish-kit-sig-id-43111996", + "resource_uri": "/api/v1/intelligence/22222/", + "severity": "very-high", + "source": "Default Organization", + "source_feed_id": 0, + "srcip": "81.2.69.142", + "state": "active", + "trusted_circle_ids": ",10015,", + "update_id": 376590230, + "url": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "value_type": "url" + } + }, + { + "json": { + "added_at": "2023-06-05T11:03:34.648208", + "classification": "private", + "confidence": 94, + "country": "IN", + "date_first": "2020-10-09T18:45:28.000Z", + "date_last": "2020-10-09T18:45:28.000Z", + "detail": "32-bit,date_added=2020-10-09T15:44:05,elf,mips", + "detail2": "imported by user 1", + "id": 111111, + "itype": "mal_url", + "lat": 28.6327, + "maltype": "32-bit", + "resource_uri": "/api/v1/intelligence/111111/", + "severity": "very-high", + "source": "Default Organization", + "source_feed_id": 0, + "srcip": "81.2.69.192", + "state": "active", + "trusted_circle_ids": ",10015,", + "update_id": 376590649, + "url": "http://81.2.69.192:34011/bin.sh", + "value_type": "url" + } + }, { "json": { "added_at": "2020-10-08T12:22:11", diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json index d5d37930a..269517751 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-anomali-threatstream.json-expected.json @@ -1,6 +1,144 @@ { "expected": [ { + "@timestamp": "2023-06-05T12:35:14.860Z", + "anomali": { + "threatstream": { + "added_at": "2023-06-05T12:35:14.860Z", + "classification": "private", + "confidence": 92, + "detail2": "imported by user 1", + "id": "185029228", + "itype": "phish_url", + "maltype": "phish-kit-sig-id-43111996", + "resource_uri": "/api/v1/intelligence/22222/", + "severity": "very-high", + "source_feed_id": "0", + "state": "active", + "trusted_circle_ids": [ + "10015" + ], + "update_id": "376590230", + "value_type": "url" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "threat" + ], + "kind": "enrichment", + "severity": 9, + "type": [ + "indicator" + ] + }, + "tags": [ + "preserve_original_event", + "phish-kit-sig-id-43111996", + "Microsoft" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:45:23.000Z", + "geo": { + "country_iso_code": "US" + }, + "ip": "81.2.69.142", + "last_seen": "2020-10-09T18:45:23.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Default Organization", + "type": "url", + "url": { + "domain": "example.appspot.com", + "extension": "it", + "full": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "original": "https://example.appspot.com/2/https%40securelogin-example.bp.poste.it", + "path": "/2/https@securelogin-example.bp.poste.it", + "scheme": "https" + } + } + } + }, + { + "@timestamp": "2023-06-05T11:03:34.648Z", + "anomali": { + "threatstream": { + "added_at": "2023-06-05T11:03:34.648Z", + "classification": "private", + "confidence": 94, + "detail2": "imported by user 1", + "id": "111111", + "itype": "mal_url", + "maltype": "32-bit", + "resource_uri": "/api/v1/intelligence/111111/", + "severity": "very-high", + "source_feed_id": "0", + "state": "active", + "trusted_circle_ids": [ + "10015" + ], + "update_id": "376590649", + "value_type": "url" + } + }, + "ecs": { + "version": "8.11.0" + }, + "event": { + "category": [ + "threat" + ], + "kind": "enrichment", + "severity": 9, + "type": [ + "indicator" + ] + }, + "tags": [ + "preserve_original_event", + "32-bit", + "date_added=2020-10-09T15:44:05", + "elf", + "mips" + ], + "threat": { + "indicator": { + "confidence": "High", + "first_seen": "2020-10-09T18:45:28.000Z", + "geo": { + "country_iso_code": "IN" + }, + "ip": "81.2.69.192", + "last_seen": "2020-10-09T18:45:28.000Z", + "marking": { + "tlp": [ + "AMBER" + ] + }, + "provider": "Default Organization", + "type": "url", + "url": { + "domain": "81.2.69.192", + "extension": "sh", + "full": "http://81.2.69.192:34011/bin.sh", + "original": "http://81.2.69.192:34011/bin.sh", + "path": "/bin.sh", + "port": 34011, + "scheme": "http" + } + } + } + }, + { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -22,13 +160,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -65,6 +207,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -87,13 +230,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -127,6 +274,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -150,13 +298,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -191,6 +343,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -213,13 +366,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -245,6 +402,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -268,13 +426,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -309,6 +471,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -332,13 +495,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -373,6 +540,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -396,13 +564,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -436,6 +608,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -456,13 +629,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -488,6 +665,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -510,13 +688,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -550,6 +732,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -573,13 +756,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -614,6 +801,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -635,13 +823,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -669,6 +861,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -691,13 +884,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -724,6 +921,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -747,13 +945,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -787,6 +989,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -808,13 +1011,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -842,6 +1049,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -865,13 +1073,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -898,6 +1110,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -919,13 +1132,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -953,6 +1170,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -975,13 +1193,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1009,6 +1231,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1032,13 +1255,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1065,6 +1292,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1088,13 +1316,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1121,6 +1353,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1144,13 +1377,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1177,6 +1414,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1199,13 +1437,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1232,6 +1474,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1254,13 +1497,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1291,6 +1538,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1312,13 +1560,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1345,6 +1597,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1367,13 +1620,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1407,6 +1664,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1429,13 +1687,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1463,6 +1725,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1486,13 +1749,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1519,6 +1786,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1542,13 +1810,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1576,6 +1848,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1597,13 +1870,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1629,6 +1906,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1650,13 +1928,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1690,6 +1972,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1712,13 +1995,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1752,6 +2039,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1775,13 +2063,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1808,6 +2100,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1831,13 +2124,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1865,6 +2162,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1888,13 +2186,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1921,6 +2223,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1944,13 +2247,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -1977,6 +2284,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -1998,13 +2306,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2031,6 +2343,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2054,13 +2367,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2087,6 +2404,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2110,13 +2428,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2142,6 +2464,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2164,13 +2487,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2197,6 +2524,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2219,13 +2547,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2259,6 +2591,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2280,13 +2613,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2313,6 +2650,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2334,13 +2672,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2367,6 +2709,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2390,13 +2733,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2423,6 +2770,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2446,13 +2794,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2486,6 +2838,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2509,13 +2862,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2543,6 +2900,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2565,13 +2923,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2605,6 +2967,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2626,13 +2989,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2666,6 +3033,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2688,13 +3056,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2722,6 +3094,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2743,13 +3116,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2776,6 +3153,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2798,13 +3176,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2832,6 +3214,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2854,13 +3237,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2887,6 +3274,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2910,13 +3298,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -2950,6 +3342,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -2971,13 +3364,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3004,6 +3401,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3026,13 +3424,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3058,6 +3460,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3080,13 +3483,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3112,6 +3519,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3133,13 +3541,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3173,6 +3585,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3195,13 +3608,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3227,6 +3644,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3249,13 +3667,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3283,6 +3705,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3304,13 +3727,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3338,6 +3765,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3360,13 +3788,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3393,6 +3825,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3415,13 +3848,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3448,6 +3885,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3471,13 +3909,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3511,6 +3953,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3532,13 +3975,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3566,6 +4013,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3588,13 +4036,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3622,6 +4074,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3643,13 +4096,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3677,6 +4134,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3699,13 +4157,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3732,6 +4194,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3755,13 +4218,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3788,6 +4255,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3811,13 +4279,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3845,6 +4317,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3866,13 +4339,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3898,6 +4375,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3920,13 +4398,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -3960,6 +4442,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -3982,13 +4465,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4015,6 +4502,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4036,13 +4524,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4069,6 +4561,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4090,13 +4583,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4123,6 +4620,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4145,13 +4643,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4185,6 +4687,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4206,13 +4709,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4239,6 +4746,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4261,13 +4769,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4294,6 +4806,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4315,13 +4828,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4348,6 +4865,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4371,13 +4889,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4411,6 +4933,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4432,13 +4955,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4466,6 +4993,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4489,13 +5017,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4522,6 +5054,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4544,13 +5077,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4589,6 +5126,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4612,13 +5150,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4652,6 +5194,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4674,13 +5217,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4706,6 +5253,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4727,13 +5275,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4764,6 +5316,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4786,13 +5339,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4826,6 +5383,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4848,13 +5406,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4888,6 +5450,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4911,13 +5474,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -4956,6 +5523,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -4979,13 +5547,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5019,6 +5591,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5041,13 +5614,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5078,6 +5655,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5099,13 +5677,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5138,6 +5720,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5159,13 +5742,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5199,6 +5786,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5221,13 +5809,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5261,6 +5853,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5282,13 +5875,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5322,6 +5919,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5343,13 +5941,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", @@ -5380,6 +5982,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5403,13 +6006,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5444,6 +6051,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5464,13 +6072,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 5, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5492,6 +6104,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5514,13 +6127,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 9, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5542,6 +6159,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", @@ -5562,13 +6180,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5590,6 +6212,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "public", @@ -5612,13 +6235,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5640,6 +6267,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "private", @@ -5661,13 +6289,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event" @@ -5689,6 +6321,7 @@ } }, { + "@timestamp": "2020-10-08T12:22:11.000Z", "anomali": { "threatstream": { "classification": "private", @@ -5711,13 +6344,17 @@ } }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "event": { - "category": "threat", + "category": [ + "threat" + ], "kind": "enrichment", "severity": 3, - "type": "indicator" + "type": [ + "indicator" + ] }, "tags": [ "preserve_original_event", diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml index a09fe0726..1c6e6745e 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/pipeline/test-common-config.yml @@ -2,4 +2,4 @@ fields: tags: - preserve_original_event dynamic_fields: - event.ingested: "^.*$" + "event.ingested": "^.*$" diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml index acf46d437..212232f37 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-integrator-http-config.yml @@ -8,4 +8,6 @@ data_stream: listen_port: 9080 secret: TheSecret preserve_original_event: true - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d +assert: + hit_count: 1 diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml index 4c6083998..ec6e03df0 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-http-config.yml @@ -6,5 +6,7 @@ data_stream: vars: listen_address: 0.0.0.0 listen_port: 9080 - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d preserve_original_event: true +assert: + hit_count: 100 diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml index b45b7b44b..3ab3a7c14 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/_dev/test/system/test-webhook-https-config.yml @@ -7,7 +7,7 @@ data_stream: listen_address: 0.0.0.0 listen_port: 7443 preserve_original_event: true - ioc_expiration_duration: "5d" + ioc_expiration_duration: 5d ssl: |- certificate: | -----BEGIN CERTIFICATE----- @@ -59,3 +59,5 @@ data_stream: Iqi7is4z2mP8pbcIIlmloogE -----END PRIVATE KEY----- verification_mode: none +assert: + hit_count: 100 diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs index e4072b22f..64038ee44 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/agent/stream/http_endpoint.yml.hbs @@ -31,7 +31,7 @@ ssl: {{ssl}} fields_under_root: true fields: _conf: - ioc_expiration_duration: "{{ioc_expiration_duration}}" + ioc_expiration_duration: {{ioc_expiration_duration}} {{/if}} {{#if preserve_original_event}} diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_policy.json similarity index 100% rename from test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_poilcy.json rename to test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ilm/default_policy.json diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml index 43c9768c2..baad31861 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/elasticsearch/ingest_pipeline/default.yml @@ -6,23 +6,22 @@ processors: # - set: field: ecs.version - value: '8.7.0' + value: '8.11.0' - set: field: event.kind value: enrichment - set: field: event.category - value: threat + value: [threat] - set: field: event.type - value: indicator - + value: [indicator] # # Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). # - script: lang: painless - if: "ctx.json.itype != null" + if: "ctx.json?.itype != null" description: > Map itype field to STIX 2.0 Cyber Observable values (threat.indicator.type). params: @@ -139,44 +138,65 @@ processors: source: > def dur = ctx._conf.ioc_expiration_duration; String added_at = ctx.json.added_at; + ZonedDateTime _tmp_deleted_at; if (dur instanceof String){ - Character time_unit = dur.charAt(dur.length() - 1); - String time_value = dur.substring(0, dur.length()); - if (time_unit == 'd') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(Long.parseLong(time_value)); - } else if (time_unit == 'h') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusHours(Long.parseLong(time_value)); - } else if (time_unit == 'm') { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusMinutes(Long.parseLong(time_value)); + char time_unit; + String time_value; + if (dur.length() != 0){ + time_unit = dur.charAt(dur.length() - 1); + time_value = dur.substring(0, dur.length() - 1); + } + if (time_unit == (char)'d') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(Long.parseLong(time_value)); + } else if (time_unit == (char)'h') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusHours(Long.parseLong(time_value)); + } else if (time_unit == (char)'m') { + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusMinutes(Long.parseLong(time_value)); } else { - ctx.json.deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(90L); - } + if (ctx.error == null) { + ctx.error = new HashMap(); + } + if (ctx.error.message == null) { + ctx.error.message = new ArrayList(); + } + ctx.error.message.add('invalid ioc_expiration_duration: using default 90 days'); + _tmp_deleted_at = ZonedDateTime.parse(added_at, DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.of('Z'))).plusDays(90L); + } + ctx.json.deleted_at = _tmp_deleted_at; } + on_failure: + - append: + field: error.message + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # Map added_at - date: field: json.added_at target_field: json.added_at + tag: date-added_at formats: - ISO8601 + - strict_date_optional_time_nanos if: "ctx.json?.added_at != null" on_failure: - append: field: error.message - value: 'Error parsing added_at field value "{{{ json.added_at }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # Map deleted_at - date: field: json.deleted_at target_field: json.deleted_at + tag: date-deleted_at formats: - ISO8601 + - strict_date_optional_time_nanos if: "ctx.json?.deleted_at != null" on_failure: - append: field: error.message - value: 'Error parsing deleted_at field value "{{{ json.deleted_at }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' # # Map first and last seen dates. @@ -184,25 +204,41 @@ processors: - date: field: json.date_first target_field: threat.indicator.first_seen + tag: date-date_first formats: - ISO8601 if: "ctx.json?.date_first != null" on_failure: - append: field: error.message - value: 'Error parsing date_first field value "{{{ json.date_first }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' - date: field: json.date_last target_field: threat.indicator.last_seen + tag: date-last_seen formats: - ISO8601 if: "ctx.json?.date_last != null" on_failure: - append: field: error.message - value: 'Error parsing date_last field value "{{{ json.date_last }}}": {{{ _ingest.on_failure_message }}}' + value: 'Processor {{{_ingest.on_failure_processor_type}}} with tag fail-{{{_ingest.on_failure_processor_tag}}} in pipeline {{{_ingest.pipeline}}} failed with message: {{{_ingest.on_failure_message}}}' + + - set: + field: _temp_.timestamp + copy_from: json.added_at + if: ctx.json?.added_at != null + + - set: + field: _temp_.timestamp + copy_from: json.deleted_at + if: ctx.json?.deleted_at != null && ctx._temp_?.timestamp == null + - set: + field: "@timestamp" + copy_from: _temp_.timestamp + if: ctx._temp_?.timestamp != null # # Map IP geolocation fields. # @@ -450,6 +486,7 @@ processors: ignore_missing: true - remove: field: + - _temp_ - _conf - json.asn - json.date_first @@ -467,6 +504,9 @@ processors: target_field: anomali.threatstream on_failure: + - set: + field: event.kind + value: pipeline_error - append: field: error.message - value: "{{ _ingest.on_failure_message }}" + value: '{{{ _ingest.on_failure_message }}}' diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/agent.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/agent.yml index da4e652c5..2bc58530b 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/agent.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/agent.yml @@ -5,180 +5,15 @@ footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' type: group fields: - - name: account.id - level: extended - type: keyword - ignore_above: 1024 - description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. - - Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' - example: 666777888999 - - name: availability_zone - level: extended - type: keyword - ignore_above: 1024 - description: Availability zone in which this host is running. - example: us-east-1c - - name: instance.id - level: extended - type: keyword - ignore_above: 1024 - description: Instance ID of the host machine. - example: i-1234567890abcdef0 - - name: instance.name - level: extended - type: keyword - ignore_above: 1024 - description: Instance name of the host machine. - - name: machine.type - level: extended - type: keyword - ignore_above: 1024 - description: Machine type of the host machine. - example: t2.medium - - name: provider - level: extended - type: keyword - ignore_above: 1024 - description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. - example: aws - - name: region - level: extended - type: keyword - ignore_above: 1024 - description: Region in which this host is running. - example: us-east-1 - - name: project.id - type: keyword - description: Name of the project in Google Cloud. - name: image.id type: keyword description: Image ID for the cloud instance. -- name: container - title: Container - group: 2 - description: 'Container fields are used for meta information about the specific container that is the source of information. - - These fields help correlate data based containers from any runtime.' - type: group - fields: - - name: id - level: core - type: keyword - ignore_above: 1024 - description: Unique container id. - - name: image.name - level: extended - type: keyword - ignore_above: 1024 - description: Name of the image the container was built on. - - name: labels - level: extended - type: object - object_type: keyword - description: Image labels. - - name: name - level: extended - type: keyword - ignore_above: 1024 - description: Container name. - name: host title: Host group: 2 - description: 'A host is defined as a general computing instance. - - ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' + description: 'A host is defined as a general computing instance. ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' type: group fields: - - name: architecture - level: core - type: keyword - ignore_above: 1024 - description: Operating system architecture. - example: x86_64 - - name: domain - level: extended - type: keyword - ignore_above: 1024 - description: 'Name of the domain of which the host is a member. - - For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' - example: CONTOSO - default_field: false - - name: hostname - level: core - type: keyword - ignore_above: 1024 - description: 'Hostname of the host. - - It normally contains what the `hostname` command returns on the host machine.' - - name: id - level: core - type: keyword - ignore_above: 1024 - description: 'Unique host id. - - As hostname is not always unique, use values that are meaningful in your environment. - - Example: The current usage of `beat.name`.' - - name: ip - level: core - type: ip - description: Host ip addresses. - - name: mac - level: core - type: keyword - ignore_above: 1024 - description: Host mac addresses. - - name: name - level: core - type: keyword - ignore_above: 1024 - description: 'Name of the host. - - It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' - - name: os.family - level: extended - type: keyword - ignore_above: 1024 - description: OS family (such as redhat, debian, freebsd, windows). - example: debian - - name: os.kernel - level: extended - type: keyword - ignore_above: 1024 - description: Operating system kernel version as a raw string. - example: 4.4.0-112-generic - - name: os.name - level: extended - type: keyword - ignore_above: 1024 - multi_fields: - - name: text - type: text - norms: false - default_field: false - description: Operating system name, without the version. - example: Mac OS X - - name: os.platform - level: extended - type: keyword - ignore_above: 1024 - description: Operating system platform (such centos, ubuntu, windows). - example: darwin - - name: os.version - level: extended - type: keyword - ignore_above: 1024 - description: Operating system version as a raw string. - example: 10.14.1 - - name: type - level: core - type: keyword - ignore_above: 1024 - description: 'Type of host. - - For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' - name: containerized type: boolean description: > diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml index a83a8f45e..9af7d1947 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/base-fields.yml @@ -10,7 +10,7 @@ - name: event.module type: constant_keyword description: Event module - value: ti_anomali + value: ti_anomali_logsdb - name: event.dataset type: constant_keyword description: Event dataset @@ -22,7 +22,7 @@ - name: threat.feed.dashboard_id type: constant_keyword description: Dashboard ID used for Kibana CTI UI - value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf + value: ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf - name: "@timestamp" type: date description: Event timestamp. diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml index cb44bb294..961902555 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/beats.yml @@ -7,6 +7,3 @@ - name: log.offset type: long description: Offset of the entry in the log file. -- name: log.file.path - type: keyword - description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml index 77d94bcd2..e3ba6a4be 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/fields/ecs.yml @@ -1,70 +1,6 @@ -- external: ecs - name: ecs.version -- external: ecs - name: message -- external: ecs - name: tags -- external: ecs - name: error.message -- external: ecs - name: event.severity -- external: ecs - name: event.category -- external: ecs - name: event.ingested -- external: ecs - name: event.kind -- external: ecs - name: event.type -- external: ecs - name: event.created -- external: ecs - name: event.original - external: ecs name: threat.indicator.first_seen - external: ecs name: threat.indicator.last_seen - external: ecs - name: threat.indicator.type -- external: ecs - name: threat.indicator.ip -- external: ecs - name: threat.indicator.url.domain -- external: ecs - name: threat.indicator.url.full -- external: ecs - name: threat.indicator.url.extension -- external: ecs - name: threat.indicator.url.original -- external: ecs - name: threat.indicator.url.path -- external: ecs - name: threat.indicator.url.port -- external: ecs - name: threat.indicator.url.scheme -- external: ecs - name: threat.indicator.url.query -- external: ecs - name: threat.indicator.file.hash.md5 -- external: ecs - name: threat.indicator.file.hash.sha1 -- external: ecs - name: threat.indicator.file.hash.sha256 -- external: ecs - name: threat.indicator.file.hash.sha512 -- external: ecs - name: threat.indicator.email.address -- external: ecs - name: threat.indicator.provider -- external: ecs - name: threat.indicator.marking.tlp -- external: ecs - name: threat.indicator.confidence -- external: ecs - name: threat.indicator.as.number -- external: ecs - name: threat.indicator.as.organization.name -- external: ecs - name: threat.indicator.geo.location -- external: ecs - name: threat.indicator.geo.country_iso_code + name: threat.indicator.modified_at diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/lifecycle.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/lifecycle.yml new file mode 100644 index 000000000..5a4af9095 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/lifecycle.yml @@ -0,0 +1 @@ +data_retention: "5d" diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml index c1cd9f11c..3df413f9f 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/manifest.yml @@ -1,6 +1,6 @@ type: logs title: Anomali Threatstream -ilm_policy: logs-ti_anomali.threatstream-default_policy +ilm_policy: logs-ti_anomali_logsdb.threatstream-default_policy streams: - input: http_endpoint vars: @@ -36,12 +36,13 @@ streams: show_user: false default: application/x-ndjson - name: secret - type: text + type: password title: HMAC secret key description: Secret key to authenticate requests from the SDK. multi: false required: false show_user: true + secret: true - name: ssl type: yaml title: TLS diff --git a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json index c892304a3..1c53ed5fa 100644 --- a/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json +++ b/test/packages/parallel/ti_anomali_logsdb/data_stream/threatstream/sample_event.json @@ -1,18 +1,18 @@ { - "@timestamp": "2023-04-06T13:28:42.596Z", + "@timestamp": "2020-10-08T12:22:11.000Z", "agent": { - "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "ephemeral_id": "2f4f6445-5077-4a66-8582-2c74e071b6dd", + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.8.0" + "version": "8.13.0" }, "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", "classification": "public", "confidence": 20, - "deleted_at": "2021-01-06T12:22:11.000Z", + "deleted_at": "2020-10-13T12:22:11.000Z", "detail2": "imported by user 184", "id": "3135167627", "import_session_id": "1400", @@ -29,27 +29,31 @@ } }, "data_stream": { - "dataset": "ti_anomali.threatstream", - "namespace": "ep", + "dataset": "ti_anomali_logsdb.threatstream", + "namespace": "44735", "type": "logs" }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", - "snapshot": true, - "version": "8.8.0" + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", + "snapshot": false, + "version": "8.13.0" }, "event": { "agent_id_status": "verified", - "category": "threat", - "dataset": "ti_anomali.threatstream", - "ingested": "2023-04-06T13:28:43Z", + "category": [ + "threat" + ], + "dataset": "ti_anomali_logsdb.threatstream", + "ingested": "2024-08-01T07:49:22Z", "kind": "enrichment", "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "input": { "type": "http_endpoint" @@ -89,4 +93,4 @@ } } } -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/docs/README.md b/test/packages/parallel/ti_anomali_logsdb/docs/README.md index 91f0d3256..b947e39d4 100644 --- a/test/packages/parallel/ti_anomali_logsdb/docs/README.md +++ b/test/packages/parallel/ti_anomali_logsdb/docs/README.md @@ -17,13 +17,23 @@ explanation on how to configure the Anomali ThreatStream to send indicator to this integration. ### Expiration of Indicators of Compromise (IOCs) -The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream` which only contains active and unexpired IOCs. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. +The ingested IOCs expire after certain duration. An [Elastic Transform](https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html) is created to faciliate only active IOCs be available to the end users. This transform creates a destination index named `logs-ti_anomali_latest.threatstream-2` which only contains active and unexpired IOCs. The destination index also has an alias `logs-ti_anomali_latest.threatstream`. When setting up indicator match rules, use this latest destination index to avoid false positives from expired IOCs. Please read [ILM Policy](#ilm-policy) below which is added to avoid unbounded growth on source `.ds-logs-ti_anomali.threatstream-*` indices. #### Handling Orphaned IOCs When an IOC expires, Anomali feed contains information about all IOCs that got `deleted`. However, some Anomali IOCs may never expire and will continue to stay in the latest destination index `logs-ti_anomali_latest.threatstream`. To avoid any false positives from such orphaned IOCs, users are allowed to configure `IOC Expiration Duration` parameter while setting up the integration. This parameter deletes all data inside the destination index `logs-ti_anomali_latest.threatstream` after this specified duration is reached. Users must pull entire feed instead of incremental feed when this expiration happens so that the IOCs get reset. **NOTE:** `IOC Expiration Duration` parameter does not override the expiration provided by the Anomali for their IOCs. So, if Anomali IOC is expired and subsequently such `deleted` IOCs are sent into the feed, they are deleted immediately. `IOC Expiration Duration` parameter only exists to add a fail-safe default expiration in case Anomali IOCs never expire. +### Destination index versioning and deleting older versions +The destination indices created by the transform are versioned with an integer suffix such as `-1`, `-2`. Example index name - `logs-ti_anomali_latest.threatstream-1`. + +Due to schema changes on destination index, the versioning on it could be bumped. For example, in integration version `1.15.1`, the destination index is changed to `logs-ti_anomali_latest.threatstream-2` from `logs-ti_anomali_latest.threatstream-1`. + +Since the transform does not have the functionality to auto-delete the old index, users must to delete this old index manually. This is to ensure duplicates are not present when using wildcard queries such as `logs-ti_anomali_latest.threatstream-*`. Please follow below steps: +1. After upgrading the integration to latest, check the current transform's destination index version by navigating via: `Stack Management -> Transforms -> logs-ti_anomali.latest_ioc-default -> Details`. Check `destination_index` value. +2. Run `GET _cat/indices?v` and check if any older versions exist. Such as `logs-ti_anomali_latest.threatstream-1` +3. Run `DELETE logs-ti_anomali_latest.threatstream-` to delete the old index. + ### ILM Policy To facilitate IOC expiration, source datastream-backed indices `.ds-logs-ti_anomali.threat-*` are allowed to contain duplicates from each polling interval. ILM policy is added to these source indices so it doesn't lead to unbounded growth. This means data in these source indices will be deleted after `5 days` from ingested date. @@ -32,20 +42,20 @@ An example event for `threatstream` looks as following: ```json { - "@timestamp": "2023-04-06T13:28:42.596Z", + "@timestamp": "2020-10-08T12:22:11.000Z", "agent": { - "ephemeral_id": "17def365-3319-4bdf-8935-9d8e111b56ec", - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", + "ephemeral_id": "2f4f6445-5077-4a66-8582-2c74e071b6dd", + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", "name": "docker-fleet-agent", "type": "filebeat", - "version": "8.8.0" + "version": "8.13.0" }, "anomali": { "threatstream": { "added_at": "2020-10-08T12:22:11.000Z", "classification": "public", "confidence": 20, - "deleted_at": "2021-01-06T12:22:11.000Z", + "deleted_at": "2020-10-13T12:22:11.000Z", "detail2": "imported by user 184", "id": "3135167627", "import_session_id": "1400", @@ -62,27 +72,31 @@ An example event for `threatstream` looks as following: } }, "data_stream": { - "dataset": "ti_anomali.threatstream", - "namespace": "ep", + "dataset": "ti_anomali_logsdb.threatstream", + "namespace": "44735", "type": "logs" }, "ecs": { - "version": "8.7.0" + "version": "8.11.0" }, "elastic_agent": { - "id": "6267d5cd-3484-4e9a-812d-2a48b7a8f193", - "snapshot": true, - "version": "8.8.0" + "id": "36b03887-7783-4bc4-b8c5-6f8997e4cd1a", + "snapshot": false, + "version": "8.13.0" }, "event": { "agent_id_status": "verified", - "category": "threat", - "dataset": "ti_anomali.threatstream", - "ingested": "2023-04-06T13:28:43Z", + "category": [ + "threat" + ], + "dataset": "ti_anomali_logsdb.threatstream", + "ingested": "2024-08-01T07:49:22Z", "kind": "enrichment", "original": "{\"added_at\":\"2020-10-08T12:22:11\",\"classification\":\"public\",\"confidence\":20,\"country\":\"FR\",\"date_first\":\"2020-10-08T12:21:50\",\"date_last\":\"2020-10-08T12:24:42\",\"detail2\":\"imported by user 184\",\"domain\":\"d4xgfj.example.net\",\"id\":3135167627,\"import_session_id\":1400,\"itype\":\"mal_domain\",\"lat\":-49.1,\"lon\":94.4,\"org\":\"OVH Hosting\",\"resource_uri\":\"/api/v1/intelligence/P46279656657/\",\"severity\":\"high\",\"source\":\"Default Organization\",\"source_feed_id\":3143,\"srcip\":\"89.160.20.156\",\"state\":\"active\",\"trusted_circle_ids\":\"122\",\"update_id\":3786618776,\"value_type\":\"domain\"}", "severity": 7, - "type": "indicator" + "type": [ + "indicator" + ] }, "input": { "type": "http_endpoint" @@ -123,6 +137,7 @@ An example event for `threatstream` looks as following: } } } + ``` **Exported fields** @@ -149,83 +164,22 @@ An example event for `threatstream` looks as following: | anomali.threatstream.update_id | Update ID. | keyword | | anomali.threatstream.url | URL for the indicator. | keyword | | anomali.threatstream.value_type | Data type of the indicator. Possible values: ip, domain, url, email, md5. | keyword | -| cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | -| cloud.availability_zone | Availability zone in which this host is running. | keyword | | cloud.image.id | Image ID for the cloud instance. | keyword | -| cloud.instance.id | Instance ID of the host machine. | keyword | -| cloud.instance.name | Instance name of the host machine. | keyword | -| cloud.machine.type | Machine type of the host machine. | keyword | -| cloud.project.id | Name of the project in Google Cloud. | keyword | -| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | -| cloud.region | Region in which this host is running. | keyword | -| container.id | Unique container id. | keyword | -| container.image.name | Name of the image the container was built on. | keyword | -| container.labels | Image labels. | object | -| container.name | Container name. | keyword | | data_stream.dataset | Data stream dataset name. | constant_keyword | | data_stream.namespace | Data stream namespace. | constant_keyword | | data_stream.type | Data stream type. | constant_keyword | -| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | -| error.message | Error message. | match_only_text | -| event.category | This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories. | keyword | -| event.created | event.created contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. In case the two timestamps are identical, @timestamp should be used. | date | | event.dataset | Event dataset | constant_keyword | -| event.ingested | Timestamp when an event arrived in the central data store. This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` \< `event.created` \< `event.ingested`. | date | -| event.kind | This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. | keyword | | event.module | Event module | constant_keyword | -| event.original | Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. | keyword | -| event.severity | The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. | long | -| event.type | This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. This field is an array. This will allow proper categorization of some events that fall in multiple event types. | keyword | -| host.architecture | Operating system architecture. | keyword | | host.containerized | If the host is a container. | boolean | -| host.domain | Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider. | keyword | -| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword | -| host.id | Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`. | keyword | -| host.ip | Host ip addresses. | ip | -| host.mac | Host mac addresses. | keyword | -| host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | | host.os.build | OS build information. | keyword | | host.os.codename | OS codename, if any. | keyword | -| host.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword | -| host.os.kernel | Operating system kernel version as a raw string. | keyword | -| host.os.name | Operating system name, without the version. | keyword | -| host.os.name.text | Multi-field of `host.os.name`. | text | -| host.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword | -| host.os.version | Operating system version as a raw string. | keyword | -| host.type | Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment. | keyword | | input.type | Type of Filebeat input. | keyword | -| log.file.path | Path to the log file. | keyword | +| labels.is_ioc_transform_source | Field indicating if its the transform source for supporting IOC expiration. This field is dropped from destination indices to facilitate easier filtering of indicators. | constant_keyword | | log.flags | Flags for the log file. | keyword | | log.offset | Offset of the entry in the log file. | long | -| message | For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message. | match_only_text | -| tags | List of keywords used to tag each event. | keyword | | threat.feed.dashboard_id | Dashboard ID used for Kibana CTI UI | constant_keyword | | threat.feed.name | Display friendly feed name | constant_keyword | -| threat.indicator.as.number | Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. | long | -| threat.indicator.as.organization.name | Organization name. | keyword | -| threat.indicator.as.organization.name.text | Multi-field of `threat.indicator.as.organization.name`. | match_only_text | -| threat.indicator.confidence | Identifies the vendor-neutral confidence rating using the None/Low/Medium/High scale defined in Appendix A of the STIX 2.1 framework. Vendor-specific confidence scales may be added as custom fields. | keyword | -| threat.indicator.email.address | Identifies a threat indicator as an email address (irrespective of direction). | keyword | -| threat.indicator.file.hash.md5 | MD5 hash. | keyword | -| threat.indicator.file.hash.sha1 | SHA1 hash. | keyword | -| threat.indicator.file.hash.sha256 | SHA256 hash. | keyword | -| threat.indicator.file.hash.sha512 | SHA512 hash. | keyword | | threat.indicator.first_seen | The date and time when intelligence source first reported sighting this indicator. | date | -| threat.indicator.geo.country_iso_code | Country ISO code. | keyword | -| threat.indicator.geo.location | Longitude and latitude. | geo_point | -| threat.indicator.ip | Identifies a threat indicator as an IP address (irrespective of direction). | ip | | threat.indicator.last_seen | The date and time when intelligence source last reported sighting this indicator. | date | -| threat.indicator.marking.tlp | Traffic Light Protocol sharing markings. | keyword | -| threat.indicator.provider | The name of the indicator's provider. | keyword | -| threat.indicator.type | Type of indicator as represented by Cyber Observable in STIX 2.0. | keyword | -| threat.indicator.url.domain | Domain of the url, such as "www.elastic.co". In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. | keyword | -| threat.indicator.url.extension | The field contains the file extension from the original request url, excluding the leading dot. The file extension is only set if it exists, as not every url has a file extension. The leading period must not be included. For example, the value must be "png", not ".png". Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). | keyword | -| threat.indicator.url.full | If full URLs are important to your use case, they should be stored in `url.full`, whether this field is reconstructed or present in the event source. | wildcard | -| threat.indicator.url.full.text | Multi-field of `threat.indicator.url.full`. | match_only_text | -| threat.indicator.url.original | Unmodified original url as seen in the event source. Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. | wildcard | -| threat.indicator.url.original.text | Multi-field of `threat.indicator.url.original`. | match_only_text | -| threat.indicator.url.path | Path of the request, such as "/search". | wildcard | -| threat.indicator.url.port | Port of the request, such as 443. | long | -| threat.indicator.url.query | The query field describes the query string of the request, such as "q=elasticsearch". The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. | keyword | -| threat.indicator.url.scheme | Scheme of the request, such as "https". Note: The `:` is not part of the scheme. | keyword | +| threat.indicator.modified_at | The date and time when intelligence source last modified information for this indicator. | date | diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml deleted file mode 100644 index da4e652c5..000000000 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/agent.yml +++ /dev/null @@ -1,198 +0,0 @@ -- name: cloud - title: Cloud - group: 2 - description: Fields related to the cloud or infrastructure the events are coming from. - footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' - type: group - fields: - - name: account.id - level: extended - type: keyword - ignore_above: 1024 - description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. - - Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' - example: 666777888999 - - name: availability_zone - level: extended - type: keyword - ignore_above: 1024 - description: Availability zone in which this host is running. - example: us-east-1c - - name: instance.id - level: extended - type: keyword - ignore_above: 1024 - description: Instance ID of the host machine. - example: i-1234567890abcdef0 - - name: instance.name - level: extended - type: keyword - ignore_above: 1024 - description: Instance name of the host machine. - - name: machine.type - level: extended - type: keyword - ignore_above: 1024 - description: Machine type of the host machine. - example: t2.medium - - name: provider - level: extended - type: keyword - ignore_above: 1024 - description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. - example: aws - - name: region - level: extended - type: keyword - ignore_above: 1024 - description: Region in which this host is running. - example: us-east-1 - - name: project.id - type: keyword - description: Name of the project in Google Cloud. - - name: image.id - type: keyword - description: Image ID for the cloud instance. -- name: container - title: Container - group: 2 - description: 'Container fields are used for meta information about the specific container that is the source of information. - - These fields help correlate data based containers from any runtime.' - type: group - fields: - - name: id - level: core - type: keyword - ignore_above: 1024 - description: Unique container id. - - name: image.name - level: extended - type: keyword - ignore_above: 1024 - description: Name of the image the container was built on. - - name: labels - level: extended - type: object - object_type: keyword - description: Image labels. - - name: name - level: extended - type: keyword - ignore_above: 1024 - description: Container name. -- name: host - title: Host - group: 2 - description: 'A host is defined as a general computing instance. - - ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' - type: group - fields: - - name: architecture - level: core - type: keyword - ignore_above: 1024 - description: Operating system architecture. - example: x86_64 - - name: domain - level: extended - type: keyword - ignore_above: 1024 - description: 'Name of the domain of which the host is a member. - - For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' - example: CONTOSO - default_field: false - - name: hostname - level: core - type: keyword - ignore_above: 1024 - description: 'Hostname of the host. - - It normally contains what the `hostname` command returns on the host machine.' - - name: id - level: core - type: keyword - ignore_above: 1024 - description: 'Unique host id. - - As hostname is not always unique, use values that are meaningful in your environment. - - Example: The current usage of `beat.name`.' - - name: ip - level: core - type: ip - description: Host ip addresses. - - name: mac - level: core - type: keyword - ignore_above: 1024 - description: Host mac addresses. - - name: name - level: core - type: keyword - ignore_above: 1024 - description: 'Name of the host. - - It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' - - name: os.family - level: extended - type: keyword - ignore_above: 1024 - description: OS family (such as redhat, debian, freebsd, windows). - example: debian - - name: os.kernel - level: extended - type: keyword - ignore_above: 1024 - description: Operating system kernel version as a raw string. - example: 4.4.0-112-generic - - name: os.name - level: extended - type: keyword - ignore_above: 1024 - multi_fields: - - name: text - type: text - norms: false - default_field: false - description: Operating system name, without the version. - example: Mac OS X - - name: os.platform - level: extended - type: keyword - ignore_above: 1024 - description: Operating system platform (such centos, ubuntu, windows). - example: darwin - - name: os.version - level: extended - type: keyword - ignore_above: 1024 - description: Operating system version as a raw string. - example: 10.14.1 - - name: type - level: core - type: keyword - ignore_above: 1024 - description: 'Type of host. - - For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' - - name: containerized - type: boolean - description: > - If the host is a container. - - - name: os.build - type: keyword - example: "18D109" - description: > - OS build information. - - - name: os.codename - type: keyword - example: "stretch" - description: > - OS codename, if any. - diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml deleted file mode 100644 index a83a8f45e..000000000 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/base-fields.yml +++ /dev/null @@ -1,28 +0,0 @@ -- name: data_stream.type - type: constant_keyword - description: Data stream type. -- name: data_stream.dataset - type: constant_keyword - description: Data stream dataset name. -- name: data_stream.namespace - type: constant_keyword - description: Data stream namespace. -- name: event.module - type: constant_keyword - description: Event module - value: ti_anomali -- name: event.dataset - type: constant_keyword - description: Event dataset - value: ti_anomali_logsdb.threatstream -- name: threat.feed.name - type: constant_keyword - description: Display friendly feed name - value: Anomali ThreatStream -- name: threat.feed.dashboard_id - type: constant_keyword - description: Dashboard ID used for Kibana CTI UI - value: ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf -- name: "@timestamp" - type: date - description: Event timestamp. diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml deleted file mode 100644 index cb44bb294..000000000 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/beats.yml +++ /dev/null @@ -1,12 +0,0 @@ -- name: input.type - type: keyword - description: Type of Filebeat input. -- name: log.flags - type: keyword - description: Flags for the log file. -- name: log.offset - type: long - description: Offset of the entry in the log file. -- name: log.file.path - type: keyword - description: Path to the log file. diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml deleted file mode 100644 index 77d94bcd2..000000000 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/ecs.yml +++ /dev/null @@ -1,70 +0,0 @@ -- external: ecs - name: ecs.version -- external: ecs - name: message -- external: ecs - name: tags -- external: ecs - name: error.message -- external: ecs - name: event.severity -- external: ecs - name: event.category -- external: ecs - name: event.ingested -- external: ecs - name: event.kind -- external: ecs - name: event.type -- external: ecs - name: event.created -- external: ecs - name: event.original -- external: ecs - name: threat.indicator.first_seen -- external: ecs - name: threat.indicator.last_seen -- external: ecs - name: threat.indicator.type -- external: ecs - name: threat.indicator.ip -- external: ecs - name: threat.indicator.url.domain -- external: ecs - name: threat.indicator.url.full -- external: ecs - name: threat.indicator.url.extension -- external: ecs - name: threat.indicator.url.original -- external: ecs - name: threat.indicator.url.path -- external: ecs - name: threat.indicator.url.port -- external: ecs - name: threat.indicator.url.scheme -- external: ecs - name: threat.indicator.url.query -- external: ecs - name: threat.indicator.file.hash.md5 -- external: ecs - name: threat.indicator.file.hash.sha1 -- external: ecs - name: threat.indicator.file.hash.sha256 -- external: ecs - name: threat.indicator.file.hash.sha512 -- external: ecs - name: threat.indicator.email.address -- external: ecs - name: threat.indicator.provider -- external: ecs - name: threat.indicator.marking.tlp -- external: ecs - name: threat.indicator.confidence -- external: ecs - name: threat.indicator.as.number -- external: ecs - name: threat.indicator.as.organization.name -- external: ecs - name: threat.indicator.geo.location -- external: ecs - name: threat.indicator.geo.country_iso_code diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml index e3fe4dd37..d99287224 100644 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/fields/fields.yml @@ -1,6 +1,4 @@ -- name: "@timestamp" - type: date - description: Event timestamp. +# Datastream fields (copied from ti_anomali/data_stream/threatstream/fields/fields.yml) - name: anomali.threatstream type: group description: > @@ -97,5 +95,416 @@ Data type of the indicator. Possible values: ip, domain, url, email, md5. - name: added_at type: date + description: >- + Date when IOC was added. - name: deleted_at type: date + description: >- + Date when IOC was deleted/expired. +# ECS fields (after build, expanded ECS fields are copied from build/packages/ti_anomali//data_stream/threatstream/fields/ecs.yml) +- description: |- + ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. + When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. + name: ecs.version + type: keyword +- description: |- + For log events the message field contains the log message, optimized for viewing in a log viewer. + For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. + If multiple messages exist, they can be combined into one message. + name: message + type: match_only_text +- description: List of keywords used to tag each event. + name: tags + normalize: + - array + type: keyword +- description: Error message. + name: error.message + type: match_only_text +- description: |- + The numeric severity of the event according to your event source. + What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. + The Syslog severity belongs in `log.syslog.severity.code`. `event.severity` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the `log.syslog.severity.code` to `event.severity`. + name: event.severity + type: long +- description: |- + This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. + `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. + This field is an array. This will allow proper categorization of some events that fall in multiple categories. + name: event.category + normalize: + - array + type: keyword +- description: |- + Timestamp when an event arrived in the central data store. + This is different from `@timestamp`, which is when the event originally occurred. It's also different from `event.created`, which is meant to capture the first time an agent saw the event. + In normal conditions, assuming no tampering, the timestamps should chronologically look like this: `@timestamp` < `event.created` < `event.ingested`. + name: event.ingested + type: date +- description: |- + This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. + `event.kind` gives high-level information about what type of information the event contains, without being specific to the contents of the event. For example, values of this field distinguish alert events from metric events. + The value of this field can be used to inform how these kinds of events should be handled. They may warrant different retention, different access control, it may also help understand whether the data coming in at a regular interval or not. + name: event.kind + type: keyword +- description: |- + This is one of four ECS Categorization Fields, and indicates the third level in the ECS category hierarchy. + `event.type` represents a categorization "sub-bucket" that, when used along with the `event.category` field values, enables filtering events down to a level appropriate for single visualization. + This field is an array. This will allow proper categorization of some events that fall in multiple event types. + name: event.type + normalize: + - array + type: keyword +- description: |- + event.created contains the date/time when the event was first read by an agent, or by your pipeline. + This field is distinct from @timestamp in that @timestamp typically contain the time extracted from the original event. + In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. + In case the two timestamps are identical, @timestamp should be used. + name: event.created + type: date +- description: |- + Raw text message of entire event. Used to demonstrate log integrity or where the full log message (before splitting it up in multiple parts) may be required, e.g. for reindex. + This field is not indexed and doc_values are disabled. It cannot be searched, but it can be retrieved from `_source`. If users wish to override this and index this field, please see `Field data types` in the `Elasticsearch Reference`. + doc_values: false + index: false + name: event.original + type: keyword +- description: The date and time when intelligence source first reported sighting this indicator. + name: threat.indicator.first_seen + type: date +- description: The date and time when intelligence source last reported sighting this indicator. + name: threat.indicator.last_seen + type: date +- description: Type of indicator as represented by Cyber Observable in STIX 2.0. + name: threat.indicator.type + type: keyword +- description: Identifies a threat indicator as an IP address (irrespective of direction). + name: threat.indicator.ip + type: ip +- description: |- + Domain of the url, such as "www.elastic.co". + In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the `domain` field. + If the URL contains a literal IPv6 address enclosed by `[` and `]` (IETF RFC 2732), the `[` and `]` characters should also be captured in the `domain` field. + name: threat.indicator.url.domain + type: keyword +- description: If full URLs are important to your use case, they should be stored in `url.full`, whether this field is reconstructed or present in the event source. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.url.full + type: wildcard +- description: |- + The field contains the file extension from the original request url, excluding the leading dot. + The file extension is only set if it exists, as not every url has a file extension. + The leading period must not be included. For example, the value must be "png", not ".png". + Note that when the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz"). + name: threat.indicator.url.extension + type: keyword +- description: |- + Unmodified original url as seen in the event source. + Note that in network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. + This field is meant to represent the URL as it was observed, complete or not. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.url.original + type: wildcard +- description: Path of the request, such as "/search". + name: threat.indicator.url.path + type: wildcard +- description: Port of the request, such as 443. + name: threat.indicator.url.port + type: long +- description: |- + Scheme of the request, such as "https". + Note: The `:` is not part of the scheme. + name: threat.indicator.url.scheme + type: keyword +- description: |- + The query field describes the query string of the request, such as "q=elasticsearch". + The `?` is excluded from the query string. If a URL contains no `?`, there is no query field. If there is a `?` but no query, the query field exists with an empty string. The `exists` query can be used to differentiate between the two cases. + name: threat.indicator.url.query + type: keyword +- description: MD5 hash. + name: threat.indicator.file.hash.md5 + type: keyword +- description: SHA1 hash. + name: threat.indicator.file.hash.sha1 + type: keyword +- description: SHA256 hash. + name: threat.indicator.file.hash.sha256 + type: keyword +- description: SHA512 hash. + name: threat.indicator.file.hash.sha512 + type: keyword +- description: Identifies a threat indicator as an email address (irrespective of direction). + name: threat.indicator.email.address + type: keyword +- description: The name of the indicator's provider. + name: threat.indicator.provider + type: keyword +- description: Traffic Light Protocol sharing markings. + name: threat.indicator.marking.tlp + type: keyword +- description: Identifies the vendor-neutral confidence rating using the None/Low/Medium/High scale defined in Appendix A of the STIX 2.1 framework. Vendor-specific confidence scales may be added as custom fields. + name: threat.indicator.confidence + type: keyword +- description: Unique number allocated to the autonomous system. The autonomous system number (ASN) uniquely identifies each network on the Internet. + name: threat.indicator.as.number + type: long +- description: Organization name. + multi_fields: + - name: text + type: match_only_text + name: threat.indicator.as.organization.name + type: keyword +- description: Longitude and latitude. + name: threat.indicator.geo.location + type: geo_point +- description: Country ISO code. + name: threat.indicator.geo.country_iso_code + type: keyword +# Beats fields (copied from ti_anomali/data_stream/threatstream/fields/beats.yml) +- name: input.type + type: keyword + description: Type of Filebeat input. +- name: log.flags + type: keyword + description: Flags for the log file. +- name: log.offset + type: long + description: Offset of the entry in the log file. +- name: log.file.path + type: keyword + description: Path to the log file. +# Base fields (copied from ti_anomali/data_stream/threatstream/fields/base-fields.yml) +- name: data_stream.type + type: constant_keyword + description: Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: Data stream dataset name. +- name: data_stream.namespace + type: constant_keyword + description: Data stream namespace. +- name: event.module + type: constant_keyword + description: Event module + value: ti_anomali_logsdb +- name: event.dataset + type: constant_keyword + description: Event dataset + value: ti_anomali_logsdb.threatstream +- name: threat.feed.name + type: constant_keyword + description: Display friendly feed name + value: Anomali ThreatStream +- name: threat.feed.dashboard_id + type: constant_keyword + description: Dashboard ID used for Kibana CTI UI + value: ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf +- name: "@timestamp" + type: date + description: Event timestamp. +# Agent fields (copied from ti_anomali/data_stream/threatstream/fields/agent.yml) +- name: cloud + title: Cloud + group: 2 + description: Fields related to the cloud or infrastructure the events are coming from. + footnote: 'Examples: If Metricbeat is running on an EC2 host and fetches data from its host, the cloud info contains the data about this machine. If Metricbeat runs on a remote machine outside the cloud and fetches data from a service running in the cloud, the field contains cloud data from the machine the service is running on.' + type: group + fields: + - name: account.id + level: extended + type: keyword + ignore_above: 1024 + description: 'The cloud account or organization id used to identify different entities in a multi-tenant environment. + + Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.' + example: 666777888999 + - name: availability_zone + level: extended + type: keyword + ignore_above: 1024 + description: Availability zone in which this host is running. + example: us-east-1c + - name: instance.id + level: extended + type: keyword + ignore_above: 1024 + description: Instance ID of the host machine. + example: i-1234567890abcdef0 + - name: instance.name + level: extended + type: keyword + ignore_above: 1024 + description: Instance name of the host machine. + - name: machine.type + level: extended + type: keyword + ignore_above: 1024 + description: Machine type of the host machine. + example: t2.medium + - name: provider + level: extended + type: keyword + ignore_above: 1024 + description: Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. + example: aws + - name: region + level: extended + type: keyword + ignore_above: 1024 + description: Region in which this host is running. + example: us-east-1 + - name: project.id + type: keyword + description: Name of the project in Google Cloud. + - name: image.id + type: keyword + description: Image ID for the cloud instance. +- name: container + title: Container + group: 2 + description: 'Container fields are used for meta information about the specific container that is the source of information. + + These fields help correlate data based containers from any runtime.' + type: group + fields: + - name: id + level: core + type: keyword + ignore_above: 1024 + description: Unique container id. + - name: image.name + level: extended + type: keyword + ignore_above: 1024 + description: Name of the image the container was built on. + - name: labels + level: extended + type: object + object_type: keyword + description: Image labels. + - name: name + level: extended + type: keyword + ignore_above: 1024 + description: Container name. +- name: host + title: Host + group: 2 + description: 'A host is defined as a general computing instance. + + ECS host.* fields should be populated with details about the host on which the event happened, or from which the measurement was taken. Host types include hardware, virtual machines, Docker containers, and Kubernetes nodes.' + type: group + fields: + - name: architecture + level: core + type: keyword + ignore_above: 1024 + description: Operating system architecture. + example: x86_64 + - name: domain + level: extended + type: keyword + ignore_above: 1024 + description: 'Name of the domain of which the host is a member. + + For example, on Windows this could be the host''s Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host''s LDAP provider.' + example: CONTOSO + default_field: false + - name: hostname + level: core + type: keyword + ignore_above: 1024 + description: 'Hostname of the host. + + It normally contains what the `hostname` command returns on the host machine.' + - name: id + level: core + type: keyword + ignore_above: 1024 + description: 'Unique host id. + + As hostname is not always unique, use values that are meaningful in your environment. + + Example: The current usage of `beat.name`.' + - name: ip + level: core + type: ip + description: Host ip addresses. + - name: mac + level: core + type: keyword + ignore_above: 1024 + description: Host mac addresses. + - name: name + level: core + type: keyword + ignore_above: 1024 + description: 'Name of the host. + + It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.' + - name: os.family + level: extended + type: keyword + ignore_above: 1024 + description: OS family (such as redhat, debian, freebsd, windows). + example: debian + - name: os.kernel + level: extended + type: keyword + ignore_above: 1024 + description: Operating system kernel version as a raw string. + example: 4.4.0-112-generic + - name: os.name + level: extended + type: keyword + ignore_above: 1024 + multi_fields: + - name: text + type: text + norms: false + default_field: false + description: Operating system name, without the version. + example: Mac OS X + - name: os.platform + level: extended + type: keyword + ignore_above: 1024 + description: Operating system platform (such centos, ubuntu, windows). + example: darwin + - name: os.version + level: extended + type: keyword + ignore_above: 1024 + description: Operating system version as a raw string. + example: 10.14.1 + - name: type + level: core + type: keyword + ignore_above: 1024 + description: 'Type of host. + + For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment.' + - name: containerized + type: boolean + description: > + If the host is a container. + + - name: os.build + type: keyword + example: "18D109" + description: > + OS build information. + + - name: os.codename + type: keyword + example: "stretch" + description: > + OS codename, if any. +- name: labels.is_ioc_transform_source + type: constant_keyword + value: "true" + description: Field indicating if its the transform source for supporting IOC expiration. This field is dropped from destination indices to facilitate easier filtering of indicators. diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml index 79f3df810..f5296fd0c 100644 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/manifest.yml @@ -2,13 +2,13 @@ start: true destination_index_template: settings: index: - sort.field: - - "@timestamp" - sort.order: - - desc + sort: + field: + - "@timestamp" + order: + - desc mappings: dynamic: true - _meta: {} dynamic_templates: - strings_as_keyword: match_mapping_type: string diff --git a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml index d9dbb0896..65f3add2d 100644 --- a/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml +++ b/test/packages/parallel/ti_anomali_logsdb/elasticsearch/transform/latest_ioc/transform.yml @@ -9,18 +9,22 @@ source: # us that ability in order to prevent having duplicate IoC data and prevent query # time field type conflicts. dest: - index: "logs-ti_anomali_logsdb_latest.threatstream-1" + index: "logs-ti_anomali_logsdb_latest.threatstream-2" + aliases: + - alias: "logs-ti_anomali_logsdb_latest.threatstream" + move_on_creation: true latest: unique_key: - event.dataset - anomali.threatstream.id - sort: "event.ingested" + sort: "@timestamp" description: Latest Anomali IoC data frequency: 30s sync: time: - field: event.ingested - delay: 60s + field: "@timestamp" + # Updated to 120s because of refresh delay in Serverless. With default 60s, sometimes transform wouldn't process all documents. + delay: 120s retention_policy: time: field: anomali.threatstream.deleted_at @@ -28,4 +32,4 @@ retention_policy: _meta: managed: true # Bump this version to delete, reinstall, and restart the transform during package. - fleet_transform_version: 0.1.0 + fleet_transform_version: 0.3.0 diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json similarity index 97% rename from test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json index 9360789a1..3778abee3 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020.json @@ -37,8 +37,8 @@ "key": "data_stream.dataset", "negate": false, "params": [ - "ti_anomali.limo", - "ti_anomali.threatstream" + "ti_anomali_logsdb.limo", + "ti_anomali_logsdb.threatstream" ], "type": "phrases" }, @@ -48,12 +48,12 @@ "should": [ { "match_phrase": { - "data_stream.dataset": "ti_anomali.limo" + "data_stream.dataset": "ti_anomali_logsdb.limo" } }, { "match_phrase": { - "data_stream.dataset": "ti_anomali.threatstream" + "data_stream.dataset": "ti_anomali_logsdb.threatstream" } } ] @@ -91,7 +91,7 @@ "id": "", "params": { "fontSize": 12, - "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n**[Anomali Files (This Page)](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020)** \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **file** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n**[Anomali Files (This Page)](/app/dashboards#/view/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020)** \n[Anomali URLs](/app/dashboards#/view/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali_logsdb/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **file** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", "openLinksInNewTab": false }, "title": "", @@ -818,7 +818,7 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:57.912Z", - "id": "ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020", + "id": "ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020", "migrationVersion": { "dashboard": "8.7.0" }, @@ -919,20 +919,20 @@ "type": "index-pattern" }, { - "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", - "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", "type": "tag" }, { - "id": "ti_anomali-fleet-managed-default", + "id": "ti_anomali_logsdb-fleet-managed-default", "name": "tag-ref-fleet-managed-default", "type": "tag" }, { - "id": "ti_anomali-fleet-pkg-ti_anomali-default", - "name": "tag-ref-fleet-pkg-ti_anomali-default", + "id": "ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default", + "name": "tag-ref-fleet-pkg-ti_anomali_logsdb-default", "type": "tag" } ], "type": "dashboard" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json similarity index 96% rename from test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json index 2ce55dff3..210157cdb 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020.json @@ -16,8 +16,8 @@ "key": "data_stream.dataset", "negate": false, "params": [ - "ti_anomali.limo", - "ti_anomali.threatstream" + "ti_anomali_logsdb.limo", + "ti_anomali_logsdb.threatstream" ], "type": "phrases" }, @@ -27,12 +27,12 @@ "should": [ { "match_phrase": { - "data_stream.dataset": "ti_anomali.limo" + "data_stream.dataset": "ti_anomali_logsdb.limo" } }, { "match_phrase": { - "data_stream.dataset": "ti_anomali.threatstream" + "data_stream.dataset": "ti_anomali_logsdb.threatstream" } } ] @@ -91,7 +91,7 @@ "id": "", "params": { "fontSize": 12, - "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n**[Anomali URLs (This Page)](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020)** \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **URL** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n**[Anomali URLs (This Page)](/app/dashboards#/view/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020)** \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali_logsdb/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about indicators of type **URL** ingested from the Anomali integration, showing statistics and general information about all relevant indicators.", "openLinksInNewTab": false }, "title": "", @@ -725,7 +725,7 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:57.912Z", - "id": "ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020", + "id": "ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020", "migrationVersion": { "dashboard": "8.7.0" }, @@ -811,20 +811,20 @@ "type": "index-pattern" }, { - "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", - "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", "type": "tag" }, { - "id": "ti_anomali-fleet-managed-default", + "id": "ti_anomali_logsdb-fleet-managed-default", "name": "tag-ref-fleet-managed-default", "type": "tag" }, { - "id": "ti_anomali-fleet-pkg-ti_anomali-default", - "name": "tag-ref-fleet-pkg-ti_anomali-default", + "id": "ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default", + "name": "tag-ref-fleet-pkg-ti_anomali_logsdb-default", "type": "tag" } ], "type": "dashboard" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json similarity index 96% rename from test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json index dcb7525c4..26675c83c 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020.json @@ -16,8 +16,8 @@ "key": "data_stream.dataset", "negate": false, "params": [ - "ti_anomali.limo", - "ti_anomali.threatstream" + "ti_anomali_logsdb.limo", + "ti_anomali_logsdb.threatstream" ], "type": "phrases" }, @@ -27,12 +27,12 @@ "should": [ { "match_phrase": { - "data_stream.dataset": "ti_anomali.limo" + "data_stream.dataset": "ti_anomali_logsdb.limo" } }, { "match_phrase": { - "data_stream.dataset": "ti_anomali.threatstream" + "data_stream.dataset": "ti_anomali_logsdb.threatstream" } } ] @@ -104,7 +104,7 @@ "id": "", "params": { "fontSize": 12, - "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n**[Anomali Other Indicators (This Page)](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)**\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about all other indicators except file and URL ingested from the Anomali integration, showing statistics and general information about all relevant indicators. This includes email, IP and domain type indicators.", + "markdown": "**Navigation**\n\n[Anomali Overview](/app/dashboards#/view/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf) \n[Anomali Files](/app/dashboards#/view/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n**[Anomali Other Indicators (This Page)](/app/dashboards#/view/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)**\n\n[Integrations Page](/app/integrations/detail/ti_anomali_logsdb/overview)\n\n\n**Overview**\n\nThis dashboard is a overview about all other indicators except file and URL ingested from the Anomali integration, showing statistics and general information about all relevant indicators. This includes email, IP and domain type indicators.", "openLinksInNewTab": false }, "title": "", @@ -757,7 +757,7 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:57.912Z", - "id": "ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020", + "id": "ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020", "migrationVersion": { "dashboard": "8.7.0" }, @@ -843,20 +843,20 @@ "type": "index-pattern" }, { - "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", - "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", "type": "tag" }, { - "id": "ti_anomali-fleet-managed-default", + "id": "ti_anomali_logsdb-fleet-managed-default", "name": "tag-ref-fleet-managed-default", "type": "tag" }, { - "id": "ti_anomali-fleet-pkg-ti_anomali-default", - "name": "tag-ref-fleet-pkg-ti_anomali-default", + "id": "ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default", + "name": "tag-ref-fleet-pkg-ti_anomali_logsdb-default", "type": "tag" } ], "type": "dashboard" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json similarity index 96% rename from test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json index d39da3bbc..9c8468b0c 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/dashboard/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf.json @@ -37,8 +37,8 @@ "key": "data_stream.dataset", "negate": false, "params": [ - "ti_anomali.limo", - "ti_anomali.threatstream" + "ti_anomali_logsdb.limo", + "ti_anomali_logsdb.threatstream" ], "type": "phrases" }, @@ -48,12 +48,12 @@ "should": [ { "match_phrase": { - "data_stream.dataset": "ti_anomali.limo" + "data_stream.dataset": "ti_anomali_logsdb.limo" } }, { "match_phrase": { - "data_stream.dataset": "ti_anomali.threatstream" + "data_stream.dataset": "ti_anomali_logsdb.threatstream" } } ] @@ -91,7 +91,7 @@ "id": "", "params": { "fontSize": 12, - "markdown": "**Navigation**\n\n**[Anomali Overview (This Page)](/app/dashboards#/view/ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf)** \n[Anomali Files](/app/dashboards#/view/ti_anomali-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali/overview)\n\n\n**Overview**\n\nThis dashboard is a health overview related to the Anomali integration.\n\nThe dashboard is made to provide general statistics and show the health of the ingestion of indicators from Anomali. \n\nIt shows how many parts has been enabled (Limo and ThreatStream), the ingestion rates and provides a few filters for drilling down to specific indicator types retrieved from Anomali.", + "markdown": "**Navigation**\n\n**[Anomali Overview (This Page)](/app/dashboards#/view/ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf)** \n[Anomali Files](/app/dashboards#/view/ti_anomali_logsdb-207f3c40-45fb-11ec-ab0c-d7f52dcaa020) \n[Anomali URLs](/app/dashboards#/view/ti_anomali_logsdb-39699a60-45fc-11ec-ab0c-d7f52dcaa020) \n[Anomali Other Indicators](/app/dashboards#/view/ti_anomali_logsdb-78e08d20-45fc-11ec-ab0c-d7f52dcaa020)\n\n[Integrations Page](/app/integrations/detail/ti_anomali_logsdb/overview)\n\n\n**Overview**\n\nThis dashboard is a health overview related to the Anomali integration.\n\nThe dashboard is made to provide general statistics and show the health of the ingestion of indicators from Anomali. \n\nIt shows how many parts has been enabled (Limo and ThreatStream), the ingestion rates and provides a few filters for drilling down to specific indicator types retrieved from Anomali.", "openLinksInNewTab": false }, "title": "", @@ -711,7 +711,7 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:57.912Z", - "id": "ti_anomali-96fe1e60-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-96fe1e60-4261-11ec-b7be-d3026acdf1cf", "migrationVersion": { "dashboard": "8.7.0" }, @@ -792,20 +792,20 @@ "type": "index-pattern" }, { - "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", - "name": "tag-ref-ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", + "name": "tag-ref-ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", "type": "tag" }, { - "id": "ti_anomali-fleet-managed-default", + "id": "ti_anomali_logsdb-fleet-managed-default", "name": "tag-ref-fleet-managed-default", "type": "tag" }, { - "id": "ti_anomali-fleet-pkg-ti_anomali-default", - "name": "tag-ref-fleet-pkg-ti_anomali-default", + "id": "ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default", + "name": "tag-ref-fleet-pkg-ti_anomali_logsdb-default", "type": "tag" } ], "type": "dashboard" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf.json similarity index 80% rename from test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf.json index 2cb36da02..956575025 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf.json @@ -6,10 +6,10 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:57.912Z", - "id": "ti_anomali-94419670-4261-11ec-b7be-d3026acdf1cf", + "id": "ti_anomali_logsdb-94419670-4261-11ec-b7be-d3026acdf1cf", "migrationVersion": { "tag": "8.0.0" }, "references": [], "type": "tag" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-managed-default.json similarity index 84% rename from test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-managed-default.json index d1650839c..a66e5d9c9 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-managed-default.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-managed-default.json @@ -6,10 +6,10 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:14:16.376Z", - "id": "ti_anomali-fleet-managed-default", + "id": "ti_anomali_logsdb-fleet-managed-default", "migrationVersion": { "tag": "8.0.0" }, "references": [], "type": "tag" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default.json similarity index 80% rename from test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default.json index 7a238062e..3d38100c0 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-fleet-pkg-ti_anomali-default.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default.json @@ -6,10 +6,10 @@ }, "coreMigrationVersion": "8.7.0", "created_at": "2023-04-20T13:27:09.760Z", - "id": "ti_anomali-fleet-pkg-ti_anomali-default", + "id": "ti_anomali_logsdb-fleet-pkg-ti_anomali_logsdb-default", "migrationVersion": { "tag": "8.0.0" }, "references": [], "type": "tag" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json similarity index 75% rename from test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json rename to test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json index ef4b8a7fd..7b67960ab 100644 --- a/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tag/ti_anomali_logsdb-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6.json @@ -5,10 +5,10 @@ "name": "Threat Intelligence" }, "coreMigrationVersion": "8.0.0", - "id": "ti_anomali-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6", + "id": "ti_anomali_logsdb-ti_abusech-320c5c80-3b0c-11ec-ae50-2fdf1e96c6a6", "migrationVersion": { "tag": "8.0.0" }, "references": [], "type": "tag" -} \ No newline at end of file +} diff --git a/test/packages/parallel/ti_anomali_logsdb/kibana/tags.yml b/test/packages/parallel/ti_anomali_logsdb/kibana/tags.yml new file mode 100644 index 000000000..47f20a8f5 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/kibana/tags.yml @@ -0,0 +1,4 @@ +- text: Security Solution + asset_types: + - dashboard + - search diff --git a/test/packages/parallel/ti_anomali_logsdb/manifest.yml b/test/packages/parallel/ti_anomali_logsdb/manifest.yml index 303c4ab4d..c986276f3 100644 --- a/test/packages/parallel/ti_anomali_logsdb/manifest.yml +++ b/test/packages/parallel/ti_anomali_logsdb/manifest.yml @@ -1,14 +1,13 @@ name: ti_anomali_logsdb title: Anomali -version: "1.11.0" -release: ga +version: "1.22.1" description: Ingest threat intelligence indicators from Anomali with Elastic Agent. type: integration -format_version: 1.0.0 -license: basic +format_version: 3.0.2 categories: ["security", "threat_intel"] conditions: - kibana.version: ^8.8.0 + kibana: + version: "^8.13.0" icons: - src: /img/anomali.svg title: Anomali @@ -23,4 +22,5 @@ policy_templates: title: "Ingest threat intelligence indicators from Anomali Threatstream." description: "Ingest threat intelligence indicators from Anomali Threatstream." owner: - github: elastic/security-external-integrations + github: elastic/security-service-integrations + type: elastic diff --git a/test/packages/parallel/ti_anomali_logsdb/validation.yml b/test/packages/parallel/ti_anomali_logsdb/validation.yml new file mode 100644 index 000000000..a96151416 --- /dev/null +++ b/test/packages/parallel/ti_anomali_logsdb/validation.yml @@ -0,0 +1,3 @@ +errors: + exclude_checks: + - SVR00005 # Kibana version for saved tags. From fc042f22aafc59022a76a45e7941817688f53e7a Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 19:33:07 +0200 Subject: [PATCH 09/10] Allow to be undefined PACKAGE_UNDER_TEST var --- scripts/stack_parameters.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/stack_parameters.sh b/scripts/stack_parameters.sh index 9370b75fa..6577a2c28 100644 --- a/scripts/stack_parameters.sh +++ b/scripts/stack_parameters.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash stack_version_args() { - if [[ -z "$PACKAGE_UNDER_TEST" ]]; then + if [[ -z "${PACKAGE_UNDER_TEST:-""}" ]]; then # Don't force stack version if we are testing multiple packages. return fi @@ -16,7 +16,7 @@ stack_version_args() { } stack_provider_args() { - if [[ -z "$PACKAGE_UNDER_TEST" ]]; then + if [[ -z "${PACKAGE_UNDER_TEST:-""}" ]]; then # Don't force stack version if we are testing multiple packages. return fi @@ -28,4 +28,4 @@ stack_provider_args() { fi echo -n "-U $(cat "${parameters}" | tr '\n' ',' | tr -d ' ' | sed 's/,$//')" -} \ No newline at end of file +} From 6ed4ed8a8a9d20db7fce1618f1b1da5c0c4b820a Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Tue, 13 Aug 2024 19:44:54 +0200 Subject: [PATCH 10/10] Just define provider args in elastic-package stack up command --- scripts/test-check-false-positives.sh | 5 ++++- scripts/test-check-packages.sh | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/test-check-false-positives.sh b/scripts/test-check-false-positives.sh index 38b2ae38e..954ced374 100755 --- a/scripts/test-check-false-positives.sh +++ b/scripts/test-check-false-positives.sh @@ -86,11 +86,14 @@ ELASTIC_PACKAGE_LINKS_FILE_PATH="$(pwd)/scripts/links_table.yml" export ELASTIC_PACKAGE_LINKS_FILE_PATH stack_args=$(stack_version_args) # --version -stack_args="${stack_args} $(stack_provider_args)" # -U # Update the stack elastic-package stack update -v ${stack_args} +# NOTE: if any provider argument is defined, the stack must be shutdown first to ensure +# that all parameters are taken into account by the services +stack_args="${stack_args} $(stack_provider_args)" # -U + # Boot up the stack elastic-package stack up -d -v ${stack_args} diff --git a/scripts/test-check-packages.sh b/scripts/test-check-packages.sh index 692067481..968050ff3 100755 --- a/scripts/test-check-packages.sh +++ b/scripts/test-check-packages.sh @@ -74,12 +74,14 @@ fi # at the beginning of the pipeline and must be running for all packages. if [[ "${SERVERLESS}" != "true" ]]; then stack_args=$(stack_version_args) # --version - stack_args="${stack_args} $(stack_provider_args)" # -U - echo "Stack Args: ${stack_args}" # Update the stack elastic-package stack update -v ${stack_args} + # NOTE: if any provider argument is defined, the stack must be shutdown first to ensure + # that all parameters are taken into account by the services + stack_args="${stack_args} $(stack_provider_args)" # -U + # Boot up the stack elastic-package stack up -d -v ${stack_args}