Mis on DNS-tunnelimine? Juhend avastamiseks

Mis on DNS-tunnelimine? Juhend avastamiseks

DNS-tunnelimine muudab domeeninime süsteemi häkkerite relvaks. DNS on sisuliselt hiiglaslik interneti telefoniraamat. Lisaks on DNS põhiprotokoll, mis võimaldab administreerijatel teha päringuid DNS-serveri andmebaasi. Siiani tundub kõik arusaadav. Kuid kavalad häkkerid mõistsid, et saab varjata suhtlemist ohvri arvutiga, sisestades juhtimis käske ja andmeid DNS-protokolli. See idee seisab DNS-tunnelimise aluseks.

Kuidas DNS-tunnelimine töötab

Mis on DNS-tunnelimine? Juhend avastamiseks

Igal asjal internetis on oma eraldi protokoll. DNS toetab suhteliselt lihtsat protokoll päring-vastus tüüpi. Kui soovite näha, kuidas see töötab, saate käivitada nslookup - põhivahendi DNS-päringute tegemiseks. Saate küsida aadressi, lihtsalt tippides huvipakkuva domeeninime, näiteks:

Mis on DNS-tunnelimine? Juhend avastamiseks

Meie juhul vastas protokoll IP-aadressiga domeenile. DNS-protokolli mõistes tegin ma aadressipäringu või nn "A"-tüübi päringu. Samuti on olemas teisi päringute tüüpe, kui DNS-protokoll vastab erineva andmekogumi väljadega, mida, nagu me hiljem näeme, saavad kasutada häkkerid.

Igatahes tegeleb DNS-protokoll sisuliselt päringu edastamisega serverile ja vastuse edastamisega kliendile. Aga mis juhtub, kui kurjategija lisab peidetud sõnumi domeeninime päringusse? Näiteks, selle asemel et sisestada täiesti legitiimne URL, sisestab ta andmed, mida soovib edastada:

Mis on DNS-tunnelimine? Juhend avastamiseks

Oletame, et kurjategija haldab DNS-serverit. Siis võib ta edastada andmeid - näiteks isikuandmeid - ja teda ei pruugi avastada. Lõppude lõpuks, mis võiks muuta DNS-päringu millegi ebaseaduslikuks?

Serverit juhtides saavad häkkerid petta vastuseid ja saata andmeid tagasi sihtsüsteemi. See võimaldab neil edastada sõnumeid, mis on peidetud erinevates DNS-vastuse väljade andmetes, pahavarasse nakatunud masinas, selliste juhistega nagu otsing teatud kaustas.

Selle rünnaku "tunneldav" osa seisneb andmete ja käskude peitmises jälgimise süsteemide eest. Häkkerid võivad kasutada base32, base64 jne sümbolijärgsete kombinatsioonide komplekte või isegi andmeid šifreerida. Selline kodeering jääb märkamatuks lihtsate ohu avastamise utiliitide kaudu, mis otsivad avatud tekstist.

Ja see on DNS-tunnelimine!

DNS-tunnelimise rünnakute ajalugu

Kõigel on algus, sealhulgas mõttel DNS-protokolli kaaperdamisest häkkerite eesmärkidel. Kui palju me teame, siis esimene arutelu sellest rünnakust toimus Oskar Pearsani (Oskar Pearson) poolt Bugtraq'i meililistis aprillis 1998.

Aastaks 2004 olid DNS-tunnelimine esitatud Black Hat'il kui häkkerite meetod Dan Kaminsky esitlusel. Seega kasvas idee väga kiiresti tõeliseks rünnaku tööriistaks.

Tänapäeva seisuga on DNS-tunnelimine kindel kohal potentsiaalsete ohtude (ja infoturbe blogijad küsivad sageli, et seda selgitada).

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

DNS-tunnelimise ohud

Mis on DNS-tunnelimine? Juhend avastamiseks

DNS-tunnelimine on nagu indikaator halbade uudiste algusest. Millistest täpselt? Oleme juba rääkinud mitmest, kuid laske meil need struktureerida:

  • Andmete väljaviimine (eksfiltreeerimine) – häkker edastab varjatult kriitilisi andmeid DNS-i kaudu. See pole kindlasti kõige tõhusam viis teabe edastamiseks ohvri arvutist – arvestades kõiki kulusid ja kodeeringuid – kuid see töötab ja samal ajal – varjatult!
  • Juhtimine ja kontroll (Command and Control, lühendatult C2) – häkkerid kasutavad DNS-protokolli lihtsate juhtimisprogrammide saatmiseks, näiteks läbi kaugjuhtimistrojani (Remote Access Trojan, lühendatult RAT).
  • IP-over-DNS tunneldamine – see võib kõlada hullumeelselt, kuid olemas on utiliidid, mis rakendavad IP-steki DNS-protokolli päringute ja vastuste kaudu. See muudab andmete edastamise FTP, Netcat, ssh jne. suhteliselt lihtsaks. Ülimalt kurjusekste!

DNS-tunnelimise tuvastamine

Mis on DNS-tunnelimine? Juhend avastamiseks

On kaks peamist meetodit DNS-i kuritarvitamise avastamiseks: koormuse analüüs ja liikluse analüüs.

Kaugjuhtimisega koormuse analüüs kaitsepoole otsib anomaaliaid andmetes, mis edastatakse mõlemat pidi, mida saab avastada statistiliste meetodite abil: kummaliselt näivad hostinimed, DNS-kirje tüüp, mida ei kasutata nii sageli, või ebastandardsed kodeeringud.

Kaugjuhtimisega liikluse analüüs Hinnatakse DNS-päringute arvu iga domeeni kohta võrreldes keskmise tasemega. Kurjategijad, kes kasutavad DNS-tunnelit, genereerivad serverisse suure hulga liiklust. Teoorias ületab see oluliselt tavalist DNS-sõnumite vahetust. Ja seda on vaja jälgida!

DNS-tunnelimise utiliidid

Kui soovite läbi viia oma pentesti ja kontrollida, kui hästi suudab teie ettevõte sellist tegevust tuvastada ja reageerida, on selleks mitmeid utiliite. Kõik need oskavad tunnelida režiimis IP-Over-DNS:

  • Iodine – saadaval paljudel platvormidel (Linux, Mac OS, FreeBSD ja Windows). Lubab luua SSH-kesta sihivaatamise ja juhtimise arvuti vahel. Siin on üsna hea juhendi Iodine'i seadistamise ja kasutamise juhend.
  • OzymanDNS – Dan Kaminski DNS-tunnelimise projekt, kirjutatud Perl'is. Sellega saab SSH kaudu ühendust luua.
  • DNSCat2 – "DNS-tunnel, mis ei tee iiveldama". Loob krüpteeritud C2-kanali failide saatmiseks/alla laadimiseks, kestade käivitamiseks jne.

DNS-monitooringu utiliidid

Allpool on loetelu mitmest utiliidist, mis võivad olla kasulikud tunnelirünnakute tuvastamiseks:

  • dnsHunter – Python-modul, kirjutatud MercenaryHuntFramework'i ja Mercenary-Linux'i jaoks. Loe .pcap faile, eraldab DNS-päringud ja teeb geolokatsiooni vastavuse, mis aitab analüüsimisel.
  • reassemble_dns – Python'is kirjutatud utiliit, mis loeb .pcap faile ja analüüsib DNS-sõnumeid.

Mikro FAQ DNS-tunnelimise kohta

Kasulik teave küsimuste ja vastuste kujul!

K: Mis on tunnelimine?
V: See on lihtsalt andmete edastamise meetod olemasoleva protokolli kaudu. Aluseks olev protokoll tagab eraldiseisva kanali või tunneli, mida kasutatakse seejärel info peitmiseks, mida tegelikult edastatakse.

K: Millal toimus esimene DNS-tunnelimise rünnak?
V: Me ei tea! Kui teate, andke palun meile teada. Meie teada oli esimene arutelu rünnaku üle algatatud Oskar Pirsan'i poolt Bugtraq'i meililisti kaudu aprillis 1998.

K: Millised rünnakud on sarnased DNS-tunnelimisega?
V: DNS ei ole kaugeltki ainus protokoll, mida saab kasutada tunnelimiseks. Näiteks pahavara, mis on mõeldud juhtimiseks ja kontrollimiseks (C2), kasutab sageli HTTP-d suhtluse varjamiseks. Nagu DNS-tunnelimise korral, peidab häkker oma andmeid, kuid sel juhul näevad need välja kui tavapärane veebibrauseri liiklus, mis pöördub kaugsaidile (ründaja kontrollitud). See võib jääda jälgimisprogrammide jaoks märkamatuks, kui need ei ole seadistatud seda ära tundma. ohtu HTTP-protokolli väärkasutused häkkerite eesmärkidel.

Soovite, et aitaksime DNS-tunnelimise avastamisel? Vaadake meie moodulit Varonis Edge ja proovige tasuta demo!

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster