Machine Learning Detected DGA activity using a known SUNBURST DNS domain

A supervised machine learning model has identified a DNS question name that used by the SUNBURST malware and is predicted to be the result of a Domain Generation Algorithm.

Elastic rule (View on GitHub)

 1[metadata]
 2creation_date = "2023/09/14"
 3integration = ["dga", "endpoint", "network_traffic"]
 4maturity = "production"
 5min_stack_comments = "DGA package job ID and rule removal updates"
 6min_stack_version = "8.9.0"
 7updated_date = "2023/12/12"
 8
 9[rule]
10author = ["Elastic"]
11description = """
12A supervised machine learning model has identified a DNS question name that used by the SUNBURST malware and is
13predicted to be the result of a Domain Generation Algorithm.
14"""
15from = "now-10m"
16index = ["logs-endpoint.events.*", "logs-network_traffic.*"]
17language = "kuery"
18license = "Elastic License v2"
19name = "Machine Learning Detected DGA activity using a known SUNBURST DNS domain"
20setup = """
21The rule requires the Domain Generation Algorithm (DGA) Detection integration assets to be installed, as well as DNS events collected by integrations such as Elastic Defend, Network Packet Capture, or Packetbeat.  
22
23### DGA Detection Setup
24The DGA Detection integration consists of an ML-based framework to detect DGA activity in DNS events.
25
26#### Prerequisite Requirements:
27- Fleet is required for DGA Detection.
28- To configure Fleet Server refer to the [documentation](https://www.elastic.co/guide/en/fleet/current/fleet-server.html).
29- DNS events collected by the [Elastic Defend](https://docs.elastic.co/en/integrations/endpoint), [Network Packet Capture](https://docs.elastic.co/integrations/network_traffic) integration, or [Packetbeat](https://www.elastic.co/guide/en/beats/packetbeat/current/packetbeat-overview.html).
30- To install Elastic Defend, refer to the [documentation](https://www.elastic.co/guide/en/security/current/install-endpoint.html).
31- To add the Network Packet Capture integration to an Elastic Agent policy, refer to [this](https://www.elastic.co/guide/en/fleet/current/add-integration-to-policy.html) guide.
32- To set up and run Packetbeat, follow [this](https://www.elastic.co/guide/en/beats/packetbeat/current/setting-up-and-running.html) guide.
33
34#### The following steps should be executed to install assets associated with the DGA Detection integration:
35- Go to the Kibana homepage. Under Management, click Integrations.
36- In the query bar, search for Domain Generation Algorithm Detection and select the integration to see more details about it.
37- Under Settings, click Install Domain Generation Algorithm Detection assets and follow the prompts to install the assets.
38
39#### Ingest Pipeline Setup
40Before you can enable this rule, you'll need to enrich DNS events with predictions from the Supervised DGA Detection model. This is done via the ingest pipeline named `<package_version>-ml_dga_ingest_pipeline` installed with the DGA Detection package.
41- If using an Elastic Beat such as Packetbeat, add the DGA ingest pipeline to it by adding a simple configuration [setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html#pipelines-for-beats) to `packetbeat.yml`.
42- If adding the DGA ingest pipeline to an existing pipeline, use a [pipeline processor](https://www.elastic.co/guide/en/elasticsearch/reference/current/pipeline-processor.html).
43
44#### Adding Custom Mappings
45- Go to the Kibana homepage. Under Management, click Stack Management.
46- Under Data click Index Management and navigate to the Component Templates tab.
47- Templates that can be edited to add custom components will be marked with a @custom suffix. Edit the @custom component template corresponding to the beat/integration you added the DGA ingest pipeline to, by pasting the following JSON blob in the "Load JSON" flyout:

{ "properties": { "ml_is_dga": { "properties": { "malicious_prediction": { "type": "long" }, "malicious_probability": { "type": "float" } } } } }

 1"""
 2references = [
 3    "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html",
 4    "https://docs.elastic.co/en/integrations/dga",
 5    "https://www.elastic.co/security-labs/detect-domain-generation-algorithm-activity-with-new-kibana-integration",
 6]
 7risk_score = 99
 8rule_id = "bcaa15ce-2d41-44d7-a322-918f9db77766"
 9severity = "critical"
10tags = [
11    "Domain: Network",
12    "Domain: Endpoint",
13    "Data Source: Elastic Defend",
14    "Use Case: Domain Generation Algorithm Detection",
15    "Rule Type: ML",
16    "Rule Type: Machine Learning",
17    "Tactic: Command and Control",
18]
19timestamp_override = "event.ingested"
20type = "query"
21
22query = '''
23ml_is_dga.malicious_prediction:1 and dns.question.registered_domain:avsvmcloud.com
24'''
25
26
27[[rule.threat]]
28framework = "MITRE ATT&CK"
29[[rule.threat.technique]]
30id = "T1568"
31name = "Dynamic Resolution"
32reference = "https://attack.mitre.org/techniques/T1568/"
33[[rule.threat.technique.subtechnique]]
34id = "T1568.002"
35name = "Domain Generation Algorithms"
36reference = "https://attack.mitre.org/techniques/T1568/002/"
37
38
39
40[rule.threat.tactic]
41id = "TA0011"
42name = "Command and Control"
43reference = "https://attack.mitre.org/tactics/TA0011/"

References

Related rules

to-top