Skip to main content
#
12 november 2021
Samenvatting
De DNS wordt wel het telefoonboek van het internet genoemd én dus is de DNS een dankbaar doelwit voor hackers. In deze blog leg ik uit hoe.
Volg qeep

Techblog: DNS h(ij)acking

Over hoe en waarom hackers proberen de DNS te hacken
12 november 2021

Gewoon omdat het kan hebben we deze week een techblog voor je gereed. Misschien de eerste van een heuse serie, maar dat gaan we zien. DNS staat voor Domain Name Server. In deze blog leggen we uit wat de DNS doet en hoe (en waarom) hackers proberen de DNS te hacken. Ook zonder technische achtergrondkennis te lezen. Althans, daar streven we naar.

Het telefoonboek

Omdat IP adressen onthouden nu eenmal tegenvalt

De DNS wordt vaak het telefoonboek van het internet genoemd. De websites die je bezoekt – waaronder deze – draaien op een webserver, ergens op een (virtuele) server. De meeste websites vereisen ook een database en jawel, die draait op een databaseserver – meestal op dezelfde (virtuele) server. Die server heeft een IP adres en door dat IP adres in te tikken in je adresbalk i.c.m. een specifieke poort (bijv. 443 voor https) wordt de website door de webserver getoond in jouw browser. Got it?

Maar het is ondoenlijk al die IP adressen bij te houden, laat staan te onthouden. Het IP van onze website is op dit moment 149.210.195.89. Makkelijker is een domeinnaam zoals ib-p.nl. En daar komt de DNS name server in beeld; die houdt bij welk IP adres hoort bij welke domeinnaam. Dus ja, een soort telefoonboek van het internet. Met behulp van een tool kan je een domein ‘resolven’ naar een IP.

“Chaos is qua DNS te prefereren omdat het doorgaans inhoudt dat een website of dienst tijdelijk niet bereikbaar is. […] Maar het wordt pas écht vervelend wanneer een DNS nameserver gehackt wordt en DNS records heimelijk worden aangepast.”

DNS records

Een DNS nameserver bevat de zogenaamde DNS records van een domein. Dat kan je zien als een verzameling (database) van verschillende typen records (regels) die waarden bevatten. Veelal gebruik je de nameserver van je webhosting aanbieder, maar je kan ook ‘custom’ nameserver instellen (zoals CloudFlare of OpenDNS). Bij je webhoster registreer je veelal ook je domeinnaam, maar deze zaken zijn dus allemaal uit elkaar te halen en bij aparte aanbieders onder te brengen. De Consumentenbond schreef een artikel over custom DNS servers.

Omwille van de leesbaarheid ga ik hier niet verder in op recursion en de zgn. authoritative nameserver. Terug naar DNS records. De bekendste zijn:

  • A-Record: Voor het koppelen van een IPv4 adres aan het (sub)domein.
  • AAAA-Record: Voor het koppelen van een IPv6 adres aan het (sub)domein.
  • CNAME-Record: Voor het koppelen van een subdomein aan een ander (sub)domein.
  • MX-Record: Voor het versturen van e-mail, door een mailserver op te geven.
  • TXT-Record: Van origine voor het toevoegen van leesbare tekst in DNS-records. Tegenwoordig gebruikt voor allerlei zaken zoals SPF en DKIM-records.
    • SPF-Record: SPF-records zijn een variatie op het TXT-record en worden gebruikt om aan te geven welk IP-adres of hostnaam toestemming heeft om te mailen vanaf jouw domeinnaam.
    • DKIM-Record: DKIM-records zijn een variatie op het TXT-record en worden gebruikt voor het valideren van de afzender van e-mail.

(bron: TransIP)

Verkeersregelaar

Een DNS server wie waar naar toe moet

Een domein heeft dus een DNS nameserver (eigenlijk altijd twee – redundantie) waar de DNS records te vinden zijn. Vanuit die DNS records wordt bepaald wat waarheen ‘gerouteerd’ moet worden. Via het A of AAAA record wordt verwezen naar bijv. de webserver zodat er ook daadwerkelijk een website getoond wordt. Via het MX record wordt bepaald waar mail heen moet. Er wordt verkeer geregeld, zou je kunnen zeggen.

Dan begrijp je nu ook dat een verkeerd geconfigureerde of gecompromitteerde DNS nameservers of DNS records tot narigheid kunnen leiden. Zoals bij Facebook vorige maand. Een verkeersregelaar die niet (tijdig) reageert of verkeerde instructies geeft zal ook chaos veroorzaken. Chaos is qua DNS te prefereren omdat het doorgaans inhoudt dat een website of dienst tijdelijk niet bereikbaar is. Zo is middels een ‘brute force’ aanval een DNS nameserver onderuit te halen met als gevolg Denial of Service (DoS). Maar het wordt pas écht vervelend wanneer een DNS nameserver gehackt wordt en DNS records heimelijk worden aangepast. Maar ook zonder de nameserver te hacken zijn DNS records aan te passen…

DNS hijacking

Van kwaad tot erger

Indien een DNS hack succesvol is dan kan een hacker bijv. websitebezoekers naar een nagemaakte website sturen en ze daar verleiden tot inloggen en zo hun inloggegevens stelen. Het zal je niet verbazen dat er vooral rondom banken en creditcardmaatschappijen veel geld te verdienen valt op deze manier. Er zijn verschillen methoden om verkeer ‘om te leiden’ door de DNS te hacken, of beter: te kapen (hijacken).

  • Lokale DNS hijack
  • Router DNS hijack
  • DNS spoofing (cache poisoning)
    • Man-in-the-Middle DNS aanval
    • Gecompromitteerde DNS server

Lokale DNS hijack

Impact op één enkel apparaat

Bij een lokale DNS hijack wordt middels malware lokaal op een apparaat een DNS instelling afgedwongen waardoor bijv. ib-p.nl niet meer naar 149.210.195.89 verwijst, maar naar een malafide website. Via een aanpassing in het hosts bestand is dit te bereiken, maar ook via je ethernet of WiFi netwerkkaart is een gecompromitteerde DNS server in te stellen. Deze hack heeft alleen betrekking op het enkele apparaat.

Router DNS hijack

Impact op alle met de router verbonden apparaten

Bij een router DNS hijack mikt een hacker een niveau hoger: niet een enkel apparaat, maar álle apparaten in een netwerk. Netwerkapparaten halen veelal via de router de DNS server op dus wanneer je die weet te compromitteren, dan zullen álle aangesloten netwerkapparaten (ethernet en WiFi) worden verwezen naar de verkeerde DNS server, met alle gevolgen dan dien. Deze hack is geavanceerder omdat je toegang tot de router moet hebben, i.p.v. toegang tot één apparaat in het netwerk. De impact is natuurlijk ook groter.

DNS cache poisoning

Impact op apparaten waarvan de verbinding wordt onderschept

Je kan je als hacker ook richting op andere zaken dan een enkel netwerkapparaat of router. Zij doen de verzoeken richting een DNS server en je kan ook de server zelf proberen te hacken of de verbinding tussen een netwerkapparaat en een DNS server. Hackers proberen DNS serververzoeken te onderscheppen en te manipuleren zonder dat de betrokken ‘partijen’ daar weet van hebben. Dit wordt een Man-in-the-Middle aanval genoemd. Jouw apparaat slaat namelijk in een lokale database op welke DNS verzoeken (lookups) je recent deed zodat identieke verzoeken snel vanuit daar kunnen worden afgehandeld. Die cache is te vergiftigen met malafide records (relaties domeinnaam – IP adres). De impact is beperkt tot de apparaten waartussen de verbinding wordt onderschept.

DNS spoofing

Erg, erger, ergst

Nog verder van huis ben je wanneer een hacker een DNS server weet te compromitteren. Dan kan je net zo goed de handdoek in de ring gooien, so to speak. De impact kan enorm zijn. Wanneer je de controle over de DNS server kwijt bent, ben je zeer serieus gehackt. Álle verzoeken richting de DNS server zijn dan gecompromitteerd. Niet DNS verzoeken van één apparaat, niet alle DNS verzoeken in een netwerk (via de router) en niet de DNS verzoeken binnen een verbinding. Nee, allemaal. Als ik hacker zou zijn, zou ik hier op mikken 🙂

“Nog verder van huis ben je wanneer een hacker een DNS server weet te compromitteren. Dan kan je net zo goed de handdoek in de ring gooien, so to speak. De impact kan enorm zijn. Wanneer je de controle over de DNS server kwijt bent, ben je zeer serieus gehackt. Álle verzoeken richting de DNS server zijn dan gecompromitteerd.”

Wapenen

Er is natuurlijk wel wat tegen te doen

Gelukkig kan je je wapenen tegen dergelijke hacks. Om deze blog niet te lang te maken, ga ik hier nu niet verder op in. Wel verwijs ik je graag door naar een aantal sites/blogs zodat je daar verder kan lezen over je wapenen.

Ga in ieder geval aan de slag met DNSSEC! Niet voor niets een verplichte standaard. En mocht je een meer technische blog als deze graag lezen, laat het ons dat weten via mail of een berichtje op Linkedin of Twitter. Dat vergroot de kans op een vervolg.


Senior Adviseur Security & Privacy bij qeep IT safe.
r.schoemaker@qeep.nl