Просмотров: 19153

Обходим любые файрволы: проброс IP через DNS-трафик


С помощью nstx возможно создать IP-туннель внутри DNS. Одноименный протокол позволяющий достичь этого называется «NSTX» и расшифровывающийся как «NameServer Transfer Protocol».

Итак, предположим, провайдер выдаёт и разрешает использовать вам свой сервер DNS. Представим обычный DNS запрос: мы запрашиваем информацию на сервере имен провайдера, сервер провайдера передаёт запрос другому серверу имен, который отвечает за нужную нам зону. А последний DNS-сервер, в цепочке, отправляет полученный ответ по тому же маршруту обратно.

А теперь представьте, что можно оформить IP-пакеты в DNS-запросы сервера имен и «сформировать» входящий трафик в нужные нам пакеты. И вот у нас уже есть все, что бы построить полноценный «IP over DNS» — свой собственный скрытый туннель для проброса трафика через почти любые сторонние файрволы!

DNS взлом тест тестирование пентест ddos nstx

Теперь остается только настроить фальшивый сервер имен и клиент, но на практике сделать это не всегда так просто.

Максимальный размер пакета, который можно передать — максимум 512 байт по протоколу UDP. Поэтому нам потребуется механизм сборщик / разборщик, который будет собирать и разбирать фрагментированные пакеты и проверять их на корректность. В такой схеме наш фальшивый DNS-клиент может связываться с нашим же фальшивым сервером DNS постоянно, а вот наш DNS-сервер может только отвечать. Поэтому клиент будет ответственен за сверку и поддержание двухсторонней связи.

Впервые, я попробовал сделать это в 2008 году. Две недели неспешно я разбирался с этим пакетом, правил исходных текст под себя, перечитывал руководства, и в результате — я получил работающий туннель успешно проложенный через сверхзащищенный файрволл нашей корпоративной сети. Тогда для меня это было просто невероятно!

Вообще, немного желания, времени, и вы самостоятельно можете запустить фальшивый сервер имен клиента для создания тоннеля «IP-over-DNS».

Играйтесь, пробуйте. Ищите способы защиты от этого. Заранее предупреждаю, что здесь очень много технических нюансов

В дополнение скажу, идеи nstx не новы — эти идеи витают в воздухе уже много лет. Но вот практических наработок (в паблике) пока мало. В прошлом году Рон Боус реализовал dnscat — тулзу, которая также позволяет туннелировать трафик в DNS-запросах. Кроме того, он написал шелл-код, который на основе этой утилиты четко туннелирует консоль управления, используя DNS-запросы вида TXT (в них можно больше инфы впихнуть в рамках одного запроса).

Подводим черту

Каков вывод из этой короткой заметки? Давечи я видел личинку бота на сервере клиента, которая общалась с внешним миром полностью через DNS-трафик, при том при всем, что наш очень ортодоксальный и пароноидальный админ зафильтровал всякие левые http, ftp... по самые помидоры. В данном случае — это его (админа, а не бота) не спасло.

Ну, а потом пришёл я :) Берегите себя и свои сети, ребята. Этот мир катится фиг знает куда...

~

Дополнительная статья по теме nstx, и хоть этот материал немного уже устаревший, во многом все описанное там до сих пор верно: DNS-туннелинг или халявный dialup.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , ,
Эта запись опубликована: Вторник, 28 февраля 2012 в рубрике Unix'овое.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз