
DNS-Tunneling verwandelt das Domainnamen-System in eine Waffe für Hacker. DNS ist im Grunde genommen ein riesiges Adressbuch des Internets. Außerdem ist DNS ein grundlegendes Protokoll, das es Administratoren ermöglicht, Anfragen an die Datenbank eines DNS-Servers zu stellen. Soweit scheint alles klar zu sein. Aber raffinierte Hacker haben erkannt, dass sie heimlich mit dem Opfercomputer kommunizieren können, indem sie Steuerbefehle und Daten in das DNS-Protokoll einbetten. Diese Idee liegt dem DNS-Tunneling zugrunde.
Wie funktioniert DNS-Tunneling?

Für alles im Internet gibt es ein eigenes Protokoll. Auch DNS unterstützt relativ einfache Anfrage-Antwort-Typen. Wenn Sie sehen möchten, wie es funktioniert, können Sie nslookup ausführen – das Hauptwerkzeug zum Stellen von DNS-Anfragen. Sie können eine Adresse anfordern, indem Sie einfach den gewünschten Domainnamen angeben, zum Beispiel:

In unserem Fall hat das Protokoll mit der IP-Adresse der Domain geantwortet. In den Begriffen des DNS-Protokolls habe ich eine Adressanfrage gestellt oder eine Anfrage des sogenannten „A“-Typs gemacht. Es gibt auch andere Arten von Anfragen, bei denen das DNS-Protokoll mit unterschiedlichen Datensatzfeldern antwortet, die, wie wir später sehen werden, von Hackern ausgenutzt werden können.
Immerhin, im Grunde genommen, befasst sich das DNS-Protokoll mit der Übertragung von Anfragen an den Server und der Antwort zurück zum Client. Was ist, wenn ein Angreifer eine verborgene Nachricht in die Anfrage des Domainnamens einfügt? Zum Beispiel, anstatt eine völlig legitime URL einzugeben, gibt er die Daten ein, die er senden möchte:

Angenommen, der Angreifer kontrolliert den DNS-Server. Dann kann er Daten – zum Beispiel persönliche Daten – übertragen und wird dabei nicht unbedingt entdeckt. Schließlich, warum sollte eine DNS-Anfrage plötzlich etwas Illegalität haben?
Indem sie den Server steuern, können Hacker Antworten fälschen und Daten zurück an das Zielsystem senden. Das ermöglicht es ihnen, Nachrichten, die in verschiedenen Feldern der DNS-Antwort verborgen sind, in Schadsoftware auf dem infizierten Gerät zu übertragen, mit Anweisungen wie das Durchsuchen eines bestimmten Ordners.
Der „tunnelnde“ Teil dieses Angriffs besteht in von Daten und Befehlen vor Entdeckungsmechanismen. Hacker können Zeichencodierungen wie base32, base64 usw. verwenden oder sogar Daten verschlüsseln. Eine solche Kodierung wird von einfachen Bedrohungserkennungswerkzeugen, die nach Klartext suchen, unbemerkt bleiben.
Und das ist DNS-Tunneling!
Die Geschichte der Angriffe über DNS-Tunneling
Alles hat einen Anfang, einschließlich der Idee, das DNS-Protokoll für Hackerzwecke zu nutzen. Soweit wir beurteilen können, fand der erste solcher Angriff durch Oskar Pearson in der Bugtraq-Mail-Liste im April 1998 statt.
Bis 2004 wurde DNS-Tunneling auf Black Hat als Hacker-Methode in der Präsentation von Dan Kaminsky vorgestellt. So wurde die Idee sehr schnell zu einem echten Angriffswerkzeug.
Heute hat sich das DNS-Tunneling eine sichere Position auf der Karte (und Blogger im Bereich der Informationssicherheit werden oft gebeten, es zu erklären).
Haben Sie schon von ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Bedrohungen durch DNS-Tunneling

DNS-Tunneling ist wie ein Indikator für den Beginn einer schlechten Nachrichtenphase. Welche genau? Wir haben bereits über einige erzählt, aber lassen Sie uns das strukturieren:
- Datenexfiltration – ein Hacker überträgt heimlich kritische Daten über DNS. Das ist definitiv nicht der effektivste Weg, Informationen von einem Opfersystem zu übertragen – unter Berücksichtigung aller Aufwände und Kodierungen – aber es funktioniert, und dabei ist es versteckt!
- Befehls- und Steuerungssystem (Command and Control, kurz C2) – Hacker nutzen das DNS-Protokoll, um einfache Steuerbefehle zu senden, sagen wir, über (RAT).
- IP-Über-DNS-Tunneling – das mag verrückt klingen, aber es gibt Werkzeuge, die einen IP-Stack über die Anfragen und Antworten des DNS-Protokolls implementieren. Das macht die Datenübertragung mit FTP, Netcat, ssh usw. relativ einfach. Extrem unheimlich!
Erkennung von DNS-Tunneling

Es gibt zwei Hauptmethoden zum Entdecken von DNS-Missbrauch: Lastanalyse und Verkehrsanalysen.
Bei Lastanalyse Die sich verteidigende Seite sucht nach Anomalien in den Daten, die in beide Richtungen übertragen werden und statistisch entdeckt werden können: seltsam aussehende Hostnamen, Impressumstypen, die nicht so oft verwendet werden, oder nicht standardmäßige Kodierungen.
Bei Verkehrsanalyse bewertet die Anzahl der DNS-Anfragen an jede Domain im Vergleich zum Durchschnitt. Angreifer, die DNS-Tunneling nutzen, erzeugen eine große Menge an Verkehr zum Server. In der Theorie übersteigt dies den normalen Austausch von DNS-Nachrichten erheblich. Und das muss überwacht werden!
DNS-Tunneling-Tools
Wenn Sie einen eigenen Penetrationstest durchführen und überprüfen möchten, wie gut Ihr Unternehmen solche Aktivitäten erkennen und darauf reagieren kann, gibt es dafür mehrere Tools. Alle können im Modus tunneln IP-Over-DNS:
- – verfügbar auf vielen Plattformen (Linux, Mac OS, FreeBSD und Windows). Ermöglicht die Einrichtung eines SSH-Shells zwischen dem Ziel- und dem Steuerrechner. Hier ist eine gute Anleitung zur Konfiguration und Verwendung von Iodine.
- – ein DNS-Tunneling-Projekt von Dan Kaminsky, geschrieben in Perl. Damit kann man sich per SSH verbinden.
- – „DNS-Tunnel, der nicht zum Kotzen ist“. Erstellt einen verschlüsselten C2-Kanal zum Senden/Herunterladen von Dateien, Starten von Shells usw.
DNS-Überwachungs-Tools
Unten finden Sie eine Liste mehrerer Tools, die nützlich sind zur Erkennung von tunneling-Angriffen:
- – ein Python-Modul, entwickelt für MercenaryHuntFramework und Mercenary-Linux. Liest .pcap-Dateien, extrahiert DNS-Anfragen und führt Standortabgleichungen durch, was bei der Analyse hilft.
- – ein Python-Tool, das .pcap-Dateien liest und DNS-Nachrichten analysiert.
Mikro FAQ zum DNS-Tunneling
Nützliche Informationen in Form von Fragen und Antworten!
F: Was ist Tunneling?
A: Es ist einfach eine Methode zur Datenübertragung über ein bestehendes Protokoll. Das zugrunde liegende Protokoll stellt einen dedizierten Kanal oder Tunnel zur Verfügung, der dann verwendet wird, um Informationen zu verbergen, die tatsächlich übertragen werden.
F: Wann fand der erste DNS-Tunneling-Angriff statt?
A: Das wissen wir nicht! Wenn Sie es wissen – lassen Sie es uns bitte wissen. Soweit uns bekannt ist, wurde die erste Diskussion über einen Angriff von Oscar Pearsall in der Bugtraq-Mailingliste im April 1998 angestoßen.
F: Welche Angriffe ähneln dem DNS-Tunneling?
A: DNS ist bei weitem nicht das einzige Protokoll, das für Tunneling verwendet werden kann. Zum Beispiel verwenden Command and Control (C2) schädliche Programme häufig HTTP, um den Kommunikationskanal zu tarnen. Wie beim DNS-Tunneling verbirgt der Hacker seine Daten, aber in diesem Fall sieht es aus wie der Verkehr eines normalen Webbrowsers, der eine Verbindung zu einer entfernten (vom Angreifer kontrollierten) Seite herstellt. Das kann von Überwachungsprogrammen unbemerkt bleiben, wenn sie nicht darauf eingestellt sind, Missbrauch des HTTP-Protokolls zu Hackerzwecken.
Möchten Sie, dass wir Ihnen bei der Erkennung von DNS-Tunneling helfen? Informieren Sie sich über unser Modul und probieren Sie es kostenlos aus !
Quelle: habr.com
