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.

Bijeenkomsten

Alleen voor CISO’s van de (lokale) overheid!

Bekijk wanneer de volgende bijeenkomst is.

Alleen voor Privacy Officers van de (lokale) overheid!

Bekijk wanneer de volgende bijeenkomst is.

Meer blogs lezen

Techblog: DNS h(ij)acking

De DNS wordt vaak het telefoonboek van het internet genoemd. In deze blog leggen we uit wat de DNS doet en hoe (en waarom) hackers proberen de DNS te hacken.

Wat te doen bij een beveiligingsincident?

Ook al neem je nog zoveel beveiligingsmaatregelen, vroeg of laat krijgt elke organisatie te maken met beveiligingsincidenten. Je kunt daarom maar beter goed voorbereid zijn. Welke stappen moeten er bijvoorbeeld genomen worden wanneer een incident …

Risicomanagement en bewustwording; lege containers?

Risicomanagement en bewustwording, we vinden het allemaal belangrijk. Mooie woorden die wijs en logisch klinken. Alleen in de praktijk blijft het vaak bij woorden. Waarom?

Is jouw gegevensverwerking rechtmatig?

Wanneer je als organisatie persoonsgegevens verwerkt, eist de AVG dat je eerst moet nagaan of de verwerking rechtmatig is. Is dit niet het geval? Dan mogen er geen persoonsgegevens worden verwerkt. Maar hoe weet je of jouw gegevensverwerking recht…

Het NIST CyberSecurity Framework als kans?

Binnen informatiebeveiliging praten we vaak over normen, managementsystemen en frameworks. Zo heb je het NIST Cyber Security Framework, maar hoe verhoudt dat zich tot het ISMS en de BIO? Lees het in onze blog.

Waar gaat de Wet digitale overheid over?

Vorig jaar is het wetsvoorstel voor de Wet digitale overheid (Wdo) aangenomen door de Tweede Kamer. Maar waar gaat deze wet nu precies over? Wanneer gaat de wet (pas) van kracht en wat betekent dit voor jouw gemeentelijke organisatie?