Application Layer Protocol: DNS T1071.004
Tactic: Command & Control
Adversaries may communicate using the Domain Name System (DNS) application layer protocol to avoid detection/network filtering by blending in with existing traffic. Commands to the remote system, and often the results of those commands, will be embedded within the protocol traffic between the client and server.
Events covered
17 catalog events are tagged with this technique by at least one rule.
Authoring guide
Patterns shared across the 44 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.
Fields filtered most (60 distinct)
The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.
Top indicator values (277 distinct)
Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.
Exclusions (17 distinct)
Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.
Rules under this technique
Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.
Sigma 20 rules
- Cobalt Strike DNS Beaconing
- DNS Exfiltration and Tunneling Tools Execution
- DNS Query by Finger Utility
- DNS Query To Common Malware Hosting and Shortener Services
- DNS Query To Katz Stealer Domains
- DNS Query To Katz Stealer Domains - Network
- DNS TXT Answer with Possible Execution Strings
- DoT (DNS over TLS) activation (command)
- DoT (DNS over TLS) activation (PowerShell)
- Low Reputation Effective Top-Level Domain (eTLD)
- macOS DNS Query Tools for C2
- Network Connection Initiated via Finger.EXE
- OilRig APT Activity
- OilRig APT Registry Persistence
- OilRig APT Schedule Task Persistence - Security
- OilRig APT Schedule Task Persistence - System
- Silence.EDA Detection
- Suspicious Cobalt Strike DNS Beaconing - DNS Client
- Suspicious Cobalt Strike DNS Beaconing - Sysmon
- Suspicious DNS Query with B64 Encoded String
Elastic 13 rules
- DNS Tunneling
- GenAI Process Connection to Suspicious Top Level Domain
- Machine Learning Detected a DNS Request Predicted to be a DGA Domain
- Machine Learning Detected a DNS Request With a High DGA Probability Score
- Machine Learning Detected DGA activity using a known SUNBURST DNS domain
- Network Activity to a Suspicious Top Level Domain
- Potential Command and Control via Internet Explorer
- Potential DGA Activity
- Potential DNS Tunneling via NsLookup
- System Public IP Discovery via DNS Query
- Uncommon DNS Request via Bun or Node.js
- Unusual DNS Activity
- Unusual Network Destination Domain Name
Splunk 8 rules
- DNS Kerberos Coercion
- Excessive DNS Failures
- Windows AI Platform DNS Query
- Windows Credential Target Information Structure in Commandline
- Windows DNS Query Request by Telegram Bot API
- Windows Kerberos Coercion via DNS
- Windows Short Lived DNS Record
- Windows Visual Basic Commandline Compiler DNSQuery
Kusto 2 rules
- GCP Audit Logs - DNSSEC Disabled on Managed DNS Zone
- GCP Security Command Center - Detect DNSSEC disabled for DNS zones