150 likes | 324 Views
Tinkl ų saugumas DNS POISONING ATAKOS. Aleksandr Poteriachin, MATAS KOZLOVAS. VU, MIF 2012-04-24. Domain Name SYSTEM (DNS).
E N D
Tinklų saugumasDNS POISONING ATAKOS Aleksandr Poteriachin, MATAS KOZLOVAS VU, MIF 2012-04-24
Domain Name SYSTEM (DNS) • Kaip žinoma DNS serveriai atsako už tai, kad gavę Internetinį vardą (Domeno vardą) grąžinti IP adresą. Jeigu serveris randa įraša keše (Cache), tai grąžina jį. Jeigu neranda siunčia rekursyvią užklausą į kitus DNS serverius, kol tie neras savo keše arba nepasieks autorityvų serverį, kuris ir atsako už to vardo zoną.
DNS - Normalus atvejis • 1. Vartotojas siunčia užklausą, norėdamas sužinoti www.mybank.com adresą • 2. Lokalus DNS Serveris atsako su adresu iš savo kešo arba klausia tolyn ir gražina vartotojui adresą • 3. Vartotojas gavęs IP adresą, prisijungia prie www.mybank.com svetainės
DNS Poisoning – Kas tai ir kokia nauda? • Tai yra ataka, kai DNS serveris su atsakymu atsiunčia vartotojui ne tą adresą, kurį iš esmės jis turėtų gauti. • Tai gali būti panaudota phishing‘ui, t.y. vietoje tikros svetainės pakišti kitą, netgi jos kloną ir tokiu būdu surinkti informaciją apie auką. Taip pat galima naudoti MITM (Man In The Middle) atakai.
DNS POISONING - Pasekmės • Vietoje realios svetainės (1) galime gauti atakuotojo versiją (2). 2 1 2
DNS ATAKOS • Hosts failas • DNS Serverio pakeitimas • DNS Flood‘inimas per ARP • DNS Kešo nuodijimas
Hosts Failas • Hosts failas visada yra apdorojamas prieš siunčiant DNS užklausą
DNS Serverio Pakeitimas • Galima vartotojui pakišti programa, kuri keičia tinklo nustatymus (ypač DNS serverį). Pavyzdžiui C kalba parašyta programa Windows sistemai galėtų atrodyti taip, kur 84.32.40.22 yra atakuotojo DNS serveris: #include<stdio.h> #include<stdlib.h> int main () { char *cmd= “netsh interface ip set dns “Local Area Connection” static 84.32.40.22”; System(cmd); return 0 ; } C
DNS NuodIjimas PER ARP • Nuodijimą per ARP galima įvykdyti, naudojant Ettercap (Backtrack linux) arba Cain and Abel. • Cain and Abel atveju turime sužinoti aukos MAC adresą ir adresą lokalaus DNS serverio, kuriuo naudojasi auką arba default gateway ir floodinti auką, kad tas gateway randasi mūsų MAC adresu. Vėliau jam išsiunčiami netikri atsakymai į DNS užklausas. • Ettercap skanuoja lokalų tinklą, ieškodamas DNS serverių ir visam broadcast domenui siunčia, kad tie DNS serveriai randasi atakuotojo MAC adresu. Tokiu būdu, vėliau Ettercap siunčia DNS atsakymus iš savo įrašų.
DNS NUODIJIMAS PER ARP • Čia galima matyti, kad atakuotas DNS serveris atsiuntė mums į www.assembly.god užklausą 2 atsakymus. 192.168.1.150 – Realus Web Serveris, o 192.168.1.2 atakuotojo Web serveris. Matosi, kad TCP inicializuoja sesiją su atakuotojo Web serveriu.
APR-DNS (ARP Poison Routing)Laboratorinis įgyvendinimas • Sujungėme klientą (192.168.1.2), atakuotoją (192.168.1.3),realų web-serverį (192.168.1.150) ir realų DNS serverį (192.168.1.100) į lokalų tinklą, naudojant VMWare įrangą. • Pabandėme užeiti į www.assembly.god – Pavyko (Atsakė realus DNS serveris) • Išvalėme kliento DNS kešą naudojant ipconfig /flushdns (Windows 7). • Ant atakuotojo mašinos su Backtrack OS, sukonfiguravome Ettercap su dns_spoof plaginu, kad jis apdorotų visus subdomenus *.assembly.godir paleidome komandą: • ettercap –T –q –i eth1 –P dns_spoof –M arp // // • Ettercap rado DNS serverius lokaliame tinkle ir pradėjo siusti ARP protokolu, kad 192.168.1.100 randasi atakuotojo MAC adresu. • Pabandėme vėl užeiti į www.assembly.god ir gavome du atsakymus, vieną nuo Ettercap, vieną nuo atakuotojo. Pirmą gavome nuo atakuotojo, taigi užėjome į atakuotojo puslapį.
DNS CACHE POISONING • Dar vienas būdas, tai pastatyti Rogue DNS serverį. Jis skiriasi nuo paprasto tuo, kad į vartotojo užklausą atsako papildomais įrašais. Pavyzdžiui gali būti toks atvejis (jeigu kliento sistema yra pažeidžiama): • Vartotojas siunčia užklausą šiam DNS serveriui norėdamas sužinoti www.google.com adresą, o jis atsako pakišdamas keletą įrašų su netikrais IP adresais (**): • www.google.com A 173.194.35.145 • mail.google.com A 192.168.254.253 (**) • www.gmail.comA 192.168.254.253 (**)
REALAUS GYVENIMO ATVEJAI • Be abejo galima surasti daug realaus gyvenimo atvejų, ir lengviausias būtų rasti Wireless Access Point‘ą be apsaugos arba su WEP apsauga, kurią lengvai galimą apeiti. Jau gavome prieiga prie lokalaus (LAN) tinklo, t.y. galime naudoti APR-DNS poisoning atakas, netgi pakišdami svetainių klonus. Taip galima surinkti personalią informaciją, slaptažodžius ir t.t.
KAIP Apsisaugoti • Būti įdėmesniam, t.y. Kreipti dėmesį jeigu svetainė atrodo, ne taip kaip turėtų, kreipti dėmesį į sertifikatus ir https. • DNS Serveriams naudoti naujesnę, nepažeidžiamą įrangą. • Apsaugoti savo kompiuterį, diegti ugniasienę. • Apsaugoti savo lokalų tinklą, ypač Wireless tinklą. • Naudoti DNSSEC, skirta kešuojančių DNS serverių apsaugai, nuo padirbtų įrašų pakišimo.
KĄ IŠMOKOME • Išmokome, kad galima gauti visai ne tai, ko prašei • Išmokome daugiau apie Wireless tinklų saugumą • Išmokome daugiau apie ARP ir pažeidžiamumus • Išmokome daugiau apie Sniffingą • Išmokome daugiau apie DNS servisą ir jo pažeidžiamumus • Išmokome, kad kartais reikia būti atsargiam, kai naudojamės svetimu (nepatikimu) tinklu