• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья dnscrypt-proxy + dmsmasq в Arch/Blackarch

Небольшое HOW-TO на тему подмены/перехвата/логирования DNS запросов со стороны провайдера. Обойти этот неприятный момент нам поможет связка dnscrypt-proxy + dmsmasq. Покажу как настроить на примере Arch Linux.

1. Для начала нам понадобится установить нужные пакеты:
Код:
# pacman -S dnscrypt-proxy dnsmasq

2. Далее редактируем файл /etc/resolv.conf меняем адрес nameserver на 127.0.0.1

2017-10-04-005241_679x745_scrot.png

3. Запрещаем изменения на файл /etc/resolv.conf
Код:
# chattr +i /etc/resolv.conf

4. По желанию правим конфиг dnscrypt-proxy.socket и меняем там порты с 53 на 40 например.
Код:
# systemctl edit dnscrypt-proxy.socket --full

5. Правим конфиг /etc/dnscrypt-proxy.conf, чтоб указать там сервер DNS. Адрес сервера выбираем из файла /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
Код:
# localc /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
и вписываем его в конфиг после ResolverName

2017-10-04-002624_679x745_scrot.png 2017-10-04-002707_679x745_scrot.png

6. Правим конфиг /etc/dnsmasq.conf , дописываем в самом конце
Код:
no-resolv
server=127.0.0.1#40
listen-address=127.0.0.1
не забывайте указать правильный порт из пункта 4.

7. Далее активируем службы при загрузке системы
Код:
# systemctl enable dnscrypt-proxy
# systemctl enable dnsmasq
и запускаем их
Код:
# systemctl start dnscrypt-proxy
# systemctl start dnsmasq

8. Перезапускаем NetworkManager или то, чем вы пользуетесь
Код:
# systemctl restart NetworkManager

9. Проверяем доступность интернета

2017-10-04-003657_1052x452_scrot.png

10. И на последок можем проверить результат на сайте

2017-10-04-003919_1366x768_scrot.png

Всем спасибо за внимание.
 
Последнее редактирование модератором:

ghost

Grey Team
12.05.2016
1 636
3 286
BIT
0
Попроси чтобы перенесли. Сделаю догадку куда ты пропал. Да с арчем залипал :) судя по теме так с налету. Точно красноглазием занимался...
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
подскажите, а решения под винду такого плана есть?
 

z3RoTooL

Grey Team
28.02.2016
803
696
BIT
7
подскажите, а решения под винду такого плана есть?
Вот честно, даже и не искал, потому как винда только на виртуалке для тестов. Погуглите, может найдётся что полезное.

оф. сайт с клиентом под винду
 
  • Нравится
Реакции: kot-gor
H

hoho

Хотелось бы увидеть инструкцию установки на kali - dnscrypt-proxy + dnsmasq.
 
H

hoho

Ставил на Parrot, есть нюансы - resolv.conf выглядит иначе (внутри прописаны opendns от google и parrot) и перезаписывается при каждом запуске демонов dnscrypt-proxy и dnsmasq. На dnsleakleaktest.com и ipleak.net прописанный в dnscrypt-proxy.conf dnsserver игнорится. Но через 24 часа выход был найден. Нигде, кстати, в инете не нашёл решение. В итоге leaktest видит то, что прописано (то, что ты хочешь).
P.S. За ссылку на видео респект.
 
  • Нравится
Реакции: Vasi

z3RoTooL

Grey Team
28.02.2016
803
696
BIT
7
Ставил на Parrot, есть нюансы - resolv.conf выглядит иначе (внутри прописаны opendns от google и parrot) и перезаписывается при каждом запуске демонов dnscrypt-proxy и dnsmasq. На dnsleakleaktest.com и ipleak.net прописанный в dnscrypt-proxy.conf dnsserver игнорится. Но через 24 часа выход был найден. Нигде, кстати, в инете не нашёл решение. В итоге leaktest видит то, что прописано (то, что ты хочешь).
P.S. За ссылку на видео респект.
Братан, резолв.конф переписывается каждый раз при запуске NetworkManager, для этого я и делал chattr +i /etc/resolv.conf
 
N

narch

Исправьте пожалуйста описки в описании темы и в коде пункта №8(при копировании неудобно)
И огромное спасибо за статью ! (y)
Обойти этот неприятный момент нам поможет связка dnscrypt-proxy + dmsmasq
Код:
# systemctl restart NetworkMananger
 
  • Нравится
Реакции: Сергей Попов

z3RoTooL

Grey Team
28.02.2016
803
696
BIT
7
Господа, DNSCrypt переписали и обновили, новый мануал скоро будет... сейчас статья не актуальна

Актуальная инфа по настройке связки

всё работает корректно

2018-07-30-00:25:29.png
 
Последнее редактирование:

Rollly

Green Team
31.12.2017
109
133
BIT
0
Господа, DNSCrypt переписали и обновили, новый мануал скоро будет... сейчас статья не актуальна

Актуальная инфа по настройке связки

всё работает корректно

Посмотреть вложение 20803
А как же подменить сайт гугла?) Чтобы при переходе по защищенному соединению была подмена?
 
V

Valkiria

В чём может заключаться ошибка ?
Пытаюсь вручную заставить работать dnscrypt-proxy -R с сервером bn-fr0
Программа по непонятным причинам вообще не желает работать ни с одним из серверов из списка dnscrypt-resolvers.csv
Код:
dnscrypt-proxy -R bn-fr0
В ответ:
Код:
Thu Feb  7 17:27:53 2019 [ERROR] No resolver named [bn-fr0] found in the [/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv] list
Файл dnscrypt-resolvers.csv находится в указанном месте. /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
В файле dnscrypt-resolvers.csv ИМЕЕТСЯ !!! сервер с именем bn-fr0

21.png


Но работать не хочет ни с одним из серверов.
Не могу понять, почему выскакивает ошибка.
Время синхронизировано !

2.png
 
Последнее редактирование модератором:
A

AbussalCutter

напишите статью для убунту, плез.
 

student888

One Level
29.04.2018
3
5
BIT
0
Я так делал:
1. Устанавливаю нужные пакеты.
sudo pacman -S dnscrypt-proxy dnsmasq
2. Редактирую файл /etc/dnscrypt-proxy/dnscrypt-proxy.toml
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
В файле прописываю:
server_names = ['adguard-dns', 'adguard-dns-doh', 'ads-dnswarden-dc1', 'bottlepost-dns-nl', 'cs-pl', 'cs-de', 'scaleway-fr', 'scaleway-ams', 'google', 'cloudflare']
# DNS сервера выбирал отсюда:

listen_addresses = ['127.0.0.1:53000', '[::1]:53000']
# Порт прослушивания использовал, как указанно в archwiki - 53000
# Разрешаю dns cache.
cache = true
3. Редактирую файл /etc/dnsmasq.conf
sudo nano /etc/dnsmasq.conf
В файле прописываю:
no-resolv
server=::1#53000
server=127.0.0.1#53000
listen-address=::1,127.0.0.1
# DNSSEC Validation
conf-file=/usr/share/dnsmasq/trust-anchors.conf
dnssec
4. Редактирую resolv.conf
sudo nano /etc/resolv.conf
Файл привожу к виду:
nameserver ::1
nameserver 127.0.0.1
options edns0 single-request-reopen
5. Защищаю resolv.conf от перезаписи:
sudo chattr +i /etc/resolv.conf
6. Активирую службы при загрузке системы:
sudo systemctl enable dnscrypt-proxy
sudo systemctl enable dnsmasq
7. Запускаю службы:
sudo systemctl start dnscrypt-proxy
sudo systemctl start dnsmasq
8. Перезапускаю NetworkManager:
sudo systemctl restart NetworkManager
9. Проверяю результат на сайте

Использовал инфу по настройке отсюда:
 
  • Нравится
Реакции: UKROP и supermail
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!