DNS-Tunneling
Was ist DNS und was ist DNS-Tunneling?
Das Domain Name System (DNS) ist das Protokoll, welches URLs in IP-Adressen auflöst. Da DNS ist weit verbreitet und gilt als vertrauenswürdig, deswegen überwachen Unternehmen ihren DNS-Verkehr meist nicht auf bösartige Aktivitäten. Infolgedessen können eine Reihe von DNS-basierten Angriffen gegen Unternehmensnetzwerke effektiv sein, darunter zählt auch das DNS-Tunneling. Das DNS-Tunneling ist eine Methode, mit der Daten über das DNS-Protokoll versendet werden, einem Protokoll, welches nicht für die Datenübertragung vorgesehen ist.
Anwendungsfälle
http via DNS
Der beliebteste Anwendungsfall für DNS-Tunneling ist der Zugang zu kostenlosem Internet durch Umgehung von gesperrten Portalen an Flughäfen, in Hotels oder übers WLAN im Flugzeug.
Die Etablierung des DNS-Tunnels erfolgt über entsprechende DNS-Tunneling-Tools.
An diesen gemeinsam genutzten Internet-Hotspots wird der HTTP-Verkehr blockiert, bis ein Benutzername/Passwort eingegeben wird, aber der DNS-Verkehr ist im Allgemeinen im Hintergrund noch erlaubt.
Somit kann der HTTP-Verkehr über DNS verschlüsselt werden und somit einen Internetzugang etablieren.
DNS-Tunneling im Angriffszenario
- das DNS-Protokoll wird zweckentfremdet und genutzt um Malware und andere Daten über die Client-Server-Kommunikation zu tunneln
- ein Angreifer registriert eine Domain (badsite.com)
- dieser registrierte DNS-Eintrag (DNS-Record) verweist auf den Server des Angreifers
- der Opfer-Computer wird mit Malware infiziert
- etabliert verdeckte Kanäle über DNS, um die Kommunikation zu verbergen oder die von Netzwerkadministratoren festgelegten Richtlinien zu umgehen
- der infizierte Computer hinter der Firewall darf DNS über die Firewall machen
- des infizierten Computers macht eine DNS-Anfrage für badsite.com
- der DNS-Server (DNS-Resolver) leitet Traffic auf Command und Control-Server
- auf Command und Control-Server ist ein DNS-Tunneling-Programm installiert
- Aufbau eines DNS-Tunnels über den Resolver zwischen Opfer- und Angreifer
- DNS-Tunnel kann zur Exfiltration von Daten oder für andere bösartige Zwecke verwendet werden
- Verbindung erfolgt über DNS-Server (Resolver) -> somit keine direkte Verbindung zwischen Opfer und Angreifer
* Erhöht die Schwierigkeit den Rechner des Angreifers zu verfolgen
Wie erfolgt der Datenversand über den DNS-Tunnel?
der Datenversand erfolgt verschlüsselt über den DNS-Requests
das geschieht z.B. durch Voranstellen eines Datenteils in der Domain der Anfrage
z.B. encodedpieceofdata.badsite.com
der DNS-Server ermittelt zu der URL die passende IP-Adresse des Servers
die Anfrage encodedpieceofdata.badsite.com wird an den Ziel-Server weitergeleitet
der Server verarbeitet die Instruktionen aus dem encodedpieceofdata wie z.B. eine HTTP-Abfrage
der Server antwortet per DNS-Request zurück