Kaj je DNS-tuneliranje? Navodilo za odkrivanje

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

DNS-tunneling pretvori sistem domenskih imena u oružje hakera. DNS je, suštinski, ogromna telefonska knjiga interneta. Takođe, DNS je osnovni protokol koji omogućava administratorima da šalju upite u bazu podataka DNS servera. Sve to deluje prilično jasno. Međutim, lukavi hakeri su shvatili da mogu prikriveno komunicirati sa zaraženim računarom tako što će umetati upravljačke komande i podatke u DNS protokol. Ova ideja je osnova DNS-tunnelinga.

Kako funkcioniše DNS-tunneling

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

Za sve na internetu postoji poseban protokol. A DNS podržava relativno jednostavan protokol tip upita-odgovora. Ako želite da vidite kako to funkcioniše, možete pokrenuti nslookup – glavni alat za slanje DNS upita. Možete zatražiti adresu jednostavno tako što ćete navesti interesantno domen ime, na primer:

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

U našem slučaju, protokol je odgovorio IP adresom domena. U terminima DNS protokola, uradio sam upit za adresu ili upit tipa "A". Postoje i drugi tipovi upita, pri čemu će DNS protokol odgovarati različitim skupovima podataka, koje, kao što ćemo kasnije videti, hakeri mogu iskoristiti.

U suštini, DNS protokol se bavi prenosom upita do servera i povratnim odgovorom klijentu. A šta ako napadač ubaci skrivenu poruku unutar upita domena? Na primer, umesto da unese sasvim legitiman URL, unet će podatke koje želi da prenese:

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

Pretpostavimo da napadač upravlja DNS serverom. Tada može prenositi podatke – kao što su lični podaci – i ne mora nužno biti otkriven. Na kraju krajeva, po čemu bi DNS upit mogao biti nešto ilegalno?

Upravljanjem serverom, hakeri mogu falsifikovati odgovore i slati podatke nazad na ciljani sistem. To im omogućava da prenose poruke skrivene u raznim poljima DNS odgovora, ka zloćudnom softveru na inficiranoj mašini, uz uputstva poput pretrage unutar određene fascikle.

"Tunelirajući" deo ovog napada sastoji se u skrivanju podataka i komandi od otkrivanja od strane sistema za monitoring. Hakeri mogu koristiti skupove karaktera base32, base64 itd., ili čak šifrovati podatke. Takva kodiranje će proći neprimećeno pored jednostavnih alata za otkrivanje pretnji koji pretražuju otvoreni tekst.

In to je DNS-tunneling!

Zgodovina napadov preko DNS-tunnelinga

Vse ima svoj začetek, vključno z idejo o prevzemu DNS-protokola za hekerske namene. Kolikor lahko presojamo, prvo razpravljanje takšnega napada je izvedel Oskar Pearson v poštni seznamu Bugtraq aprila 1998.

Do leta 2004 je bil DNS-tunneling predstavljen na Black Hat kot hekerska metoda v predstavitvi Dana Kaminskyja. Tako se je ideja zelo hitro razvila v pravi napadalni instrument.

Danes DNS-tunneling zauzema trdne pozicije na zemljevidu potencialnih groženj (in blogerje s področja informacijske varnosti pogosto prosijo, da jo razložijo).

Ste slišali za Sea Turtle ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.

Grožnje DNS-tunnelinga

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

DNS-tunneling je kot indikator začetka faze slabih novic. Kakšne točno? Že smo omenili nekatere, vendar jih strukturirajmo:

  • Izvlek podatkov (ekssfiltracija) – heker skrivaj prenaša kritične podatke preko DNS. To zagotovo ni najučinkovitejši način prenašanja informacij iz računalnika žrtve – glede na vse stroške in kodiranja – vendar deluje, in to skrivaj!
  • Upravljanje in nadzor (Command and Control, skrajšano C2) – hekerji uporabljajo DNS-protokol za pošiljanje preprostih upravljalskih ukazov, recimo, preko trojanskega konja za oddaljeni dostop (Remote Access Trojan, skrajšano RAT).
  • Tunneling IP-Over-DNS – to se morda zdi noro, vendar obstajajo orodja, ki izvajajo IP-sklad preko zahtevkov in odgovorov DNS-protokola. To naredi prenos podatkov z uporabo FTP, Netcat, ssh itd. razmeroma preprosto opravilo. Zelo zlo!

Odkrivanje DNS-tunnelinga

Kaj je DNS-tuneliranje? Navodilo za odkrivanje

Obstajata dva glavna metoda odkrivanja zlorabe DNS: analiza obremenitve in analiza prometa.

Pri analiza obremenitve obrambna stran išče anomalije v podatkih, prenašanih v obe smeri, ki jih je mogoče odkriti s statističnimi metodami: čudno izgledajoča imena gostiteljev, tip DNS zapisa, ki ni tako pogosto uporabljen, ali nestandardno kodiranje.

Pri analiza prometa Ocena števila DNS poizvedb po vsakem domenu v primerjavi s povprečno vrednostjo. Osebe, ki uporabljajo DNS-tuneliranje, bodo ustvarile veliko količino prometa na strežniku. V teoriji, znatno presegajoč normalno izmenjavo DNS-sporočil. In to je potrebno spremljati!

Orodja za DNS-tuneliranje

Če želite izvesti lasten pentest in preveriti, kako dobro lahko vaše podjetje zazna in se odzove na tovrstno aktivnost, obstaja več orodij. Vsa zmorejo tunelirati v načinu IP-Over-DNS:

  • Iodine – na voljo je na več platformah (Linux, Mac OS, FreeBSD in Windows). Omogoča vzpostavitev SSH lupine med ciljnikom in nadzornim računalnikom. Tukaj je dober vodnik o nastavitvi in uporabi Iodine.
  • OzymanDNS – projekt DNS-tuneliranja, ki ga je ustvaril Dan Kaminsky, napisan v Perlu. Z njim se lahko povežete preko SSH.
  • DNSCat2 – "DNS-tunel, od katerega ni slabo". Ustvari šifriran C2-kanal za pošiljanje/prenos datotek, zagon lupin itd.

Orodja za spremljanje DNS-a

Spodaj je seznam nekaterih orodij, ki bodo koristna za odkrivanje tunelirnih napadov:

  • dnsHunter – Python modul, napisan za MercenaryHuntFramework in Mercenary-Linux. Prebere .pcap datoteke, izvleče DNS poizvedbe in izvede geolokacijsko usklajevanje, kar pomaga pri analizi.
  • reassemble_dns – orodje v Pythonu, ki bere .pcap datoteke in analizira DNS sporočila.

Mikro FAQ o DNS-tuneliranju

Koristne informacije v obliki vprašanj in odgovorov!

V: Kaj je tuneliranje?
O: To je preprosto način prenosa podatkov preko obstoječega protokola. Osnovni protokol zagotavlja namenski kanal ali tunel, ki se nato uporablja za prikrivanje informacij, ki se dejansko pošiljajo.

V: Kdaj je bil izveden prvi napad s DNS-tuneliranjem?
O: Ne vemo! Če vi veste – prosim, sporočite nam. Kolikor vemo, je prvo razpravo o napadu sprožil Oskar Pirsan na poštni seznam Bugtraq aprila 1998.

V: Katere napade je podobno DNS-tuneliranju?
O: DNS ni ni edini protokol, ki ga je mogoče uporabiti za tuneliranje. Na primer, zlonamerne programske opreme za upravljanje in nadzor (C2) pogosto uporablja HTTP za prikrivanje komunikacijskega kanala. Tako kot pri DNS tuneliranju hacker skrije svoje podatke, vendar ti v tem primeru izgledajo kot promet običajnega spletnega brskalnika, ki dostopa do oddaljene spletne strani (pod nadzorom storilca). To lahko ostane neopaženo s strani nadzornih programov, razen če niso nastavljeni za zaznavanje. grožnje zlorabe HTTP protokola v namen hekerstva.

Želite, da vam pri tem pomagamo pri odkrivanju DNS tuneliranja? Oglejte si naš modul Varonis Edge in preizkusite brezplačno demo!

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster