Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:mrezna_forenzika:analiza_kaminsky_dns_napada [2022/01/06 21:36] inavratil [Primjer DNS upita] |
racfor_wiki:mrezna_forenzika:analiza_kaminsky_dns_napada [2023/06/19 18:17] (trenutno) |
||
---|---|---|---|
Redak 10: | Redak 10: | ||
Ključne riječi: Kaminsky, DNS, DNS napad, DNS ranjivost | Ključne riječi: Kaminsky, DNS, DNS napad, DNS ranjivost | ||
- | ===== Osnove DNS-a ===== | ||
- | |||
- | |||
- | Ništa ne sprječava bilo koji poslužitelj imena da poslužuje bilo koju zonu, uključujući i onu koju ne bi trebao posluživati. Napadač može postaviti poslužitelj imena i konfigurirati ga da određenu autoritativnu zonu, ali to neće imati bilo kakvog utjecaja budući da niti jedan poslužitelj imena na višoj razini mu neće delegirati zahtjev. | ||
- | |||
- | |||
- | |||
- | |||
==== Primjer DNS upita ==== | ==== Primjer DNS upita ==== | ||
Redak 34: | Redak 26: | ||
- Korijenski poslužitelj ne zna IP adresu stranice www.unixwiz.net, | - Korijenski poslužitelj ne zna IP adresu stranice www.unixwiz.net, | ||
- Poslužitelj imena pružatelja internetskih usluga odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net. | - Poslužitelj imena pružatelja internetskih usluga odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net. | ||
- | - Odabrani poslužitelj ne zna odgovor na upit, ali zna poslužitelji koji bi to mogli znati. Poslužitelj odgovara | + | - Odabrani poslužitelj ne zna odgovor na upit, ali zna poslužitelji koji bi to mogli znati. Poslužitelj odgovara |
- Poslužitelj imena pružatelja internetskih usluga opet odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net. | - Poslužitelj imena pružatelja internetskih usluga opet odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net. | ||
- Za razliku od prethodnih slučajeva, ovaj poslužitelj imena ima A zapis stranice www.unixwiz.net. Uz zapis, autoritativni poslužitelj u odgovoru postavlja zastavicu AA koja označava da je to autoritativni odgovor. | - Za razliku od prethodnih slučajeva, ovaj poslužitelj imena ima A zapis stranice www.unixwiz.net. Uz zapis, autoritativni poslužitelj u odgovoru postavlja zastavicu AA koja označava da je to autoritativni odgovor. | ||
- | - Poslužitelj imena pružatelja internetskih usluga je dobio IP adresu te ju prosljeđuje klijentu. Poslužitelj imena pružatelja internetskih usluga sprema dobivenu informaciju u svoju priručnu memoriju. | + | - Poslužitelj imena pružatelja internetskih usluga je dobio IP adresu te ju prosljeđuje klijentu. Poslužitelj imena pružatelja internetskih usluga sprema dobivenu informaciju u svoju priručnu memoriju. |
Redak 66: | Redak 58: | ||
- | Ništa ne sprječava | + | Ništa ne sprječava |
Redak 98: | Redak 90: | ||
U prethodnim primjerima, poslužitelj imena pružatelja internetskih usluga je morao proslijediti dobiveni upit te se nije mogao osloniti na prethodno znanje, osim informacija o korijenskim poslužiteljima. U praksi, često prosljeđivanje upita nije potrebno budući da kada poslužitelj imena dobije autoritativni odgovor za određenu web stranicu on ju pohranjuje u svoju priručnu memoriju kako idući put kada dobije isti zahtjev može odmah odgovoriti na njega. | U prethodnim primjerima, poslužitelj imena pružatelja internetskih usluga je morao proslijediti dobiveni upit te se nije mogao osloniti na prethodno znanje, osim informacija o korijenskim poslužiteljima. U praksi, često prosljeđivanje upita nije potrebno budući da kada poslužitelj imena dobije autoritativni odgovor za određenu web stranicu on ju pohranjuje u svoju priručnu memoriju kako idući put kada dobije isti zahtjev može odmah odgovoriti na njega. | ||
- | Kada se DNS odgovor pohranjuje, on se ne može spremiti zauvijek jer bi to dovelo do netočnog usmjeravanja budući da se IP adrese web stranica | + | Kada se DNS odgovor pohranjuje, on se ne može spremiti zauvijek jer bi to dovelo do netočnog usmjeravanja budući da se IP adrese web stranica |
- | U priručnu memoriju se ne pohranjuju samo zapisi tipa A već i zapisi tipa NS koji imaju svoj vlastiti TTL. Zapisi tipa A označavaju IP adresu za danu domenu dok zapisi tipa NS označavaju koji DNS poslužitelj je autoritativan za tu domenu. | + | U priručnu memoriju se ne pohranjuju samo zapisi tipa A već i zapisi tipa NS koji imaju svoj vlastiti TTL. Zapisi tipa A označavaju IP adresu za danu domenu dok zapisi tipa NS označavaju koji DNS poslužitelj je autoritativan za tu domenu. |
Redak 126: | Redak 118: | ||
- Napadač šalje zahtjev poslužitelju imena za stranicu čijim poslužiteljem imena on upravlja (npr. test.badguy.com) | - Napadač šalje zahtjev poslužitelju imena za stranicu čijim poslužiteljem imena on upravlja (npr. test.badguy.com) | ||
- Žrtvin poslužitelj imena prima zahtjev i izvršava standardni postupak razrješavanja imena. | - Žrtvin poslužitelj imena prima zahtjev i izvršava standardni postupak razrješavanja imena. | ||
- | - Žrtvin poslužitelj imena će biti usmjeren na napadačev poslužitelj imena budući da je on autoritativan za domenu koju je nadač poslao u zahtjevu | + | - Žrtvin poslužitelj imena će biti usmjeren na napadačev poslužitelj imena budući da je on autoritativan za domenu koju je napadač poslao u zahtjevu |
- Napadač iz odgovora žrtvinog poslužitelja imena može pročitati Query ID | - Napadač iz odgovora žrtvinog poslužitelja imena može pročitati Query ID | ||
Redak 142: | Redak 134: | ||
Prije napada, napadač mora konfigurirati poslužitelj imena koji je autoritativan za zonu čiju domenu želi oteti (npr. zonu bankofsteve.com). Općenito, moguće je postaviti poslužitelj imena koji je autoritativan za neku domenu, ali ako nijedan korijenski poslužitelj ne pokazuje na njega on neće dobiti niti jedan upit tj. on ima (potencijalno lažne) odgovore, ali nitko ne postavlja pitanje. | Prije napada, napadač mora konfigurirati poslužitelj imena koji je autoritativan za zonu čiju domenu želi oteti (npr. zonu bankofsteve.com). Općenito, moguće je postaviti poslužitelj imena koji je autoritativan za neku domenu, ali ako nijedan korijenski poslužitelj ne pokazuje na njega on neće dobiti niti jedan upit tj. on ima (potencijalno lažne) odgovore, ali nitko ne postavlja pitanje. | ||
- | Cilj idućeg postupka je zamijeniti legitimnu IP adresu stranice www.bankofsteve.com | + | Cilj idućeg postupka je zamijeniti legitimnu IP adresu stranice www.bankofsteve.com |
Postupak: | Postupak: | ||
- | 1. Napadač odabire nasumično ime unutar | + | 1. Napadač odabire nasumično ime unutar |
- | 2a. Napadač zna da će žrtva tražiti ns1.bankofsteve.com za IP adresu stranice budući da će joj taj poslužitelj imena vratiti korijenski poslužitelj. Tada napadač šalje veliki broj paketa prema žrtvite | + | 2a. Napadač zna da će žrtva tražiti ns1.bankofsteve.com za IP adresu stranice budući da će joj taj poslužitelj imena vratiti korijenski poslužitelj. Tada napadač šalje veliki broj paketa prema žrtvi te delegira odgovor na drugi poslužitelj imena putem polja " |
2b. & 3. Žrtvin zahtjev za IP adresu i odgovor korijenskog/ | 2b. & 3. Žrtvin zahtjev za IP adresu i odgovor korijenskog/ | ||
Redak 155: | Redak 147: | ||
4. Žrtva šalje upit poslužitelju imena ns1.bankofsteve.com za IP adresu ww.bankofsteve.com te koristi Query ID = 1001. | 4. Žrtva šalje upit poslužitelju imena ns1.bankofsteve.com za IP adresu ww.bankofsteve.com te koristi Query ID = 1001. | ||
- | 5. Poslužitelj imena odgovara na zahtjev | + | 5. Poslužitelj imena odgovara na zahtjev |
- | 6. U priručnoj memoriji poslužitelja imena se sada nalazi | + | 6. U priručnoj memoriji poslužitelja imena se sada nalazi |
7. Svi daljnji upiti za kompromitirani poslužitelj imena dobiti će IP adresu poslužitelja imena napadača. | 7. Svi daljnji upiti za kompromitirani poslužitelj imena dobiti će IP adresu poslužitelja imena napadača. | ||
Redak 189: | Redak 181: | ||
Napadač će tipično postaviti vrlo veliku TTL vrijednost u trovajućem odgovoru tako da žrtva ima netočne podatke što duže u svojoj priručnoj memoriji. | Napadač će tipično postaviti vrlo veliku TTL vrijednost u trovajućem odgovoru tako da žrtva ima netočne podatke što duže u svojoj priručnoj memoriji. | ||
- | Nužni uvjet uspjeha ovog napada je da napadačev odgovor mora doći do DNS poslužitelja prije nego stvarni odgovor, | + | Nužni uvjet uspjeha ovog napada je da napadačev odgovor mora doći do DNS poslužitelja prije nego stvarni odgovor, |
Redak 197: | Redak 189: | ||
U primjeru je prikazano otimanje za jedan upit, ali nije vjerojatno da će ono biti uspješno. Zbog nasumičnog odabira Query ID vrijednosti polja, nije vjerojatno da će napadač uspjeti pogoditi vrijednost. | U primjeru je prikazano otimanje za jedan upit, ali nije vjerojatno da će ono biti uspješno. Zbog nasumičnog odabira Query ID vrijednosti polja, nije vjerojatno da će napadač uspjeti pogoditi vrijednost. | ||
- | Napadač tada ponavlja upite, ali svaki put sa drukčijim imenom poddomene kako ne bi dobio odgovor iz priručne memorije. Svaki put napadač šalje određeni broj odgovor u nadi da će pogoditi Query ID. | + | Napadač tada ponavlja upite, ali svaki put s drukčijim imenom poddomene kako ne bi dobio odgovor iz priručne memorije. Svaki put napadač šalje određeni broj odgovor u nadi da će pogoditi Query ID. |
- | ==== Posljedice Kaminsky DNS napada ==== | + | ===== Posljedice Kaminsky DNS napada |
Posljedice ovakvog napada su katastrofalne. Budući da napadač postaje vlasnik cijele domene, on kontrolira sve što se tiče poslužitelja imena. On može preusmjeravati posjetitelje na njegove poslužitelje te može preusmjeravati emailove na svoje poslužitelje | Posljedice ovakvog napada su katastrofalne. Budući da napadač postaje vlasnik cijele domene, on kontrolira sve što se tiče poslužitelja imena. On može preusmjeravati posjetitelje na njegove poslužitelje te može preusmjeravati emailove na svoje poslužitelje | ||
Redak 209: | Redak 201: | ||
===== Rješenje Kaminsky DNS problema ===== | ===== Rješenje Kaminsky DNS problema ===== | ||
- | Akcije koje su poduzete nakon otkrivanja Kaminsky DNS problema nisu u potpunosti | + | Akcije koje su poduzete nakon otkrivanja Kaminsky DNS problema nisu u potpunosti |
Potrebno je dodati dodatan izvor nasumičnosti što se ostvarilo odabirom nasumičnog izvornog porta prilikom slanja poruke. Umjesto jednog porta, korišten je puno veći raspon portova alociran od strane poslužitelja imena. | Potrebno je dodati dodatan izvor nasumičnosti što se ostvarilo odabirom nasumičnog izvornog porta prilikom slanja poruke. Umjesto jednog porta, korišten je puno veći raspon portova alociran od strane poslužitelja imena. | ||
- | Mircosoftovi | + | Microsoftovi |