Что такое DNS и почему плохо когда он протекает.

Тема в разделе "Сборник статей по безопасности и анонимности", создана пользователем WarTech, 31 май 2018.

  1. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0
    Что такое DNS и почему плохо когда он протекает.

    Обычный интернет централизован, то есть в нем все завязано на некие ключевые узлы. Один из таких ключевых узлов - сервера DNS. DNS это аббревиатура от Domain Name System - система доменных имен. Сервера DNS хранят данные на интернет ресурсы - в первую очередь их IP адреса(11.11.22.211) и их доменные имена (Ссылка доступна только зарегистрированным пользователям). Сделано это для твоего удобства - когда ты хочешь пойти на сайт Ссылка доступна только зарегистрированным пользователям то тебе не нужно помнить его IP адрес - достаточно запомнить имя. Далее происходит следующее:

    1. Ты забиваешь в строку браузера Ссылка доступна только зарегистрированным пользователям.

    2. Поскольку компьютеры разговаривают на языке цифр они такую херню не приветствуют и не понимают. Так что твоему компьютеру потребуется переводчик - который растолкует ему куда тебе приспичило пойти в интернете.

    3. Твой компьютер напишет запрос переводчику - мол так и так, этот болван опять чего то понаписал в строке браузера и орет как окоянный, а я ниче не пойму чего он хочет. Вот смотри какая то Ссылка доступна только зарегистрированным пользователям

    4. Переводчик (DNS сервер) посмотрит с умным видом в свои каталоги и ответить - дак это он дрочить опять будет, это же сайт с порнухой - 11.11.22.211 И выдает вместо имени точный IP адрес.

    5. Твой компьютер наконец то понял в какую сторону посылать твои похотливые запросы и ты попал на сайт с порнухой.

    Вроде бы все счастливы, но есть нюанс...

    Причина протечек

    DNS тема старая и разрабатывалсь в те далекие времена, когда в интернет умели выходить только бородатые фрики у которых из карманов торчали провода и остатки позавчерашней пиццы. В виду того что у всех посетителей интернета квалификация была примерно одинаково запредельно высокой вопросы безопасности мало кого волновали. Если точнее то вообще никого.

    Однако с развитием технологий интернет (внутреняя сеть - само название даже нам кагбенамекае...) стал доступен широкой аудитории, большинство индивидуумов из которой, мягко говоря неумные. Ну и разумеется тем, кто в интернетах мало мало понимает грех было не воспользоваться дырками в этой самой системе распределения доменных имен.

    Векторы атаки

    1. Всяческие хакеры - этот вектор атак как правило пугает законопослушных граждан.

    Один из самых простых методов атак расчитан на совсем деревянных пользователей интернетов и заключается в элементарной замене имени на похожее - а ля abibas.com. Неумный пользователь не замечает подвоха (а надо признать что в некоторых шрифтах такие буквы как I (заглавная ай) и l (строчная эль) практически идентичны - чем умело пользуются швырки в телеге).

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

    На заметку: VPN кстати был создан вот именно для этой ситуации - защиты законопослушных граждан от всяческих хакеров.


    2. Цензура - этот вектор атак как правило пугает всяких закононепослушных граждан.

    Как правило, крупные магистральные, и не очень провайдеры имеют в наличии свои собственные DNS сервера с блекджеком и шлюхами. Делается это в первую очередь для повышения скорости работы, чтобы потом писать в рекламных буклетиках наш интернет резкий как понос - ведь запросы будут происходить мгновенно - ты так и так установил соединенение с провайдером и если запросы будут идти ему же а не на какой нибудь сервер SAS во Франциях то все будет происходить куда шустрее.

    Так вот в такой схеме главная беда в том, что провайдеру доступна история всех твоих интернет безобразий. Твой компьютер спрашивает у провайдера адреса сайтов Ссылка доступна только зарегистрированным пользователям Ссылка доступна только зарегистрированным пользователям Ссылка доступна только зарегистрированным пользователям и прочие интересности. При этом правайдер располагает достаточно обширной информацией, которая при желании позволяет без труда обнаружить и обезвредить юного интернет пакостника.

    Это еще цветочки...

    Еще одна из дыр данной системы - одинаково актуальна для обоих категорий граждан - послушных и не очень. И заключается она в том, что DNS запросы тупо не шифруются. Даже если шифруется основной трафик - например идет по протоколу HTTPS, запросы доменных имен все равно будут идти чуть ли не открытым текстом и разумеется они очень уязвимы к MITM атакам.

    Таким образом чтобы прикрыть эти дыры в обороне нужно успешно решить следующие тактические задачи:

    1. Перенаправить запросы доменных имен на сервера, которым наплевать куда, когда и как часто ты ходишь.

    2. Зашифровать запросы доменных имен, чтобы их невозможно было перехватить в пути до серверов, которым наплевать куда, когда и как часто ты ходишь.

    3. Поумнеть и перестать шарахаться по всяческим сомнительным ресурсам (самое сложное).

    Реализация.

    Самый простой и широко используемый способ перенаправления запросов - заворачивать их через тор. Не знаю как в Windows, но в линуксах DNS сервера выдаются сервисом network-manager который при соединении прописывает их в файл resolv.conf.

    Первое что необходимо сделать - снять эти полномочия с сетевого управлящего. Делается это созданием конфигурационного файла в каталоге

    Код:
    /etc/NetworkManager/conf.d/
    Я назвал файл anon.conf (нет не потому о чем ты там подумал) и вписал туда следующие параметры:

    Код:
    [main]
    dns=none

    [device-anon]
    wifi.scan-rand-mac-address=yes

    [connection-anon]
    wifi.cloned-mac-address=random
    Первый из которых запрещает заниматься network-manager оределением DNS серверов, второй спуфит MAC адрес вифи адаптеров в процесе сканирования и поиска точек доступа, а третий делает то же самое но уже при подключении к точкам доступа. Последние два актуальны только при анонимной работе через чужие точки доступа. Для немножко анонимной работы через модем хватит просто параметра dns=none.

    после чего необходимо перезапустить сервис:

    Код:
    sudo service network-manager restart
    Теперь необходимо кому то снятые полномочия передать - ведь кто то должен их выполнять в системе. И исполняющим обязанности сетевого управляющего мы назначим луковый маршрутизатор - Tor.

    Для этого пройдем в его конфигурационный файл, в каталоге /etc/tor/ - torrc

    И допишем сюда вот такие буквы и цифры (мопед не мой, я просто разместил объяву - Ссылка доступна только зарегистрированным пользователям)

    Код:
    VirtualAddrNetworkIPv4 10.192.0.0/10
    AutomapHostsOnResolve 1
    TransPort 9040 IsolateClientAddr IsolateClientProtocol IsolateDestAddr IsolateDestPort
    DNSPort 5353
    после чего так же перезагрузим сервис

    Код:
    sudo service tor restart
    затем пропишем в /etc/resolv.conf новый адрес:

    Код:
    nameserver 127.0.0.1
    поскольку мы сняли с нетворк-менеджера полномочия он не будет затирать наши правки и вставлять туда свои 192,168,8,1 копейки при каждом коннекте к вражеской точке доступа.

    При этом не лишним будет поотрезать все остальные попытки выхода в сеть через iptables или ferm - но это тема для отдельного разговора и с тем кто в этом понимает - я не очень умный, и мне плохо.

    Проверяем что получилось.


    Вот сайты которые неплохо проверяют DNS запросы:

    1. expressvpn.com/dns-leak-test - обратите внимание - всякие тесты нагоняющие жути есть только в барыжьих конторах. таким паскудством не балуется сайт тора или того же nordvpna.
    2. dnsleaktest.com - выбираем extended test и тогда сайт сделает шесть подходов по шесть раз - в общей сложности 36 (спасибо кэп!). Если у вас там будет вот так:

    [​IMG]


    значит днс запросы идут с тор - выходов и все нормально. если же в списке будет только DOM.Ru Penza - то что то пошло не так..
  2. simplenickname

    simplenickname Member

    Сообщения:
    95
    Симпатии:
    11
    повторяю всё в точности по инструкции.
    но почему-то не работает(((
    sudo Tor status выдаёт
    enabled

    я не хакер((((((((((((((((((((((((((((
  3. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0
    привет. я тоже не хакер но что то мне подсказывает что для того чтобы завернуть днс в тор - сервис тор и должен быть энэйблд - разве нет?

    если ты все изменил перезапустил тор и он активен то радоваться нужно. а не огорчаться )
  4. simplenickname

    simplenickname Member

    Сообщения:
    95
    Симпатии:
    11
    привет! иммешь ввиду должен быть запущен? открыт и свёрнут?
    или просто sudo tor service start ?
  5. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0
    ну начнем с того что тор и торбраузер не одно и то же )
  6. simplenickname

    simplenickname Member

    Сообщения:
    95
    Симпатии:
    11
    тогда он енаблид и актив


    Код:
    ● tor.service - Anonymizing overlay network for TCP (multi-instance-master)
    Loaded: loaded (/lib/systemd/system/tor.service; enabled; vendor preset: enabled)
    Active: active (exited) since Thu 2018-05-31 17:35:40 MSK; 1h 22min ago
  7. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0
    так и должно быть. чему ты удивляешься?
  8. simplenickname

    simplenickname Member

    Сообщения:
    95
    Симпатии:
    11
    тому, что при этом странички не обновляются.
    в nameserver стоит 127.0.0.1
  9. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0
    странички где? мануал для прокси днс через тор. не через торбаузер. у него свои настройки - даже порт 9150 на сокс а не 9050. прошей прокси в лисе - 127.0.0.1 9050 и поставь галочку проксить днс. лисой проверяй не торбраузером. там и так все работает как нужно.
  10. simplenickname

    simplenickname Member

    Сообщения:
    95
    Симпатии:
    11
    я понял. в лису тоже надо прописывать.
  11. WarTech

    WarTech Member

    Сообщения:
    572
    Симпатии:
    0

Поделиться этой страницей