Kaj je tuneliranje DNS? Navodila za odkrivanje

Kaj je tuneliranje DNS? Navodila za odkrivanje

Tuneliranje DNS spremeni sistem domenskih imen v orožje za hekerje. DNS je v bistvu ogromen internetni imenik. DNS je tudi temeljni protokol, ki skrbnikom omogoča poizvedovanje po bazi podatkov strežnika DNS. Zaenkrat se zdi vse jasno. Toda zviti hekerji so spoznali, da lahko na skrivaj komunicirajo z računalnikom žrtve tako, da v protokol DNS vbrizgajo nadzorne ukaze in podatke. Ta ideja je osnova tuneliranja DNS.

Kako deluje tuneliranje DNS

Kaj je tuneliranje DNS? Navodila za odkrivanje

Vse na internetu ima svoj ločen protokol. In podpora DNS je relativno preprosta protokol tip zahteva-odgovor. Če želite videti, kako deluje, lahko zaženete nslookup, glavno orodje za izdelavo poizvedb DNS. Naslov lahko zahtevate tako, da preprosto navedete ime domene, ki vas zanima, na primer:

Kaj je tuneliranje DNS? Navodila za odkrivanje

V našem primeru se je protokol odzval z naslovom IP domene. V smislu protokola DNS sem naredil zahtevo za naslov ali tako imenovano zahtevo. "A" tip. Obstajajo še druge vrste zahtev in protokol DNS se bo odzval z drugačnim naborom podatkovnih polj, kar lahko, kot bomo videli kasneje, izkoristijo hekerji.

Tako ali drugače se protokol DNS v svojem bistvu ukvarja s prenosom zahteve strežniku in njegovim odgovorom nazaj odjemalcu. Kaj pa, če napadalec v zahtevo za ime domene doda skrito sporočilo? Na primer, namesto da bi vnesel popolnoma legitimen URL, bo vnesel podatke, ki jih želi prenesti:

Kaj je tuneliranje DNS? Navodila za odkrivanje

Recimo, da napadalec nadzoruje strežnik DNS. Nato lahko posreduje podatke – na primer osebne podatke – ne da bi bil nujno zaznan. Konec koncev, zakaj bi poizvedba DNS nenadoma postala nekaj nelegitimnega?

Z nadzorom strežnika lahko hekerji ponaredijo odgovore in pošljejo podatke nazaj v ciljni sistem. To jim omogoča posredovanje sporočil, skritih v različnih poljih odziva DNS na zlonamerno programsko opremo na okuženem računalniku, z navodili, kot je iskanje znotraj določene mape.

"Tuneliranje" del tega napada je prikrivanje podatke in ukaze iz sistemov za spremljanje. Hekerji lahko uporabljajo nabore znakov base32, base64 itd. ali celo šifrirajo podatke. Preprosti pripomočki za odkrivanje groženj, ki iščejo odprto besedilo, takšnega kodiranja ne bodo zaznali.

In to je DNS tuneliranje!

Zgodovina napadov tuneliranja DNS

Vse ima svoj začetek, vključno z idejo o ugrabitvi protokola DNS za hekerske namene. Kolikor lahko rečemo, prvi razprava Ta napad je aprila 1998 izvedel Oskar Pearson na poštnem seznamu Bugtraq.

Do leta 2004 je bilo tuneliranje DNS uvedeno pri Black Hatu kot tehnika vdiranja v predstavitvi Dana Kaminskega. Tako je ideja zelo hitro prerasla v pravo napadalno orodje.

Danes ima tuneliranje DNS samozavesten položaj na zemljevidu potencialne grožnje (in blogerje o informacijski varnosti pogosto prosijo, naj to pojasnijo).

Ste že slišali za Morska želva ? To je stalna kampanja kibernetskih kriminalnih skupin, ki jih najverjetneje sponzorira država, za ugrabitev zakonitih strežnikov DNS, da bi preusmerili zahteve DNS na svoje lastne strežnike. To pomeni, da bodo organizacije prejele "slabe" naslove IP, ki kažejo na lažne spletne strani, ki jih upravljajo hekerji, kot sta Google ali FedEx. Hkrati bodo napadalci lahko pridobili uporabniške račune in gesla, ki jih bodo nevede vnesli na takšna lažna mesta. To ni tuneliranje DNS, ampak le še ena nesrečna posledica hekerjev, ki nadzorujejo strežnike DNS.

Grožnje tuneliranja DNS

Kaj je tuneliranje DNS? Navodila za odkrivanje

Tuneliranje DNS je kot indikator začetka faze slabih novic. Kateri? O več smo že govorili, vendar jih strukturirajmo:

  • Izhod podatkov (eksfiltracija) – heker na skrivaj prenaša kritične podatke preko DNS. To vsekakor ni najučinkovitejši način prenosa informacij iz računalnika žrtve - ob upoštevanju vseh stroškov in kodiranja -, vendar deluje, in hkrati - na skrivaj!
  • Poveljevanje in nadzor (skrajšano C2) – hekerji uporabljajo protokol DNS za pošiljanje preprostih nadzornih ukazov preko, recimo, trojanec za oddaljeni dostop (trojanec za oddaljeni dostop, skrajšano RAT).
  • IP-Over-DNS tuneliranje - To se morda sliši noro, vendar obstajajo pripomočki, ki izvajajo sklad IP na vrhu zahtev in odgovorov protokola DNS. Omogoča prenos podatkov s pomočjo FTP, Netcat, ssh itd. razmeroma preprosto opravilo. Skrajno zlovešče!

Zaznavanje tuneliranja DNS

Kaj je tuneliranje DNS? Navodila za odkrivanje

Obstajata dve glavni metodi za odkrivanje zlorabe DNS: analiza obremenitve in analiza prometa.

Ob analiza obremenitve Tožena stran išče anomalije v podatkih, ki se pošiljajo naprej in nazaj, ki jih je mogoče zaznati s statističnimi metodami: čudna imena gostiteljev, vrsta zapisa DNS, ki se ne uporablja tako pogosto, ali nestandardno kodiranje.

Ob analiza prometa Število DNS zahtev za posamezno domeno je ocenjeno v primerjavi s statističnim povprečjem. Napadalci, ki uporabljajo tuneliranje DNS, bodo ustvarili veliko količino prometa na strežnik. Teoretično bistveno boljše od običajne izmenjave sporočil DNS. In to je treba spremljati!

Pripomočki za tuneliranje DNS

Če želite izvesti lasten pentest in preveriti, kako dobro lahko vaše podjetje zazna takšno dejavnost in se nanjo odzove, je za to na voljo več pripomočkov. Vsi lahko tunelirajo v načinu IP-Over-DNS:

  • Jod – na voljo na številnih platformah (Linux, Mac OS, FreeBSD in Windows). Omogoča namestitev lupine SSH med ciljnim in nadzornim računalnikom. Ta je dobra гайд o postavitvi in ​​uporabi joda.
  • OzymanDNS – Projekt tuneliranja DNS od Dana Kaminskega, napisan v Perlu. Z njim se lahko povežete prek SSH.
  • DNSCat2 - "Tunel DNS, zaradi katerega ne zbolite." Ustvari šifriran kanal C2 za pošiljanje/prenos datotek, zagon lupin itd.

Pripomočki za spremljanje DNS

Spodaj je seznam več pripomočkov, ki bodo uporabni za odkrivanje napadov tuneliranja:

  • dnsHunter – Modul Python, napisan za MercenaryHuntFramework in Mercenary-Linux. Bere datoteke .pcap, ekstrahira poizvedbe DNS in izvaja preslikavo geolokacije za pomoč pri analizi.
  • ponovno sestavi_dns – pripomoček Python, ki bere datoteke .pcap in analizira sporočila DNS.

Mikro pogosta vprašanja o tuneliranju DNS

Koristne informacije v obliki vprašanj in odgovorov!

V: Kaj je tuneliranje?
O: To je preprosto način za prenos podatkov prek obstoječega protokola. Osnovni protokol zagotavlja namenski kanal ali tunel, ki se nato uporabi za skrivanje informacij, ki se dejansko prenašajo.

V: Kdaj je bil izveden prvi napad tuneliranja DNS?
O: Ne vemo! Če veste, nam prosim sporočite. Kolikor nam je znano, je prvo razpravo o napadu sprožil Oscar Piersan na poštnem seznamu Bugtraq aprila 1998.

V: Kateri napadi so podobni tuneliranju DNS?
O: DNS še zdaleč ni edini protokol, ki se lahko uporablja za tuneliranje. Zlonamerna programska oprema za ukaz in nadzor (C2) na primer pogosto uporablja HTTP za maskiranje komunikacijskega kanala. Tako kot pri tuneliranju DNS heker skrije svoje podatke, vendar je v tem primeru videti kot promet iz običajnega spletnega brskalnika, ki dostopa do oddaljenega mesta (ki ga nadzoruje napadalec). Programi za spremljanje lahko tega ne opazijo, če niso konfigurirani za zaznavanje grožnja zloraba protokola HTTP za hekerske namene.

Ali želite, da vam pomagamo pri odkrivanju tunela DNS? Oglejte si naš modul Varonis Edge in ga preizkusite brezplačno demo!

Vir: www.habr.com

Dodaj komentar