Взлом и защита DNS-сервера

UFO (ufobject@mail.ru)

Спецвыпуск Xakep, номер #015, стр. 015-055-3

Всех положим!

Эх! Не обделил вниманием величайший хакер - Василий Пупкин - и сам DNS-сервер. Мало ему пострадавшего Билла, которому Василий не дал посмотреть любимый порносайт, так надо и всем остальным жизнь испортить. Настало время рассказать тебе историю про то, как Василий изменил маршрутную информацию на самом DNS-сервере, и теперь не только Билл не может попасть на www.porno.ru, но и все остальные пользователи DNS-сервера! Чтобы понять, как реализовать такой тип атаки, необходимо сначала понять принцип общения одного DNS-сервера с другим. Этим мы сейчас и займемся. Предположим, что некий Билл посылает запрос на ближайший DNS-сервер, в котором просит найти IP-адрес, соответствующий урлу www.lohotron.com. Допустим, что до Билла на этот DNS-сервер такого запроса никто не посылал. DNS-сервер начинает копаться в своем кэш-файле, где он хранит ответы на наиболее частые запросы и, не найдя IP-адреса, соответствующего домену lohotron.com, начинает искать его в своей базе. Не найдя ничего полезного и в базе, DNS-сервер посылает запрос на другой DNS-сервер. Эта цепочка продолжается до тех пор, пока IP либо не обнаружится, либо совсем не потеряется. В случае нахождения IP'шки по запросу хоста DNS-сервер заносит его в свой кэш-файл и в свою базу. Затем DNS-сервер передает информацию о местонахождении найденного урла соседним DNS-серверам и запросившему хосту. Вроде бы все весело и безопасно, но и здесь есть свои баги. Предположим, что Василий Пупкин захотел испортить всем жизнь и сделать так, чтобы люди попадали вместо www.lohotron.com на www.pupkin.ru. Думаешь, нереально? А зря. Очень даже реально, но, естественно, при определенных условиях. Для такого типа атаки необходимо, чтобы атакуемый DNS-сервер послал запрос на соседний DNS-сервер. Естественно, для этого нужно дождаться запроса, который поступит от любого пользователя на DNS-сервер. Эта проблема может быть решена посылкой запроса самого Василия Пупкина на атакуемый DNS-сервер. Предположим, что Василий послал нужный запрос, что делать дальше? А дальше атакующий Пупкин начинает посылать шторм пакетов UDP-протокола, в которых содержится ложный DNS-ответ якобы соседнего DNS-сервера, на который атакуемый DNS-сервер должен послать запрос. Даже при соблюдении всех тепличных условий для этого типа атаки остается одна проблема. В этой статье уже неоднократно говорилось про поле ID в UDP-пакетах для DNS-запроса и DNS-ответа. Это поле используется для проверки подлинности запросов. "А куда же делась вторая проблема с портом отправителя и получателя?" - спросишь ты. А нет ее. Дело в том, что DNS-сервера обмениваются между собой маршрутной информацией через фиксированный порт 53. Атакующему перцу остается только подобрать двухбайтный ID, и, в случае совпадения с реальным идентификатором, ложный DNS-ответ принимается атакуемым DNS-сервером как настоящий. Атакующему остается только вставить в ложном DNS-ответе тот IP-адрес, который он хочет присвоить запрошенному урлу. Вот и весь принцип атаки удаленного DNS-сервера. Так же, как и предыдущий способ атаки, это можно проделать из любой точки сети.

Назад на стр. 015-055-2  Содержание  Вперед на стр. 015-055-4

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001