Proxy: Domain Fronting

Adversaries may take advantage of routing schemes in Content Delivery Networks (CDNs) and other services which host multiple domains to obfuscate the intended destination of HTTPS traffic or traffic tunneled through HTTPS. [1] Domain fronting involves using different domain names in the SNI field of the TLS header and the Host field of the HTTP header. If both domains are served from the same CDN, then the CDN may route to the address specified in the HTTP header after unwrapping the TLS header. A variation of the the technique, "domainless" fronting, utilizes a SNI field that is left blank; this may allow the fronting to work even when the CDN attempts to validate that the SNI and HTTP Host fields match (if the blank SNI fields are ignored).

For example, if domain-x and domain-y are customers of the same CDN, it is possible to place domain-x in the TLS header and domain-y in the HTTP header. Traffic will appear to be going to domain-x, however the CDN may route it to domain-y.

ID: T1090.004
Sub-technique of:  T1090
Platforms: Linux, Windows, macOS
Contributors: Matt Kelly, @breakersall
Version: 1.1
Created: 14 March 2020
Last Modified: 30 March 2023

Procedure Examples

ID Name Description
G0016 APT29

APT29 has used the meek domain fronting plugin for Tor to hide the destination of C2 traffic.[2]

S0154 Cobalt Strike

Cobalt Strike has the ability to accept a value for HTTP Host Header to enable domain fronting.[3]

S0175 meek

meek uses Domain Fronting to disguise the destination of network traffic as another server that is hosted in the same Content Delivery Network (CDN) as the intended destination.

S0699 Mythic

Mythic supports domain fronting via custom request headers.[4]


SMOKEDHAM has used a fronted domain to obfuscate its hard-coded C2 server domain.[5]


ID Mitigation Description
M1020 SSL/TLS Inspection

If it is possible to inspect HTTPS traffic, the captures can be analyzed for connections that appear to be domain fronting.


ID Data Source Data Component Detects
DS0029 Network Traffic Network Traffic Content

Monitor and analyze traffic patterns and packet inspection associated to protocol(s) that do not follow the expected protocol standards and traffic flows (e.g extraneous packets that do not belong to established flows, gratuitous or anomalous traffic patterns, anomalous syntax, or structure). Consider correlation with process monitoring and command line to detect anomalous processes execution and command line arguments associated to traffic patterns (e.g. monitor anomalies in use of files that do not normally initiate connections for respective protocol(s)).