
DNS-tunneling verandert het Domain Name System in een wapen voor hackers. DNS is in wezen een enorme telefoongids van het internet. Bovendien is DNS het basisprotocol waarmee beheerders verzoeken naar de database van de DNS-server kunnen sturen. Tot nu toe is alles begrijpelijk. Maar slimme hackers hebben ontdekt dat het mogelijk is om heimelijk te communiceren met het slachtoffer door beheerscommando's en gegevens in het DNS-protocol in te voegen. Dit idee ligt ten grondslag aan DNS-tunneling.
Hoe DNS-tunneling werkt

Voor alles op internet is er een apart protocol. En DNS ondersteunt een relatief eenvoudige vraag-antwoordtype. Als je wilt zien hoe het werkt, kun je nslookup uitvoeren – het belangrijkste hulpmiddel voor het indienen van DNS-verzoeken. Je kunt een adres opvragen door gewoon de gewenste domeinnaam op te geven, bijvoorbeeld:

In ons geval heeft het protocol geantwoord met het IP-adres van het domein. In termen van het DNS-protocol heb ik een adresverzoek gedaan of een zogenaamd ‘A’-type verzoek ingediend. Er zijn ook andere soorten verzoeken, waarbij het DNS-protocol met verschillende sets gegevensvelden zal antwoorden, die, zoals we later zullen zien, door hackers kunnen worden benut.
Hoe dan ook, in wezen houdt het DNS-protocol zich bezig met het verzenden van een verzoek naar de server en het beantwoorden daarvan naar de client. Wat als een aanvaller een verborgen bericht aan het verzoek van de domeinnaam toevoegt? Bijvoorbeeld, in plaats van een volledig legitieme URL in te voeren, voert hij de gegevens in die hij wil verzenden:

Stel je voor dat de aanvaller de DNS-server beheert. Dan kan hij gegevens verzenden, bijvoorbeeld persoonlijke gegevens, en zal hij niet noodzakelijkerwijs worden ontdekt. Tenslotte, waarom zou een DNS-verzoek ineens iets illegaals kunnen zijn?
Door de server te beheren, kunnen hackers antwoorden vervalsen en gegevens terugsturen naar het doelwit. Dit stelt hen in staat om berichten te verzenden die verborgen zijn in verschillende velden van het DNS-antwoorden, naar malware op de geïnfecteerde machine, met instructies zoals het zoeken binnen een bepaalde folder.
Het 'tunneling'-gedeelte van deze aanval draait om van gegevens en commando's voor detectiesystemen. Hackers kunnen tekenreeksen zoals base32, base64 enzovoort gebruiken, of zelfs de gegevens versleutelen. Deze codering zal onopgemerkt blijven voor eenvoudige dreigingsdetectiehulpmiddelen die op zoek gaan naar platte tekst.
En dat is DNS-tunneling!
Het verhaal van DNS-tunneling aanvallen
Alles heeft een begin, inclusief het idee om het DNS-protocol te benutten voor hackingdoeleinden. Voor zover we kunnen oordelen, was de eerste aanval uitgevoerd door Oskar Pearson in de Bugtraq-mailinglijst in april 1998.
Tegen 2004 werd DNS-tunneling gepresenteerd op Black Hat als een hackermethode in de presentatie van Dan Kaminsky. Zo is het idee snel uitgegroeid tot een echt aanvalsinstrument.
Vandaag de dag staat DNS-tunneling stevig op de kaart van (en bloggers in de informatiebeveiliging worden vaak gevraagd dit uit te leggen).
Heb je gehoord van ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Bedreigingen van DNS-tunneling

DNS-tunneling is als een indicator voor het begin van een slechte nieuws fase. Welk soort precies? We hebben al over enkele verteld, maar laten we ze structureren:
- Gegevensuitvoer (exfiltratie) – de hacker verzendt geheimkritieke gegevens via DNS. Dit is beslist niet de meest effectieve manier om informatie van de slachtoffercomputer te verzenden - gezien alle kosten en coderingen - maar het werkt, en wel op een verborgen manier!
- Command and Control (afgekort C2) – hackers gebruiken het DNS-protocol om eenvoudige controlecommando's te verzenden, bijvoorbeeld via IP-Over-DNS tunneling
- – dit kan krankzinnig klinken, maar er zijn tools die de IP-stack implementeren bovenop DNS-request en -response. Dit maakt de gegevensoverdracht met FTP, Netcat, ssh, enz. relatief eenvoudig. Zeer sinister! Detectie van DNS-tunneling
Er zijn twee hoofdmethoden om misbruik van DNS te detecteren: belastinganalyse en verkeersanalyse.

Bij belastinganalyse
Bij zoekt de verdedigende partij naar afwijkingen in de gegevens die in beide richtingen worden verzonden, die statistisch kunnen worden ontdekt: vreemd uitziende hostnamen, het type DNS-record dat niet zo vaak wordt gebruikt, of ongewone codering. Bij verkeersanalyse
Bij wordt het aantal DNS-verzoeken naar elke domein vergeleken met het gemiddelde. Kwaadwillenden die DNS-tunneling gebruiken, zullen een groot volume verkeer naar de server genereren. Theorie gezien aanzienlijk hoger dan de normale uitwisseling van DNS-berichten. En dat moet in de gaten worden gehouden! het aantal DNS-verzoeken voor elk domein wordt vergeleken met het gemiddelde niveau. Kwaadwillenden die DNS-tunneling gebruiken, zullen een groot volume aan verkeer naar de server genereren. In theorie, aanzienlijk groter dan de normale uitwisseling van DNS-berichten. En dit moet worden gevolgd!
DNS-tunnelingtools
Als u een eigen pentest wilt uitvoeren en wilt controleren hoe goed uw bedrijf kan detecteren en reageren op dergelijke activiteiten, zijn er verschillende tools beschikbaar. Allemaal kunnen ze tunnelen in de modus IP-Over-DNS:
- – beschikbaar op veel platforms (Linux, Mac OS, FreeBSD en Windows). Hiermee kunt u een SSH-shell opzetten tussen de doelcomputer en de beheerscomputer. Hier is een prima handleiding voor de configuratie en het gebruik van Iodine.
- – een DNS-tunnelingproject van Dan Kaminsky, geschreven in Perl. Hiermee kunt u verbinden via SSH.
- – "een DNS-tunnel die niet misselijk maakt." Het creëert een versleuteld C2-kanaal voor het verzenden/downloaden van bestanden, het starten van shells, enz.
DNS-monitoringtools
Hieronder vindt u een lijst met enkele tools die nuttig zijn voor het opsporen van tunnelingaanvallen:
- – een Python-module, geschreven voor het MercenaryHuntFramework en Mercenary-Linux. Het leest .pcap-bestanden, extraheert DNS-verzoeken en voert geografische matching uit, wat helpt bij de analyse.
- – een Python-tool die .pcap-bestanden leest en DNS-berichten analyseert.
Micro FAQ over DNS-tunneling
Nuttige informatie in de vorm van vragen en antwoorden!
Q: Wat is tunneling?
A: Het is gewoon een manier om gegevens te verzenden over een bestaand protocol. Het onderliggende protocol zorgt voor een dedicated kanaal of tunnel dat vervolgens wordt gebruikt om informatie te verbergen die daadwerkelijk wordt verzonden.
Q: Wanneer vond de eerste DNS-tunnelingaanval plaats?
A: We weten het niet! Als u het weet, laat het ons dan weten. Voor zover wij weten, werd de eerste bespreking van de aanval geïnitieerd door Oscar Pearsall op de Bugtraq-mailinglijst in april 1998.
Q: Welke aanvallen lijken op DNS-tunneling?
A: DNS is lang niet het enige protocol dat voor tunneling kan worden gebruikt. Malware voor command and control (C2) gebruikt vaak HTTP om de communicatiekanalen te maskeren. Net als bij DNS-tunneling verbergt de hacker zijn gegevens, maar ze lijken in dit geval op verkeer van een normale webbrowser die contact maakt met een externe site (gecontroleerd door de aanvaller). Dit kan onopgemerkt blijven door monitoringsoftware als deze niet is ingesteld om de misbruik van het HTTP-protocol voor hackerdoeleinden.
Wilt u dat wij helpen bij het detecteren van DNS-tunneling? Bekijk onze module en probeer gratis !
Bron: habr.com
