
Was ist DNS Tunneling?
von Tina Siering

Was ist das DNS Protokoll?
Das Domain Name System (DNS) ist eines der zentralen Protokolle im Internet. Die Aufgabe dieses Protokolls ist es, Domainnamen in IP-Adressen umzuwandeln. Es handelt sich also um einen Dienst, der eine bestimmte Domain einer IP-Adresse und somit einem Server zuweist, beziehungsweise die Verbindung ermöglicht.
Beim Browsen im Internet ist die Funktion von DNS deutlich. Wer in seinem Browser beispielsweise die Adresse www.secion.de eingibt, gelangt direkt auf die gewünschte Webseite. Der Webserver, der die Inhalte von secion hostet, ist jedoch unter einer numerischen IP-Adresse erreichbar. DNS wandelt die Domainanfrage in die IP um und ermöglicht so die Verbindung.
Damit dies möglich ist, wird zunächst eine Verknüpfung zwischen der IP und dem Domainnamen angelegt. Dafür sind die sogenannten DNS-Server zuständig. Dies sind zentrale Bestandteile der Infrastruktur im Internet. Die DNS-Server speichern diese Verknüpfungen und lenken so die Domainanfragen im Internet.
Was passiert beim DNS Tunneling?
Im Normalfall ist die Anfrage an den DNS-Server in einem einheitlichen Format gehalten. Gleichzeitig sind die Anfragen und Antworten sehr kurz. Auf eine Domainanfrage antwortet der DNS-Server mit der dazugehörigen IP-Adresse. Weitere Inhalte sind bei den Anfragen nicht vorgesehen. Die eigentliche Kommunikation zwischen dem Client und dem Server, also beispielsweise zwischen einem Browser und dem Webserver, läuft dann über ein anderes Protokoll.
Bei einer DNS-Anfrage findet also eine Kommunikation zwischen zwei Rechnern statt. Hacker machen sich diese Eigenschaft zunutze: Jeder hat die Möglichkeit, einen eigenen Webserver im Internet zu betreiben. Die Konfiguration der DNS-Einträge obliegt dann dem Betreiber dieser Webseite, die unter einer Domain gehostet wird. Beim DNS Tunneling dienen vor allem Subdomains für die Angriffe. Eine Subdomain steht hierarchisch unterhalb der Top-Level-Domain und wird in der Regel für Unterseiten oder Länderportale eingerichtet. Beispielsweise ist de.wikipedia.org die Subdomain mit deutschem Inhalt von wikipedia.org.
Beim DNS Tunneling wird nun eine Subdomain eingerichtet, die als Kommunikationsschnittstelle für das Ziel dient. Diese Subdomain hat sonst keine andere Funktion und wird nicht mit Inhalten für das Web gefüllt. Einzig der DNS-Eintrag ist aktiv, der über die Top-Level-Domain gesetzt ist.
Das Zielsystem wird zunächst mit einer Schadsoftware infiziert. Dies sind in der Regel einfache Trojaner, die versteckt für die ausgehende Kommunikation dienen. Dieser Trojaner nutzt dann die Verbindung zum Internet und sendet eine Anfrage an die präparierte Subdomain der Hacker. Diese Subdomain antwortet, wobei die DNS-Antwort selbst einen manipulierten Inhalt enthält, der über die Bezeichnung der Subdomain festgelegt ist. Der Name einer solchen Subdomain ist nämlich beliebig wählbar und kann beispielsweise selbst eine Kodierung sein, die der Trojaner auf dem Zielsystem verarbeitet. Somit ist es bereits möglich, über den Namen einer Subdomain eine verstecke Kommunikation an das infizierte System zu senden. Dies ist dann eine getunnelte Verbindung für den verstecken Transfer von Daten oder Befehlen.
Jetzt keinen Blogbeitrag mehr verpassen!
- 12x im Jahr aktuelle News aus der IT Security Welt
- 4x im Jahr exklusive Einladungen zu kostenlosen IT Security Webinaren
- 1 kostenloses Whitepaper zu unserem Threat Hunting Service Active Cyber Defense
Für welche Zwecke setzen Hacker das DNS Tunneling ein?
Cyberkriminelle nutzen das DNS Tunneling für unterschiedliche Zwecke. Eine noch vergleichsweise simple Option ist es, das Tunneling als Signal zu nutzen. Solange der Trojaner auf dem Zielsystem die DNS-Anfrage verschickt, wissen die Hacker, dass das System aktiv und mit dem Internet verbunden ist sowie die Infizierung von der IT-Sicherheit nicht entdeckt wurde.
Gefährlicher ist es, wenn die Angreifer das DNS Tunneling für die gezielte Steuerung einer Malware einsetzen. Es ist möglich, Befehle über die DNS-Anfragen zu senden. Die Malware lässt sich auf diese Weise fernsteuern, ohne dass eine aktive und direkte Verbindung zwischen den Angreifern und dem kompromittierten System besteht.
Auf eine ähnliche Weise nutzen Hacker das DNS Tunneling auch dafür, um auf Daten der Zielsysteme zuzugreifen. Die Malware ist etwa in der Lage, auf Anweisungen gezielt Daten auf der Festplatte zu suchen. Diese überträgt die Schadsoftware dann ins Internet oder es erfolgt einfach eine Löschung.
Eine weitere Möglichkeit ist, dass die Hacker das DNS Tunneling für das Herunterladen weiterer Schadsoftware nutzen. Über die Kommunikation lassen sich Anweisungen an die Malware senden, die dann den Download einleitet. Auf diesem Weg ist es möglich, das System mit weiterer Schadsoftware wie Ransomware zu fluten und große Schäden anzurichten.
Das DNS Tunneling für solche Angriffe zu nutzen, ist zwar aufwendig, jedoch sehr unauffällig. Außerdem ist es möglich, dass den Angreifern zu Beginn nur eine bestimmte Angriffstechnik auf das Netzwerk zur Verfügung steht. Dann bringen sie einen Trojaner aus, der das DNS Tunneling aufbaut und dann weitere Cyberattacken einleitet.
Warum ist das DNS Tunneling so schwer aufzudecken?
Beim DNS Tunneling handelt es sich um einen sehr raffinierten Angriffsvektor. Das DNS-Protokoll ist simpel und grundsätzlich ist es nicht für Cyberangriffe geeignet. Gleichzeitig gehören DNS-Anfragen zu den normalsten Vorkommnissen und finden tagtäglich in einer hohen Anzahl statt. Aus diesem Grund gibt es wenig Sicherheitsvorkehrungen, die sich mit dem DNS-Traffic beschäftigen. Daher ist die Erfolgschance für Angreifer recht hoch, wenn sie das DNS Tunneling für Angriffe nutzen.
Darüber hinaus entstehen beim DNS Tunneling auf dem infiltrierten System wenig Anhaltspunkte für eine Kompromittierung. Ein Rechner, der DNS-Anfragen sendet, ist zunächst vollkommen unauffällig. Wie erwähnt tun dies alle Systeme, die beispielsweise im Internet eine Webseite aufrufen. Das DNS Tunneling selbst benötigt auch keinerlei Schadsoftware auf dem Zielrechner. Zwar kommt in Kombination mit dem Angriff Malware zum Einsatz, das DNS Tunneling ist jedoch erst die zweite Stufe. Diese beginnt nur, wenn die Malware im ersten Schritt unentdeckt geblieben ist. Das Tunneling selbst ist dann sehr schwer zu entdecken. In dieser Phase beginnt jedoch der eigentliche Angriff, nämlich die Infiltrierung von Daten oder das weitere Ausbringen von Schadsoftware.
Welche Abwehrmaßnahmen gibt es gegen das DNS Tunneling?
Die Verteidigung gegen das DNS Tunneling ist vergleichsweise komplex. Klassische Virenscanner entdecken solche Formen von Aktivitäten in der Regel nicht, da keinerlei Software zum Einsatz kommt. Virenscanner konzentrieren sich primär auf die Suche nach Schadsoftware, die sich auf einem Rechner befindet.
Auch Firewall-Einstellungen bieten keinen Schutz gegenüber dem DNS Tunneling. Dies liegt daran, dass alle DNS-Anfragen über denselben Port laufen. Dies sind der UDP- und TCP-Port 53. Wird Datenverkehr auf diesem Port untersagt, sind die Rechner im Netzwerk nicht mehr in der Lage, DNS-Anfragen zu erhalten, was dazu führt, dass das Browsen im Internet sowie viele Netzwerkdienste nicht mehr funktionieren.
Es gibt außerdem Firewall-Lösung, die über Blacklists verfügen und Domains sowie IP-Adressen sperren, die dafür bekannt sind, Command-and-Control-Server zu hosten. Jedoch verfügen diese Blacklists meist nur über die bekannten Domains. Bei APTs setzen die Angreifer jedoch neue Domains auf und nutzen nicht verbrannte IPs. Dementsprechend bieten auch solche Systeme keinen ausreichenden Schutz, vor allem nicht gegenüber gezielten Attacken.
Eine wirksame Abwehrtechnik sind hingegen Systeme, die aktiv das Netzwerk scannen. Solche Lösungen für die Angriffsfrüherkennung greifen auf Logs zu und suchen hier nach auffälligen Aktivitäten. Zu diesen Logs gehören auch die DNS-Anfragen von Computern und die Ereignisprotokolle von Routern. In diesen Daten finden sich die manipulierten beziehungsweise untypischen DNS-Anfragen, die im Rahmen des Tunneling entstehen.
Die Angriffsfrüherkennung hat die Fähigkeit, solche Log-Einträge als Hinweise für eine Cyberattacke zu identifizieren, da sie untypisch sind. Diese Systeme scannen permanent das Netzwerk und suchen mithilfe von Künstlicher Intelligenz nach Aktivitäten, die nicht zum normalen Datenverkehr passen oder anderweitig auf unbefugte Aktivitäten hinweisen. Mit diesen Eigenschaften ist die Angriffsfrüherkennung eine der besten Abwehrmaßnahmen gegen das DNS Tunneling.
Es gibt zudem einige Techniken, die sich auf die Analyse des DNS-Traffics konzentrieren. Dies sind vor allem die Payload- und die Traffic-Analyse. Bei der Payload-Analyse wird ausgewertet, welche Inhalte die DNS-Anfragen haben. Hierbei wird der Fokus auf untypische Inhalte gelegt. Dazu gehören beispielsweise Bausteine in den Anfragen wie „TXT“, die in einer normalen DNS-Anfrage nicht vorkommen. Es lässt sich auch eine Richtlinie einführen, wenn ein interner DNS-Server vorhanden ist, der für das Caching von Anfragen zum Einsatz kommt. Beim DNS Tunneling wird dieser Weg ignoriert und das infizierte System sendet die DNS-Anfragen direkt an den Server der Angreifer. Es gibt jedoch auch DNS-Attacken, die über den internen DNS-Server laufen und diese Abwehrmethode somit ebenfalls überwinden.
Erfolgversprechend ist hingegen, eine weitere Richtlinie einzuführen, die sich auf die Länge der Anfragen konzentriert. Ein wichtiger Anhaltspunkt ist die Länge des Hostnamen. Die meisten Hosts besitzen vergleichsweise kurze Namen, wie etwa secion.de. Beim DNS Tunneling nutzen die Angreifer den Bereich, der in der Anfrage für den Hostnamen reserviert ist, für die Übertragung von Befehlen. Dementsprechend lang sind diese Anfragen. Es ist möglich, eine Richtlinie zu implementieren, die Hostnamen-Anfragen hervorhebt, die länger als 52 Zeichen sind. Dann ist die IT-Security in der Lage, diese Vorgänge genauer zu prüfen. Bei einer manuellen Kontrolle fallen solche Zeichenketten dann sofort auf, während sie in der Masse der Log-Einträge ansonsten untergehen.
Die Traffic-Analyse konzentriert sich auf die Auswertung des Volumens sowie der IP-Adressen. Bei Angriffen über das DNS Tunneling kommt es vor, dass die Anzahl an Anfragen an die IP-Adresse der Hacker übermäßig zunehmen. Eine Häufung der Anfragen zu einer spezifischen IP-Adresse ist auffällig. Ebenfalls gibt es die Möglichkeit, die Größe der Anfragen zu beobachten. Typische DNS-Anfrage sind kompakt und auf 512 Bytes begrenzt. Nutzen die Hacker die DNS-Anfragen hingegen für die Übertragung von Befehlen, beispielsweise zur Steuerung der Malware, dann überschreiten die Pakete die Größe von 512 Bytes. Auch das ist ein Anzeichen für DNS Tunneling.
Fazit zum DNS Tunneling und dem Gefahrenpotenzial
Das DNS Tunneling ist eines der raffinierteren Werkzeuge von Hackern, um unbemerkt auf fremde Netzwerke zuzugreifen. Gerade dieser Punkt macht das DNS Tunneling so gefährlich. Hacker nutzen diesen Angriffsvektor gerne, wenn sie unentdeckt bleiben möchten. Dies ist ein Anzeichen für gezielte Attacken, bei denen es beispielsweise um den Diebstahl von wichtigen Daten oder die Vorbereitung eines großangelegten Angriffs, etwa mit Ransomware, geht. Aus diesem Grund sind solche Aktivitäten ernst zu nehmen und die IT-Security benötigt die passenden Werkzeuge zur Abwehr, wie die Angriffsfrüherkennung.