
DNS-tunneling forvandler domænesystemet til et værktøj for hackere. DNS er i sine grundtræk en kæmpe telefonbog for internettet. Derudover fungerer DNS som den grundlæggende protokol, som administratorer bruger til at foretage forespørgsler til DNS-serverens database. Indtil videre er alt klart. Men snedige hackere har indset, at de kan kommunikere skjult med offerets computer ved at indføre kontrolkommandoer og data i DNS-protokollen. Ideen ligger til grund for DNS-tunneling.
Hvordan DNS-tunneling fungerer

For alt på internettet findes der en specifik protokol. Og DNS understøtter en relativt simpel forespørgsel-svar-type. Hvis du vil se, hvordan det fungerer, kan du køre nslookup – det primære værktøj til at sende DNS-forespørgsler. Du kan anmode om en adresse ved blot at angive det domænenavn, du er interesseret i, for eksempel:

I vores tilfælde svarede protokollen med IP-adressen for domænet. I DNS-protokolens termer lavede jeg en adresseforespørgsel eller forespørgsel af den såkaldte "A"-type. Der findes også andre typer forespørgsler, og DNS-protokollen vil svare med forskellige sæt datafelter, som hackere, som vi senere vil se, kan udnytte.
På en eller anden måde har DNS-protokollen som sin essens til formål at transmittere forespørgsler til serveren og svare tilbage til klienten. Hvad nu hvis en ondsindet aktør tilføjer en skjult besked inde i domænenavnsforespørgslen? For eksempel, i stedet for at indtaste et helt legitimt URL, indtaster de data, de ønsker at overføre:

Antag, at den ondsindede aktør styrer DNS-serveren. Så kan de overføre data – for eksempel personlige oplysninger – og ikke nødvendigvis blive opdaget. I sidste ende, hvad skulle der pludselig gøre en DNS-forespørgsel illegitim?
Ved at styre serveren kan hackere forfalske svar og sende data tilbage til det målrettede system. Dette gør det muligt for dem at overføre beskeder, der er skjult i forskellige felter i DNS-svarene, til skadelig software på den inficerede maskine, med instrukser som at søge inden for en bestemt mappe.
Den "tunnelerende" del af denne attaque er data og kommandoer fra overvågningssystemers opdagelse. Hackere kan bruge sæt af tegn som base32, base64 osv., eller endda kryptere data. En sådan kodning vil gå ubemærket forbi enkle trusselsopdagelsesværktøjer, der leder efter åbne tekst.
Og det er DNS-tunneling!
Historien om angreb via DNS-tunneling
Alt har en start, inklusive ideen om at kapre DNS-protokollen til hackermål. Så vidt vi kan bedømme, blev det første sådan et angreb udført af Oskar Pearson i Bugtraq-mailinglisten i april 1998.
I 2004 blev DNS-tunneling præsenteret på Black Hat som en hacker-metode i en præsentation af Dan Kaminsky. Således voksede ideen hurtigt til et reelt angrebsværktøj.
I dag har DNS-tunneling en stærk position på kortet over (og informationssikkerhedsbloggere bliver ofte bedt om at forklare det).
Har du hørt om ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Trusler fra DNS-tunneling

DNS-tunneling er som en indikator for begyndelsen af en fase med dårlige nyheder. Hvilke? Vi har allerede nævnt nogle stykker, men lad os strukturere dem:
- Dataudtræk (ekfiltrering) – hackeren overfører skjult kritiske data over DNS. Det er bestemt ikke den mest effektive måde at overføre information fra offercomputeren på – taget alle omkostninger og kodninger i betragtning – men det fungerer, og – vigtigst af alt – det er skjult!
- Kommandostyring (Command and Control, forkortet C2) – hackere bruger DNS-protokollen til at sende enkle kontrolkommandoer, for eksempel gennem (Remote Access Trojan, forkortet RAT).
- IP-Over-DNS tunneling – det kan lyde skørt, men der findes værktøjer, der implementerer IP-stakken oven på DNS-protokollens forespørgsler og svar. Dette gør dataoverførsel med FTP, Netcat, ssh osv. relativt enkelt. Meget skummelt!
Opdagelse af DNS-tunneling

Der findes to hovedmetoder til at opdage misbrug af DNS: belastningsanalyse og trafik analyse.
Ved belastningsanalyse den beskyttende part søger efter anomalier i de data, der overføres frem og tilbage, som kan opdages ved statistiske metoder: usædvanligt udseende værtsnavne, DNS-optagelsestype, der ikke bruges så ofte, eller usædvanlig kodning.
Ved trafikanalyse vurderer antallet af DNS-forespørgsler til hvert domæne sammenlignet med det gennemsnitlige niveau. Kriminelle, der bruger DNS-tunneling, vil generere store mængder trafik til serveren. Teoretisk set vil det væsentligt overstige det normale DNS-meddeleseinterexchange. Og det er nødvendigt at overvåge!
DNS-tunneler værktøjer
Hvis du ønsker at udføre din egen penetrationstest og tjekke, hvor godt din virksomhed kan opdage og reagere på sådan aktivitet, er der flere værktøjer til dette. Alle kan tunnellere i tilstand IP-Over-DNS:
- – tilgængelig på mange platforme (Linux, Mac OS, FreeBSD og Windows). Giver mulighed for at etablere et SSH-shell mellem destinationen og styringscomputeren. Her er en god vejledning til opsætning og brug af Iodine.
- – et DNS-tunneleringsprojekt af Dan Kaminsky, skrevet i Perl. Med det kan du oprette forbindelse via SSH.
- – "DNS-tunnel, der ikke får dig til at kaste op". Opretter en krypteret C2-kanal til at sende/downloade filer, starte shells osv.
DNS-overvågningsværktøjer
Nedenfor præsenteres en liste over flere værktøjer, der vil være nyttige til opdagelse af tunneleringsangreb:
- – en Python-modul, skrevet til MercenaryHuntFramework og Mercenary-Linux. Læser .pcap-filer, udtrækker DNS-forespørgsler og udfører geolokaliseringsmatch, hvilket hjælper med analysen.
- – et Python-værktøj, der læser .pcap-filer og analyserer DNS-beskeder.
Mikro FAQ om DNS-tunneling
Nyttige oplysninger i form af spørgsmål og svar!
Q: Hvad er tunneling?
A: Det er ganske enkelt en måde at overføre data ovenfor et eksisterende protokol. Den underliggende protokol skaber en dedikeret kanal eller tunnel, som derefter bruges til at skjule de oplysninger, der faktisk overføres.
Q: Hvornår blev den første DNS-tunneling angreb udført?
A: Vi ved det ikke! Hvis du ved det – lad os venligst vide det. Så vidt vi ved, blev den første diskussion om et angreb initieret af Oskar Persan i Bugtraq mailinglisten i april 1998.
Q: Hvilke angreb ligner DNS-tunneling?
A: DNS er langt fra den eneste protokol, der kan bruges til tunneling. For eksempel bruger ondsindede programmer til kontrol og styring (C2) ofte HTTP til at maskere interaktionskanalen. Ligesom ved DNS-tunneling skjuler hackeren sine data, men i dette tilfælde ser de ud som trafik fra en almindelig webbrowser, der tilgår en fjernside (kontrolleret af en angriber). Dette kan forblive uset af overvågningsprogrammer, hvis de ikke er konfigureret til at opfatte misbrug af HTTP-protokollen til hackerformål.
Ønsker du, at vi skal hjælpe med at opdage DNS-tunneling? Se på vores modul og prøv det gratis !
Kilde: habr.com
