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.
- What Is DNS Hijacking? Basic Methods Of Protection
- What is domain name system (DNS) spoofing
- Zo bescherm je je domeinnaam tegen DNS-hijacking
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.
- Cyberaanval? Onderwijsbestuurders moeten straks op cursus - 22 januari 2025
- Privacy waakhond AP kraakt wet voor grensoverschrijdende uitwisseling van zorgdata - 21 januari 2025
- Belangstelling voor cyberveiligheid groeit bij mkb - 21 januari 2025
Lees ons boek
Gemeenten. Bewustzijn. Privacy.
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!