Skip to main content

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.

IB&P

Lees ons boek

Gemeenten. Bewustzijn. Privacy.

Het handboek voor informatiebewustzijn bij de lokale overheid.

Training

Informatiebeveiliging en Privacy voor I-adviseurs en projectleiders

Schrijf je in voor de cursus op 7 en 14 november 2023 op ons kantoor in Zwolle, of neem contact op om een in-house cursus in te plannen!

Meer blogs lezen

De rol van de proceseigenaar bij BCM

Net zoals elke organisatie, kan een gemeente te maken krijgen met incidenten die de continuïteit van de dienstverlening in gevaar kunnen brengen. BCM is daarom een term die je steeds vaker hoort binnen gemeenten. Vooral proceseigenaren spelen hier…

Hoe kunnen functioneel beheerders en Privacy Officers elkaar ondersteunen?

De implementatie van de AVG of Wpg is niet uitsluitend de verantwoordelijkheid van de Privacy Officer. Het is een samenspel van diverse medewerkers uit verschillende vakgebieden, waaronder de functioneel beheerder. Hoe kunnen functioneel beheerder…

Hoe kun je contractmanagement implementeren?

: Contractmanagement zorgt ervoor dat alle afspraken en verplichtingen in een zakelijk contract goed worden nageleefd en beheerd, vanaf het moment dat het contract wordt ondertekend tot het einde ervan. Maar wat houdt contractmanagement eigenlijk …

De rol van de lijnmanager op het gebied van privacy

In onze wereld, met alle informatietechnologie, is privacy belangrijker dan ooit. Als lijnmanager heb je een belangrijke rol om ervoor te zorgen dat iedereen zich aan de regels van de van de organisatie houdt. Maar wat houdt deze rol precies in en…

Waarom is contractmanagement ook belangrijk voor informatiebeveiliging?

Contractmanagement speelt een belangrijke rol in het kader van informatiebeveiliging. Het is namelijk niet alleen een manier om zakelijke overeenkomsten te beheren; het vormt ook de basis voor een goede informatiebeveiligingsstrategie. Waarom dat …

Een verwerkersovereenkomst afgesloten, en dan?

Een van de belangrijkste eisen uit de AVG is dat je een verwerkersovereenkomst moet opstellen wanneer je persoonsgegevens laat verwerken door anderen. In deze blog lees je meer over wat er moet gebeuren nadat je een verwerkersovereenkomst hebt afg…