DNS Tunneling


DNS Tunneling is een zeer gevaarlijke techniek die toegepast wordt om malware te verpakken in DNS pakketjes zodat de security controls van de organisatie niet gaan rinkelen. Ook kan DNS tunneling toegepast worden voor het opzetten van een “covert channel” waar langs gestolen informatie ontsloten kan worden.

Wat is DNS?

DNS kennen we allemaal toch? Domain Name System. DNS maakt het mogelijk om domeinnamen om te zetten in IP adressen. Zie het als een adresboek. Elke website is beschikbaar op een bepaald IP adres. Maar het is onmogelijk om alle IP adressen te onthouden. Namen en dus domeinnamen zijn een stuk gemakkelijker te onthouden. DNS maakt de omzetting en routeert het verkeer naar het juiste IP adres. Met DNS Tunneling kunnen we dus DNS als attack vector gebruiken. Op het moment dat we een domeinnaam opvragen welke we niet eerder bezocht hebben en waarvan het IP adres nog niet bij de computer bekend is zal de computer de volgende volgorde aanhouden om het IP adres van de domeinnaam te achterhalen:

1. Controleer local Hosts file
2. Gebruik DNS om de naam op te zoeken
3. Gebruik NetBIOS of LLMNR

Om DNS te gebruiken moet de computer weten wat zijn DNS servers zijn. Vaak worden deze settings meegegeven door de DHCP server (indien DHCP gebruikt wordt). Deze DNS server kan als deze over de juiste informatie beschikt de naam resolven en de output retourneren of de DNS server kan deze doorsturen naar een andere (recursive) DNS server (vaak van je ISP). Als deze ook niet over de juiste informatie beschikt zal deze de informatie opvragen bij de authoritive DNS server. Dit is de server die de DNS setting voor dat specifieke domein host.

Bovenstaande proces is essentieel. Het blokkeren van DNS zou dus resulteren in een niet functionerend internet alsmede vele niet functionerende diensten op het eigen netwerk die ook afhankelijk zijn van DNS. Daarom kan DNS verkeer vaak zonder restricties door het netwerk en naar buiten gerouteerd worden. De firewall vindt het allemaal prima en dat is het gevaar. Als verkeer over DNS getunneld kan worden dan zijn er weinig security mechanismes die dit verkeer tegen houden.

DNS tunneling kan gebruikt worden om geblokkeerde websites te benaderen, captive portals te omzeilen, om malware te downloaden en om gestolen data te uploaden.

Meer informatie over DNS kun je hier lezen