Despre DNS poisoning.
In ultimii ani am intalnit destul de des termenul DNS Poisoning (DNS Pollution sau DNS Cache Poisoning) si am vazut si ceva security hotfixuri legate de aceasta tehnica. Cineva m-a intrebat de curand cum functioneaza. E o tehnica destul de veche dar interesanta. Sa explicam pe scurt:
1. Incercam sa facem o interogare pe domeniul dnstest.winadmin.ro
2. Serverul autoritar pentru inregistrarea dnstest.winadmin.ro este unul din NS-urile care imi tine zona winadmin.ro
3. Si aici intervine smecheria. Serverul meu raspunde ceva de genu: nu am inregistrarea dnstest, dar am delegat-o catre NS-ul www.google.com. Si ca sa nu te mai chinui ia si IP-ul lui www.google.com si tine-l in cache.
– va imaginati ca IP-ul returnat nu duce in nici un caz la google.
– daca serverul DNS are incredere in raspuns si cachuieste informatia – we are fucked up.
4. Probabil ca nu vom reusi sa accesam dnstest.winadmin.ro dar asta nu e important pentru atacator.
5. Nu are rost sa mai spun unde se vor duce cererile urmatoare catre www.google.com.
Foarte multe servere DNS au fost redirectate in acest fel tocmai pentru ca permiteau recursion. Azi am putea spune ca e destul de safe daca esti patch-uit bine, insa asteptam DNSSEC care o sa rezolve astfel de hibe.
DNS-ul e treaba serioasa. De asta nici nu recomand companiilor sa foloseasca forward catre serverele providerului.
PS: remember China Golden Shield Project?