Techblog: DNS h(ij)acking


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

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 als deze kan je een domein ‘resolven’ naar een IP.

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 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

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

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

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

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

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 🙂

Wapenen

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.

Renco Schoemaker
Laatste berichten van Renco Schoemaker (alles zien)

Lees ons boek

Gemeenten. Bewustzijn. Privacy.

Het handboek voor informatiebewustzijn bij de lokale overheid.

Training

BIO voor applicatiebeheerders

Om een in-house cursus in te plannen, neem contact met ons op!

Meer blogs lezen

Gemeentelijke privacy: Een blik achter de schermen

De AVG bestaat dit jaar vijf jaar. Sinds 25 mei 2018 moeten alle organisaties, waaronder gemeenten, voldoen aan de verplichtingen uit de AVG bij het verwerken van persoonsgegevens. Maar hoe is het gesteld met de privacy bij gemeenten? Hebben ze de…

Hoe zet je Artificial Intelligence (AI) succesvol in?

Gemeenten maken steeds meer gebruik van AI, omdat dit ontzettend veel kansen biedt. Tegelijkertijd roept het gebruik van AI ook nieuwe vragen op. Je leest er meer over in deze blog

Een DPIA uitgevoerd en dan?

Voor gegevensverwerkingen met een hoog privacyrisico geldt dat je een DPIA moet uitvoeren. Maar wat doe je met de uitkomsten van een DPIA en hoe zorg je ervoor dat een DPIA geen eenmalige actie is maar over een bepaalde tijd herhaald wordt?

Hoe krijg je informatiebeveiliging op de bestuurstafel?

Het ambtelijk bestuur is eindverantwoordelijk voor informatiebeveiliging. Het is dus belangrijk dat zij een goed beeld hebben van de risico’s die informatiebeveiliging met zich mee brengt. Maar hoe krijg je als lijnmanager of CISO informatiebeveil…

Hoe voer je een DPIA uit?

Het uitvoeren van een DPIA is soms niet eenvoudig. In deze blog lees je daarom wat een DPIA precies is, wanneer je een DPIA uitvoert en welke stappen daarbij worden doorlopen.

Klaar voor actie: De rol van workshops in het voorbereiden van calamiteitenteams

Het uitvallen van belangrijke ICT-voorzieningen kan leiden tot een verstoring van de gemeentelijke dienstverlening. Vanuit de BIO is het inrichten van bedrijfscontinuïteit daarom verplicht. Maar wat is bedrijfscontinuïteit precies en hoe zorg je d…