Hva er DNS-tunneling? Deteksjonsinstruksjoner

Hva er DNS-tunneling? Deteksjonsinstruksjoner

DNS-tunnelering gjør domenenavnsystemet til et våpen for hackere. DNS er i hovedsak Internetts enorme telefonbok. DNS er også den underliggende protokollen som lar administratorer spørre DNS-serverdatabasen. Så langt virker alt klart. Men utspekulerte hackere innså at de i hemmelighet kunne kommunisere med offerets datamaskin ved å injisere kontrollkommandoer og data i DNS-protokollen. Denne ideen er grunnlaget for DNS-tunnelering.

Hvordan DNS-tunneling fungerer

Hva er DNS-tunneling? Deteksjonsinstruksjoner

Alt på Internett har sin egen separate protokoll. Og DNS-støtte er relativt enkel protokoll forespørsel-svar type. Hvis du vil se hvordan det fungerer, kan du kjøre nslookup, hovedverktøyet for å lage DNS-spørringer. Du kan be om en adresse ved å spesifisere domenenavnet du er interessert i, for eksempel:

Hva er DNS-tunneling? Deteksjonsinstruksjoner

I vårt tilfelle svarte protokollen med domenets IP-adresse. Når det gjelder DNS-protokollen, gjorde jeg en adresseforespørsel eller en såkalt forespørsel. "En type. Det finnes andre typer forespørsler, og DNS-protokollen vil svare med et annet sett med datafelt, som, som vi vil se senere, kan utnyttes av hackere.

På en eller annen måte, i kjernen, er DNS-protokollen opptatt av å overføre en forespørsel til serveren og svaret tilbake til klienten. Hva om en angriper legger til en skjult melding i en forespørsel om domenenavn? For eksempel, i stedet for å angi en helt legitim URL, vil han skrive inn dataene han vil overføre:

Hva er DNS-tunneling? Deteksjonsinstruksjoner

La oss si at en angriper kontrollerer DNS-serveren. Den kan deretter overføre data – for eksempel personopplysninger – uten nødvendigvis å bli oppdaget. Tross alt, hvorfor skulle en DNS-spørring plutselig bli noe illegitimt?

Ved å kontrollere serveren kan hackere forfalske svar og sende data tilbake til målsystemet. Dette lar dem sende meldinger som er skjult i ulike felt av DNS-responsen på skadelig programvare på den infiserte maskinen, med instruksjoner som å søke i en bestemt mappe.

Den "tunneling" delen av dette angrepet er fortielse data og kommandoer fra deteksjon av overvåkingssystemer. Hackere kan bruke base32, base64, etc. tegnsett, eller til og med kryptere dataene. Slik koding vil passere uoppdaget av enkle trusseldeteksjonsverktøy som søker i klartekst.

Og dette er DNS-tunneling!

Historie om DNS-tunnelangrep

Alt har en begynnelse, inkludert ideen om å kapre DNS-protokollen for hackingformål. Så vidt vi kan se, den første diskusjon Dette angrepet ble utført av Oskar Pearson på Bugtraq-postlisten i april 1998.

I 2004 ble DNS-tunneling introdusert på Black Hat som en hackingsteknikk i en presentasjon av Dan Kaminsky. Dermed vokste ideen veldig raskt til et ekte angrepsverktøy.

I dag inntar DNS-tunnelering en sikker posisjon på kartet potensielle trusler (og informasjonssikkerhetsbloggere blir ofte bedt om å forklare det).

Har du hørt om Sjø skilpadde ? Dette er en pågående kampanje fra nettkriminelle grupper – mest sannsynlig statssponset – for å kapre legitime DNS-servere for å omdirigere DNS-forespørsler til deres egne servere. Dette betyr at organisasjoner vil motta «dårlige» IP-adresser som peker til falske nettsider som drives av hackere, som Google eller FedEx. Samtidig vil angripere kunne skaffe seg brukerkontoer og passord, som ubevisst vil legge dem inn på slike falske sider. Dette er ikke DNS-tunneling, men bare en annen uheldig konsekvens av at hackere kontrollerer DNS-servere.

Trusler om DNS-tunnelering

Hva er DNS-tunneling? Deteksjonsinstruksjoner

DNS-tunnelering er som en indikator på begynnelsen av stadiet med dårlige nyheter. Hvilke? Vi har allerede snakket om flere, men la oss strukturere dem:

  • Datautgang (eksfiltrering) – en hacker overfører i hemmelighet kritiske data over DNS. Dette er definitivt ikke den mest effektive måten å overføre informasjon fra offerets datamaskin - med tanke på alle kostnadene og kodingene - men det fungerer, og samtidig - i hemmelighet!
  • Kommando og kontroll (forkortet C2) – hackere bruker DNS-protokollen til å sende enkle kontrollkommandoer gjennom for eksempel, fjerntilgang trojaner (Remote Access Trojan, forkortet RAT).
  • IP-over-DNS-tunnelering – Dette høres kanskje sprøtt ut, men det finnes verktøy som implementerer en IP-stack på toppen av DNS-protokollforespørsler og svar. Det gjør dataoverføring ved hjelp av FTP, Netcat, ssh, etc. en relativt enkel oppgave. Ekstremt illevarslende!

Oppdager DNS-tunneling

Hva er DNS-tunneling? Deteksjonsinstruksjoner

Det er to hovedmetoder for å oppdage DNS-misbruk: belastningsanalyse og trafikkanalyse.

ved belastningsanalyse Den forsvarende parten ser etter anomalier i dataene som sendes frem og tilbake som kan oppdages med statistiske metoder: merkelige vertsnavn, en DNS-posttype som ikke brukes så ofte, eller ikke-standard koding.

ved trafikkanalyse Antall DNS-forespørsler til hvert domene er estimert sammenlignet med det statistiske gjennomsnittet. Angripere som bruker DNS-tunnelering vil generere en stor mengde trafikk til serveren. I teorien betydelig bedre enn vanlig DNS-meldingsutveksling. Og dette må overvåkes!

DNS-tunnelverktøy

Hvis du ønsker å gjennomføre din egen pentest og se hvor godt din bedrift kan oppdage og reagere på slik aktivitet, finnes det flere verktøy for dette. Alle kan tunnelere i modusen IP-over-DNS:

  • Jod – tilgjengelig på mange plattformer (Linux, Mac OS, FreeBSD og Windows). Lar deg installere et SSH-skall mellom mål- og kontrolldatamaskinene. Den var god guide om å sette opp og bruke jod.
  • OzymanDNS – DNS-tunnelprosjekt fra Dan Kaminsky, skrevet i Perl. Du kan koble til den via SSH.
  • DNSCat2 - "DNS-tunnel som ikke gjør deg syk." Oppretter en kryptert C2-kanal for sending/nedlasting av filer, lansering av skall osv.

DNS-overvåkingsverktøy

Nedenfor er en liste over flere verktøy som vil være nyttige for å oppdage tunnelangrep:

  • dnsHunter – Python-modul skrevet for MercenaryHuntFramework og Mercenary-Linux. Leser .pcap-filer, trekker ut DNS-spørringer og utfører geolokaliseringskartlegging for å hjelpe til med analyse.
  • reassemble_dns – et Python-verktøy som leser .pcap-filer og analyserer DNS-meldinger.

Mikro vanlige spørsmål om DNS-tunnelering

Nyttig informasjon i form av spørsmål og svar!

Spørsmål: Hva er tunneling?
om: Det er ganske enkelt en måte å overføre data over en eksisterende protokoll. Den underliggende protokollen gir en dedikert kanal eller tunnel, som deretter brukes til å skjule informasjonen som faktisk overføres.

Spørsmål: Når ble det første DNS-tunnelangrepet utført?
om: Vi vet ikke! Hvis du vet, vennligst gi oss beskjed. Så vidt vi vet, ble den første diskusjonen om angrepet initiert av Oscar Piersan på Bugtraq-postlisten i april 1998.

Spørsmål: Hvilke angrep ligner på DNS-tunneling?
om: DNS er langt fra den eneste protokollen som kan brukes til tunnelering. For eksempel bruker kommando og kontroll (C2) malware ofte HTTP for å maskere kommunikasjonskanalen. Som med DNS-tunnelering skjuler hackeren dataene sine, men i dette tilfellet ser det ut som trafikk fra en vanlig nettleser som får tilgang til et eksternt nettsted (kontrollert av angriperen). Dette kan gå ubemerket av overvåkingsprogrammer hvis de ikke er konfigurert til å oppfatte trussel misbruk av HTTP-protokollen til hackerformål.

Vil du at vi skal hjelpe med DNS-tunneldeteksjon? Sjekk ut vår modul Varonis Edge og prøv det gratis demo!

Kilde: www.habr.com

Legg til en kommentar