Što je DNS tuneliranje? Upute za otkrivanje

Što je DNS tuneliranje? Upute za otkrivanje

DNS tuneliranje pretvara sustav imena domena u oružje za hakere. DNS je u biti ogroman internetski telefonski imenik. DNS je također temeljni protokol koji administratorima omogućuje postavljanje upita bazi podataka DNS poslužitelja. Zasad se sve čini jasnim. Ali lukavi hakeri shvatili su da mogu tajno komunicirati sa žrtvinim računalom ubacivanjem kontrolnih naredbi i podataka u DNS protokol. Ova ideja je osnova DNS tuneliranja.

Kako funkcionira DNS tuneliranje

Što je DNS tuneliranje? Upute za otkrivanje

Sve na Internetu ima svoj zaseban protokol. A DNS podrška je relativno jednostavna protokol tip zahtjev-odgovor. Ako želite vidjeti kako radi, možete pokrenuti nslookup, glavni alat za izradu DNS upita. Možete zatražiti adresu jednostavnim navođenjem naziva domene koja vas zanima, na primjer:

Što je DNS tuneliranje? Upute za otkrivanje

U našem slučaju, protokol je odgovorio s IP adresom domene. Što se tiče DNS protokola, napravio sam adresni zahtjev ili zahtjev tzv. "A" tip. Postoje i druge vrste zahtjeva, a DNS protokol će odgovoriti drugačijim skupom podatkovnih polja, što, kao što ćemo vidjeti kasnije, hakeri mogu iskoristiti.

Na ovaj ili onaj način, u svojoj srži, DNS protokol bavi se prijenosom zahtjeva poslužitelju i njegovim odgovorom nazad klijentu. Što ako napadač doda skrivenu poruku unutar zahtjeva za naziv domene? Na primjer, umjesto potpuno legitimnog URL-a, unijet će podatke koje želi prenijeti:

Što je DNS tuneliranje? Upute za otkrivanje

Recimo da napadač kontrolira DNS poslužitelj. Zatim može prenijeti podatke - osobne podatke, na primjer - bez nužnog otkrivanja. Uostalom, zašto bi DNS upit odjednom postao nešto nelegitimno?

Kontrolom poslužitelja hakeri mogu krivotvoriti odgovore i poslati podatke natrag ciljnom sustavu. To im omogućuje prosljeđivanje poruka skrivenih u različitim poljima DNS odgovora na zlonamjerni softver na zaraženom računalu, s uputama kao što je pretraživanje unutar određene mape.

Dio "tuneliranja" ovog napada je prikrivanje podaci i naredbe iz detekcije nadzornih sustava. Hakeri mogu koristiti base32, base64 itd. skupove znakova ili čak šifrirati podatke. Takvo kodiranje proći će neotkriveno jednostavnim uslužnim programima za otkrivanje prijetnji koji pretražuju otvoreni tekst.

A ovo je DNS tuneliranje!

Povijest napada DNS tuneliranja

Sve ima početak, pa tako i ideja o otmici DNS protokola u svrhu hakiranja. Koliko možemo reći, prvi rasprava Ovaj napad izveo je Oskar Pearson na Bugtraq mailing listi u travnju 1998.

Do 2004. DNS tuneliranje je predstavljeno u Black Hatu kao tehnika hakiranja u prezentaciji Dana Kaminskog. Tako je ideja vrlo brzo prerasla u pravi alat za napad.

Danas DNS tuneliranje zauzima siguran položaj na karti potencijalne prijetnje (a blogere o informacijskoj sigurnosti često se traži da to objasne).

Jeste li čuli za Morska kornjača ? Ovo je tekuća kampanja kibernetičkih kriminalnih grupa — najvjerojatnije sponzoriranih od države — za otimanje legitimnih DNS poslužitelja kako bi preusmjerili DNS zahtjeve na vlastite poslužitelje. To znači da će organizacije dobiti "loše" IP adrese koje upućuju na lažne web stranice koje vode hakeri, kao što su Google ili FedEx. Istodobno, napadači će moći doći do korisničkih računa i lozinki, koji će ih nesvjesno unijeti na takve lažne stranice. Ovo nije DNS tuneliranje, već samo još jedna nesretna posljedica hakerske kontrole DNS poslužitelja.

Prijetnje DNS tuneliranja

Što je DNS tuneliranje? Upute za otkrivanje

DNS tuneliranje je kao pokazatelj početka faze loših vijesti. Koji? Već smo govorili o nekoliko njih, ali strukturirajmo ih:

  • Izlaz podataka (ekfiltracija) – haker tajno prenosi kritične podatke preko DNS-a. Ovo definitivno nije najučinkovitiji način prijenosa informacija sa žrtvinog računala - uzimajući u obzir sve troškove i kodiranja - ali radi, a u isto vrijeme - tajno!
  • Zapovijedanje i kontrola (skraćeno C2) – hakeri koriste DNS protokol za slanje jednostavnih kontrolnih naredbi putem, recimo, udaljeni pristup trojanac (Remote Access Trojan, skraćeno RAT).
  • IP-Over-DNS tuneliranje - Ovo može zvučati ludo, ali postoje uslužni programi koji implementiraju IP stog povrh zahtjeva i odgovora DNS protokola. Obavlja prijenos podataka koristeći FTP, Netcat, ssh itd. relativno jednostavan zadatak. Krajnje zlokobno!

Otkrivanje DNS tuneliranja

Što je DNS tuneliranje? Upute za otkrivanje

Postoje dvije glavne metode za otkrivanje zlouporabe DNS-a: analiza opterećenja i analiza prometa.

u analiza opterećenja Branitelj traži anomalije u podacima koji se šalju naprijed-natrag koje se mogu otkriti statističkim metodama: imena hostova čudnog izgleda, vrsta DNS zapisa koja se ne koristi tako često ili nestandardno kodiranje.

u analiza prometa Broj DNS zahtjeva za svaku domenu procjenjuje se u usporedbi sa statističkim prosjekom. Napadači koji koriste DNS tuneliranje će generirati veliku količinu prometa prema poslužitelju. U teoriji, znatno superiorniji od normalne razmjene DNS poruka. I to treba pratiti!

Pomoćni programi za tuneliranje DNS-a

Ako želite provesti vlastiti pentest i vidjeti koliko dobro vaša tvrtka može otkriti i odgovoriti na takve aktivnosti, postoji nekoliko pomoćnih programa za to. Svi oni mogu tunelirati u modu IP-preko DNS-a:

  • Jod – dostupno na mnogim platformama (Linux, Mac OS, FreeBSD i Windows). Omogućuje instaliranje SSH ljuske između ciljnog i kontrolnog računala. Ta ti je dobra гайд o postavljanju i korištenju Joda.
  • OzymanDNS – Projekt DNS tuneliranja od Dana Kaminskog, napisan u Perlu. Na njega se možete spojiti putem SSH-a.
  • DNSCat2 - “DNS tunel od kojeg se ne razbolite.” Stvara šifrirani C2 kanal za slanje/preuzimanje datoteka, pokretanje ljuski itd.

Pomoćni programi za nadzor DNS-a

Dolje je popis nekoliko uslužnih programa koji će biti korisni za otkrivanje napada tuneliranja:

  • dnsHunter – Python modul napisan za MercenaryHuntFramework i Mercenary-Linux. Čita .pcap datoteke, izdvaja DNS upite i izvodi geolokacijsko mapiranje kao pomoć u analizi.
  • ponovno sastaviti_dns – Python uslužni program koji čita .pcap datoteke i analizira DNS poruke.

Micro FAQ o DNS tuneliranju

Korisne informacije u obliku pitanja i odgovora!

P: Što je tuneliranje?
OKO: To je jednostavno način prijenosa podataka preko postojećeg protokola. Temeljni protokol pruža namjenski kanal ili tunel, koji se zatim koristi za skrivanje informacija koje se zapravo prenose.

P: Kada je izveden prvi napad DNS tuneliranja?
OKO: Ne znamo! Ako znate, javite nam. Koliko nam je poznato, prvu raspravu o napadu pokrenuo je Oscar Piersan na Bugtraq mailing listi u travnju 1998.

P: Koji su napadi slični DNS tuneliranju?
OKO: DNS je daleko od jedinog protokola koji se može koristiti za tuneliranje. Na primjer, zlonamjerni softver za upravljanje i kontrolu (C2) često koristi HTTP za maskiranje komunikacijskog kanala. Kao i kod DNS tuneliranja, haker skriva svoje podatke, ali u ovom slučaju to izgleda kao promet iz običnog web preglednika koji pristupa udaljenoj stranici (koju kontrolira napadač). Programi za nadzor to mogu proći nezapaženo ako nisu konfigurirani za opažanje prijetnja zlouporaba HTTP protokola u hakerske svrhe.

Želite li da vam pomognemo s otkrivanjem DNS tunela? Provjerite naš modul Varonis Edge i isprobajte ga besplatno demo!

Izvor: www.habr.com

Dodajte komentar