How Hackers Spoof DNS Requests With DNS Cache Poisoning
Domain Name Server (DNS) Spoofing is een cyberaanval waarbij uw computer wordt voorgespiegeld dat hij naar de juiste website gaat, maar dat is niet zo. Aanvallers gebruiken DNS cache poisoning om internetverkeer te kapen en gebruikersgegevens of persoonlijke gegevens te stelen.
DNS cache poisoning en DNS spoofing zijn synoniemen en worden vaak door elkaar gebruikt. Maar om precies te zijn kun je ze zien als het Hoe en Wat van dezelfde cyberaanval. De hacker wil gebruikers verleiden om hun privégegevens op onveilige websites in te voeren. Hoe wil hij dat doen? Door de DNS-cache te vergiftigen. Wat ze doen is de DNS-gegevens voor een bepaalde website vervalsen of vervangen, zodat deze doorverwijst naar de server van de hacker en niet naar de legitieme webserver. Van daaruit kan de hacker een phishing-aanval uitvoeren, gegevens stelen of zelfs malware in het systeem van het slachtoffer injecteren.
Krijg het gratis EBook over pentests voor Active Directory-omgevingen
Varonis kan DNS cache poisoning aanvallen detecteren door DNS te monitoren en abnormaal gedrag te detecteren in de activiteiten van uw gebruikers.
- Wat is DNS Spoofing en Cache Poisoning?
- Hoe werkt een DNS Cache Poisoning aanval?
- Hoe DNS Cache Poisoning te detecteren
- Hoe te beschermen tegen DNS Cache Poisoning
- DNS Spoofing FAQs
Wat is DNS Spoofing en Cache Poisoning?
Voordat we het over de aanval hebben, moeten we even opfrissen wat DNS en DNS caching zijn. DNS is de wereldwijde catalogus voor IP-adressen en domeinnamen. Zie het als het telefoonboek voor het internet. Het vertaalt eindgebruiker-vriendelijke URL’s zoals Varonis.com naar IP adressen zoals 192.168.1.169 die door computers worden gebruikt voor netwerken.
DNS caching is het systeem dat deze adressen opslaat in DNS servers over de hele wereld. Om uw DNS-verzoeken snel te houden, creëerden de oorspronkelijke ontwikkelaars een gedistribueerd DNS-systeem. Elke server slaat een lijst op van DNS-records die hij kent – dit wordt een cache genoemd. Als uw dichtstbijzijnde DNS-server het IP-adres dat u nodig hebt niet kent, vraagt hij andere upstream DNS-servers totdat hij het IP-adres vindt voor de website die u probeert te bereiken. Uw DNS-server slaat die nieuwe invoer dan op in uw cache voor snellere reactietijden.
Voorbeelden en gevolgen van DNS Cache Poisoning
DNS was helemaal niet ontworpen om het moderne internet te beheren. Het is in de loop der jaren beter geworden, maar één verkeerd geconfigureerde DNS-server die DNS-gegevens van een server in China haalde – en plotseling kan niemand meer op Facebook komen. Dit incident laat zien hoe afhankelijk we zijn van DNS. Eén persoon configureert een server verkeerd, en plotseling voelen honderden miljoenen mensen de gevolgen.
WikiLeaks was ook het doelwit van aanvallers die een DNS cache poisoning-aanval gebruikten om verkeer naar hun eigen WikiLeaks-achtige versie te kapen. Dit was een opzettelijke aanval ontworpen om verkeer weg te houden van WikiLeaks met enig succes.
DNS cache poisoning aanvallen zijn sneaky en moeilijk te vangen voor gemiddelde mensen. DNS is momenteel een vertrouwenssysteem, daarom is het makkelijk om er misbruik van te maken. Mensen vertrouwen DNS tot op het bot, en controleren nooit echt of het adres in hun browser wel het adres is dat ze verwachten. Aanvallers maken gebruik van deze zelfgenoegzaamheid en onoplettendheid om referenties of meer te stelen.
Hoe werkt een DNS Cache Poisoning-aanval?
DNS cache poisoning is wanneer je dichtstbijzijnde DNS-server een vermelding heeft die je naar het verkeerde adres stuurt – meestal een adres dat een aanvaller controleert. Hier zijn een paar verschillende technieken die aanvallers gebruiken om de DNS-cache te vergiftigen.
Hijacking the Local Network With ARP Spoofing
Het lokale netwerk kan een verrassend kwetsbaar doelwit zijn. Veel beheerders denken dat ze dit onder controle hebben, maar de duivel zit in de details. Een veel voorkomend probleem zijn thuiswerkers. Is hun Wi-Fi beveiligd? Hackers kunnen een zwak Wi-Fi wachtwoord in slechts een paar uur kraken. Een ander probleem is het openstellen van ethernetpoorten in gangen en openbare lobby’s. Stelt u zich eens voor dat iemand die in de lobby staat te wachten de ethernetkabel inplugt die bedoeld is voor het scherm in de lobby.
Laten we eens kijken hoe een hacker de toegang tot het lokale netwerk in zo’n situatie zou kunnen gebruiken.
Eerst zou de hacker een phishingpagina kunnen maken waarmee hij gebruikersgegevens en andere waardevolle gegevens kan verzamelen. Hij kan deze site dan lokaal op het netwerk hosten of op afstand op een server met een enkele regel python code.
Van daaruit kan de hacker dan beginnen met het monitoren van het netwerk met tools zoals Betterrcap. In dit stadium wordt het doelnetwerk in kaart gebracht en verkend, maar het verkeer stroomt nog steeds door de router.
Daarna zou de hacker ARP spoofing gebruiken om het netwerk intern te herstructureren. ARP, of adresresolutieprotocol, wordt door apparaten op een netwerk gebruikt om het MAC-adres van een apparaat te associëren met een IP-adres op het netwerk. Bettercap zal ARP-berichten uitsturen om alle apparaten op het netwerk te vertellen dat de computer van de hacker de router is. Dit stelt de hacker in staat om al het netwerkverkeer naar de router te onderscheppen.
Als al het verkeer is omgeleid via de computer van de hacker, kan de hacker de DNS spoofing module van Bettercap draaien. Deze zal zoeken naar alle verzoeken naar een beoogd domein, en een vals antwoord terug sturen naar het slachtoffer. Het valse verzoek bevat het IP-adres van de computer van de hacker, waardoor elk verzoek naar de doelwebsite wordt omgeleid naar de phishingpagina die door de hacker wordt gehost.
Nu kan de hacker verkeer zien dat bestemd is voor andere apparaten op het netwerk en verzoeken naar elke website omleiden. De hacker kan alles zien wat het slachtoffer op deze pagina doet, inclusief het verzamelen van inloggegevens of het aanbieden van kwaadaardige downloads.
Als een hacker geen toegang kan krijgen tot een lokale netwerkverbinding, zullen ze hun toevlucht nemen tot een van de volgende aanvallen.
Response Forgery Using the Birthday Attack
DNS verifieert geen antwoorden op recursieve query’s, dus het eerste antwoord wordt in de cache opgeslagen. Aanvallers gebruiken de “verjaardagsparadox” om te proberen te anticiperen en een vals antwoord naar de aanvrager te sturen. Deze verjaardagsaanval maakt gebruik van wiskunde en waarschijnlijkheidsrekening om een gokje te wagen. In dit geval probeert de aanvaller de transactie-ID van uw DNS-verzoek te raden, zodat het vervalste antwoord met de vervalste DNS-vermelding u eerder bereikt dan het echte antwoord.
Een verjaardagsaanval is geen gegarandeerd succes, maar uiteindelijk zal een aanvaller stiekem een vervalst antwoord in een cache stoppen. Als de aanval slaagt, zal de aanvaller verkeer van de vervalste DNS-entry zien totdat de time-to-live (TTL) verloopt.
Kaminsky’s Exploit
Kaminsky’s exploit is een variatie op de verjaardagsaanval die op BlackHat 2008 werd gepresenteerd.
Eerst stuurt de aanvaller een doel-resolver een DNS-query voor een niet-bestaand domein, zoals “fake.varonis.com”. De resolver stuurt de query vervolgens door naar de gezaghebbende naamserver om het IP-adres voor het valse subdomein te krijgen. Op dit punt overspoelt de aanvaller de resolver met een enorm aantal valse antwoorden, in de hoop dat een van die vervalsingen overeenkomt met de transactie ID van de oorspronkelijke query.
Als dat lukt, heeft de aanvaller de DNS-cache van de beoogde resolver vergiftigd met een vervalst IP-adres voor – in dit voorbeeld – varonis.com. De resolver zal iedereen die het vraagt blijven vertellen dat het IP adres voor varonis.com de vervalste query is tot de TTL.
Hoe DNS Cache Poisoning te detecteren
Dus hoe detecteer je een DNS cache poisoning aanval? Controleer uw DNS-servers op indicatoren van mogelijke aanvallen. Mensen hebben niet de rekenkracht om de hoeveelheid DNS-verzoeken bij te houden die u moet monitoren. Pas gegevensbeveiligingsanalyses toe op uw DNS-monitoring om normaal DNS-gedrag te onderscheiden van aanvallen.
- Een plotselinge toename van DNS-activiteit van een enkele bron over een enkel domein wijst op een potentiële Birthday-aanval.
- Een toename van DNS-activiteit van een enkele bron die uw DNS-server bevraagt voor meerdere domeinnamen zonder recursie, duidt op een poging om een vermelding te vinden om te gebruiken voor poisoning.
Naast het bewaken van DNS, bewaakt u Active Directory-gebeurtenissen en het gedrag van het bestandssysteem voor abnormale activiteit. En nog beter, gebruik analyses om de activiteit tussen de drie vectoren te correleren en zo een waardevolle context aan uw cyberbeveiligingsstrategie toe te voegen.
Hoe te beschermen tegen DNS Cache Poisoning
Naast bewaking en analyses kunt u configuratiewijzigingen op uw DNS-server aanbrengen.
- Limiteer recursieve query’s om u te beschermen tegen potentiële gerichte gifaanvallen.
- Sla alleen gegevens op die betrekking hebben op het gevraagde domein.
- Beperk antwoorden tot alleen die over het gevraagde domein.
- Dwing clients HTTPS te gebruiken.
Zorg ervoor dat u de nieuwste versies van BIND en DNS-software gebruikt, zodat u over de nieuwste beveiligingsoplossingen beschikt.
Indien mogelijk, zoals bij externe medewerkers, laat u alle externe clients verbinding maken via een VPN om verkeer en DNS-verzoeken te beschermen tegen lokale snooping. Zorg er daarnaast voor dat u een sterk wachtwoord voor Wi-Fi thuis aanmoedigt om het risico verder te verkleinen.
En tot slot: gebruik versleutelde DNS-verzoeken. DNSSEC (Domain Name System Security) is een DNS-protocol dat gebruikmaakt van ondertekende DNS-verzoeken om vervalsing te voorkomen. Wanneer DNSSEC wordt gebruikt, moet de DNS-oplosser de handtekening verifiëren bij de gezaghebbende DNS-server, wat het hele proces vertraagt. Dit heeft ertoe geleid dat DNSSEC nog niet op grote schaal wordt toegepast.
DNS over HTTPS (DoH) en DNS over TLS (DoT) zijn concurrerende specificaties voor de volgende versie van DNS om DNS-verzoeken veilig te houden zonder snelheid op te offeren zoals DNSSEC. Dit zijn echter geen perfecte oplossingen omdat ze DNS-monitoring en -analyse lokaal kunnen vertragen of zelfs helemaal verhinderen. Het is ook belangrijk op te merken dat DoH en DoT ouderlijk toezicht of andere blokkering op DNS-niveau op het netwerk kunnen omzeilen. Cloudflare, Quad9 en Google hebben echter openbare DNS-servers die DoT kunnen ondersteunen. Veel nieuwere clients zijn in staat om deze nieuwere standaarden te ondersteunen, maar zijn standaard uitgeschakeld. U kunt meer gedetailleerde informatie vinden op de DNS-beveiligingsblog van Varonis.
DNS-spoofing vervangt een legitiem website-IP-adres door het IP-adres van de computer van een hacker. Het kan bijzonder lastig zijn omdat het moeilijk te herkennen is, vanuit het perspectief van de eindgebruiker die een volledig normaal uitziend adres in de URL-balk van zijn browser heeft gezet. Het is echter niet onmogelijk om het te stoppen. Risico’s kunnen worden beperkt door monitoring software zoals Varonis en het gebruik van de DNS over TLS encryptie standaard.
DNS Spoofing FAQs
Hieronder vindt u een aantal veelgestelde vragen over DNS spoofing.
Q: Zijn DNS Cache Poisoning en DNS Spoofing hetzelfde?
A: Ja, DNS spoofing en caching verwijzen naar dezelfde cyberaanval.
Q: Hoe werkt DNS Cache Poisoning?
A: DNS cache poisoning werkt door het misleiden van uw DNS-server in het opslaan van een vervalste DNS-entry. Het verkeer naar de vervalste DNS-vermelding gaat naar een door de aanvallers gekozen server om gegevens te stelen.
Q: Welke beveiligingsfuncties kunnen worden gebruikt om te beschermen tegen DNS Cache Poisoning?
A: Website-eigenaren kunnen DNS-spoofingbewaking en -analyse implementeren. Dit omvat het upgraden van hun DNS-servers om DNSSEC of een ander coderingssysteem te gebruiken, zoals DNS over HTTPS of DNS over TLS. Het gebruik van volledige end-to-end-encryptie zoals HTTPS waar mogelijk kan ook spoofing voorkomen. Cloud Access Security Brokers (CASB) zijn hiervoor uiterst nuttig.
Eindgebruikers kunnen een mogelijk gespoofde DNS-cache resetten door de DNS-cache van hun browser periodiek te flushen of nadat ze zich bij een onveilig of gedeeld netwerk hebben aangesloten. Het gebruik van een VPN kan bescherming bieden tegen DNS-spoofing op een lokaal netwerk. Het vermijden van verdachte koppelingen helpt voorkomen dat eindgebruikers de cache van hun browser aan risico’s blootstellen.
Q: Hoe kunt u controleren op een DNS Cache Poisoning-aanval?
A: Als de DNS-cache eenmaal is vergiftigd, kan dit moeilijk te detecteren zijn. Het is misschien een betere tactiek om uw gegevens te bewaken en uw systemen te beschermen tegen malware om u te beschermen tegen compromittering door een vergiftigde DNS-cache.
Kijk eens naar het Live Cyber Attack Lab om te zien hoe we DNS-bewaking gebruiken om echte cyberbeveiligingsbedreigingen te detecteren.
Q: Hoe werkt DNS-communicatie?
A: Wanneer de eindgebruiker een URL zoals “Varonis.com” in zijn browser typt, zullen de volgende stappen plaatsvinden:
- De browser zal eerst zijn lokale cache controleren om te zien of het de DNS-gegevens al heeft opgeslagen.
- Als de browser de gegevens niet heeft, zal het de volgende upstream DNS-server vragen, die normaal gesproken uw router op hun lokale netwerk zal zijn.
- Als de router niet de benodigde DNS-entry in zijn cache heeft, zal het een upstream DNS-provider gebruiken, zoals Google, Cloudflare, of Quad9.
- Die upstream-server ontvangt dan het DNS-verzoek en controleert zijn cache.
-
- 4.1 Ervan uitgaande dat de router de DNS-gegevens nog niet in de cache heeft, start hij een recursieve DNS-oplosser door eerst de DNS-rootservers te bevragen met de vraag “Who is handling .com”
- 4.2 Vervolgens bevraagt de oplosser de top-level-domeinserver voor .com met de vraag “Wie beheert Varonis.com?” de TDL antwoordt dan met een gezaghebbende naamserver voor de URL.
- 4.3 De resolver geeft dan een query aan de gezaghebbende naamserver met de vraag “Wat is het IP van Varonis.com?” de gezaghebbende naamserver antwoordt dan met een IP-adres voor het domein.
5. De DNS-gegevens worden vervolgens teruggestuurd naar het apparaat van de eindgebruiker. Onderweg slaat elke DNS-server het antwoord in de cache op voor toekomstig gebruik.
Q: Hoe kunnen aanvallers DNS-caches vergiftigen?
Er is niet één manier waarop een DNS-cache kan worden vergiftigd, maar enkele van de meest voorkomende manieren zijn: Het slachtoffer laten klikken op kwaadaardige links die embedded code gebruiken om de DNS cache in hun browsers te veranderen. Hackers kunnen ook de lokale DNS-server kapen door gebruik te maken van een man-in-the-middle spoofing-aanval. De aanval maakt gebruik van ARP-spoofing om DNS-verzoeken om te leiden naar een DNS-server die door hen wordt beheerd.
Q: Wat is DNS Cache Poisoning?
A: DNS cache poisoning is het vervangen van een DNS-database-item door een kwaadaardig IP-adres dat de eindgebruiker naar een server stuurt die door de hacker wordt beheerd.
Q: Hoe wordt DNS Spoofing gedaan?
Een hacker voert een DNS spoofing aanval uit door toegang te krijgen en een DNS cache te wijzigen of DNS queries om te leiden naar hun eigen DNS server.
Q: Wat wordt bedoeld met DNS Spoofing?
DNS spoofing betekent dat de URL die een gebruiker in zijn browser invoert, zoals varonis.com niet naar het legitieme IP-adres gaat dat bij die URL hoort, maar in plaats daarvan wordt doorgestuurd naar een kwaadaardige server die door een hacker wordt beheerd.
Q: Waarom is DNS-spoofing een probleem?
A: DNS-spoofing is een probleem omdat DNS inherent te vertrouwen is en vaak niet met enige vorm van encryptie is beveiligd. Dit betekent dat een hacker een DNS-vermelding kan spoofen en gebruiken voor gegevensdiefstal, malware-infectie, phishing en het voorkomen van updates.
Q: Wat zijn de bedreigingen van een DNS-spoofingaanval?
De belangrijkste bedreiging van DNS-spoofing is gegevensdiefstal door het gebruik van phishingpagina’s. Daarnaast is er de dreiging van malware infectie door het hosten van legitiem uitziende downloads die in werkelijkheid geïnfecteerd zijn met malware. Tenslotte, als het systeem afhankelijk is van het internet voor updates, kunnen de updates worden voorkomen door hun DNS-gegevens te wijzigen zodat ze niet naar een echte website leiden. Dit kan ook worden toegepast op elke website als een methode van censuur.