Domain Generation Algorithms T1568.002
- Tactic
- Command and Control
- Platforms
- ESXi, Linux, macOS, Windows
- Version
- 1.2
- Created
- 10 March 2020
- Last modified
- 12 May 2026
- Contributors
- Ryan Benson, Exabeam; Barry Shteiman, Exabeam; Sylvain Gil, Exabeam
Adversaries may make use of Domain Generation Algorithms (DGAs) to dynamically identify a destination domain for command and control traffic rather than relying on a list of static IP addresses or domains. This has the advantage of making it much harder for defenders to block, track, or take over the command and control channel, as there potentially could be thousands of domains that malware can check for instructions.[1][2][3]
Domain Generation Algorithms MITRE reference T1568.002
2 groups have been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
All 2 groups for this technique
22 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Use a DGA to generate a C2 domains.1
Can provide DGA for C2 servers through the use of random URL strings that change every 12 hours.1
Can send DNS C2 communications using a unique domain generation algorithm.12
Can use hardcoded domains as an input for domain generation algorithms.1
Has used a DGA to generate a domain name for C2.1
All 22 software entries for this technique · 6 newest in this preview
Offense vs defense T1568.002
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Domain Generation Algorithms detection strategy DET0419
MITRE names one behaviour worth catching for this technique and breaks it into 4 analytics, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detection Strategy for Dynamic Resolution using Domain Generation Algorithms.
AN1178 · Windows
Correlate DNS queries that generate domains with high entropy or gibberish patterns, combined with short-lived connections from unusual processes. Monitor Sysmon DNS events and Windows Security logs for abnormal query rates and failed lookups.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | WinEventLog:Security | EventCode=4688 |
| Network Connection CreationDC0082 | WinEventLog:Sysmon | EventCode=3, 22 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| EntropyThreshold | Set threshold for randomness in queried domain strings (e.g., >4.0) |
| QueryFailureRate | Failed resolution ratio above normal baseline (e.g., >30%) |
| TimeWindow | Duration for aggregating suspicious DNS queries (e.g., 5–10 min) |
AN1179 · Linux
Identify processes issuing repeated DNS queries to random-looking domains with abnormal entropy or word concatenations. Correlate resolver logs with high NXDOMAIN rates and auditd socket connections.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Network Traffic FlowDC0078 | auditd:SYSCALL | socket/connect |
| Network Traffic ContentDC0085 | linux:syslog | Multiple NXDOMAIN responses and high entropy domains |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| NXDOMAINThreshold | Ratio of failed queries triggering alert (e.g., >40%) |
| DomainAge | Flag queries to domains registered in last 7–30 days |
AN1180 · macOS
Monitor unified DNS logs for abnormal domain queries with low lexical similarity to known domains, repeated failed lookups, and random string structures. Cross-check with process logs to confirm unusual origins (non-browser apps).
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | macos:unifiedlog | Unexpected apps performing repeated DNS lookups |
| Network Traffic FlowDC0078 | macos:unifiedlog | High entropy domain queries with multiple NXDOMAINs |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| ReputationFeedWhitelist | Exclude trusted CDN and cloud provider domains |
| LexicalScoreThreshold | Adjust score for word-based vs. letter-based DGAs |
AN1181 · ESXi
Use ESXi syslogs to track abnormal DNS query patterns from management agents or VMs. Identify high-frequency, low-TTL, or unresolvable domains as suspicious. Correlate with unusual management plane process activity.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Network Traffic FlowDC0078 | esxi:syslog | Frequent DNS queries with high entropy names or NXDOMAIN results |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| ResolverConfigPaths | Expected resolver settings for ESXi hosts |
| DomainWhitelist | Trusted external domains for hypervisor operations |
Network intrusion detection and prevention systems that use network signatures to identify traffic for specific adversary malware can be used to mitigate activity at the network level. Malware researchers can reverse engineer malware variants that use DGAs and determine future domains that the malware will attempt to contact, but this is a time and resource intensive effort. Malware is also increasingly incorporating seed values that can be unique for each instance, which would then need to be determined to extract future generated domains. In some cases, the seed that a particular sample uses can be extracted from DNS traffic. Even so, there can be thousands of possible domains generated per day; this makes it impractical for defenders to preemptively register all possible C2 domains due to the cost.
In some cases a local DNS sinkhole may be used to help prevent DGA-based command and control at a reduced cost.
Tests from Atomic Red Team (MIT licence) · technique definition