You are here: Home » Sniffing и Spoofing » DNSChef

DNSChef

Описание DNSChef

DNSChef — это высоко настраиваемый DNS прокси для тестеров на проникновение и аналитиков вредоносных программ. DNS прокси (также известный как "Fake DNS", фальшивый DNS) является инструментом, используемым для анализа сетевого трафика приложений в то время, как кто-то использует сеть. Например, DNS прокси можно использовать для поддельных запросов на "badguy.com", указывая на локальную машину для обрыва или перехвата этих запросов, направленных куда-либо в Интернет.

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

Использовать DNS прокси рекомендуется в ситуациях, когда невозможно заставить приложение использовать какой-либо другой прокси сервер напрямую. Например, некоторые мобильные приложения полностью игнорируют настройки OS HTTP Proxy. В этих случаях, использование DNS прокси сервер, такого как DNSChef, позволит вам перехитрить это приложение и направить подключения к желаемой цели.

Домашняя страница: http://thesprawl.org/projects/dnschef/

Автор: iphelix

Лицензия: GPLv3

Справка по DNSChef

Использование:

sudo dnschef [опции]:

DNSChef — это высоко настраиваемый DNS прокси для тестеров на проникновение и аналитиков вредоносных программ. Он способен к тонкой настройке какие DNS ответы модифицировать, а какие просто ретранслировать с реальными ответами. Для того, чтобы воспользоваться этим инструментом вы должны или вручную настроить или отравить записи DNS сервера для указания на DNSChef. Инструменту требуются привилегии рута для запуска на привилегированных портах.

Опции:
  -h, --help            показать справку и выйти
  --fakedomains=thesprawl.org,google.com
                        Разделённый запятой список доменов, которые
                        будут преобразованы на ФАЛЬШИВЫЕ значения,
                        переданные в других параметрах. Все другие домены
                        будут преобразованы к реальным данным.
  --truedomains=thesprawl.org,google.com
                        Разделённый запятой список доменов, которые будут
                        преобразованы на РЕАЛЬНЫЕ значения. Все другие 
                        домены будут преобразованы к фальшивым
                        данным, указанным в других параметрах.

  Фальшивые DNS записи::
    --fakeip=192.0.2.1  IP для использования в совпадающих DNS запросах. 
                        Если вы используете этот параметр без указания доменных 
                        имён, тогда все 'A' запросы будут подменены. Рассмотрите 
                        использование аргумента --file, если вам нужно
                        определить более чем один IP адрес.
    --fakeipv6=2001:db8::1
                        IPv6 для использования в совпадающих DNS запросах. 
                        Если вы используете этот параметр без указания доменных 
                        имён, тогда все 'AAAA' запросы будут подменены.  
                        Рассмотрите использование аргумента --file, если вам 
                        нужно определить более чем один IPv6 адрес.
    --fakemail=mail.fake.com
                        MX имя для использования на совпадающих DNS запросах. 
                        Если вы используете этот параметр без указания доменных 
                        имён, тогда все 'MX' запросы будут подменены.  
                        Рассмотрите использование аргумента --file, если вам 
                        нужно определить более чем одну MX запись.
    --fakealias=www.fake.com
                        CNAME имя для использования на совпадающих DNS запросах. 
                        Если вы используете этот параметр без указания доменных 
                        имён, тогда все 'CNAME' запросы будут подменены.  
                        Рассмотрите использование аргумента --file, если вам 
                        нужно определить более чем одну CNAME запись.
    --fakens=ns.fake.com
                        NS имя для использования на совпадающих DNS запросах. 
                        Если вы используете этот параметр без указания доменных 
                        имён, тогда все 'NS' запросы будут подменены.  
                        Рассмотрите использование аргумента --file, если вам 
                        нужно определить более чем одну NS запись.
    --file=ФАЙЛ         Задать файл, содержащих пары ДОМЕН=IP
                        (одна пара на строку) для использования в DNS ответах.
                        Например: google.com=1.1.1.1 принудить все запросы на
                        'google.com' преобразовываться в '1.1.1.1'. IPv6
                        будут обнаружены автоматически. Вы можете быть
                        даже более конкретным, совмещая --file с другими
                        аргументами. Тем не менее, данные полученные из
                        командной строки будут иметь приоритет над другими.

  Дополнительные параметры выполнения.:
    --logfile=LOGFILE   Указать лог файл для записи всей активности
    --nameservers=8.8.8.8#53 или 4.2.2.1#53#tcp или 2001:4860:4860::8888
                        Разделённый запятой список альтернативных DNS серверов
                        для использовании при ретранслировании запросов. Имена серверов
                        могут как в формате IP так и IP#PORT. Если указано несколько
                        серверов, то будут использованы произвольно выбранные 
                        сервера из списка для ретранслировании запросов. В режиме IPv4
                        по умолчанию используется публичный DNS сервер 8.8.8.8 от 
                        Google, а в режиме IPv6 используется 2001:4860:4860::8888.
    -i 127.0.0.1 или ::1, --interface=127.0.0.1 или ::1
                        Указать интерфейс для использования для DNS прослушивателя.
                        По умолчанию инструмент использует 127.0.0.1 в режиме 
                        IPv4 и ::1 в режиме IPv6.
    -t, --tcp           Использовать TCP DNS прокси вместо UDP который по умолчанию.
    -6, --ipv6          Запустить в режиме IPv6.
    -p 53, --port=53    Номер порта для прослушивания DNS запросов.
    -q, --quiet         Не показывать заголовки.

Руководство по DNSChef

Страница man отсутствует.

Примеры запуска DNSChef

Запуск DNSChef без опций – программа будет выступать в роли ретрослятора DNS запросов на настоящий DNS сервер и будет выводить данные о любой активности в стандартный вывод:

sudo dnschef
          _                _          __
         | | version 0.3  | |        / _|
       __| |_ __  ___  ___| |__   ___| |_
      / _` | '_ \/ __|/ __| '_ \ / _ \  _|
     | (_| | | | \__ \ (__| | | |  __/ |
      \__,_|_| |_|___/\___|_| |_|\___|_|
                   iphelix@thesprawl.org

[*] DNSChef started on interface: 127.0.0.1
[*] Using the following nameservers: 8.8.8.8
[*] No parameters were specified. Running in full proxy mode

Запуск программы на интерфейсе с IP 185.117.153 (-i 185.117.153.79) и сохранять данные об активности в файл /root/dns.log (--logfile=/root/dns.log):

sudo dnschef -i 185.117.153.79 --logfile=/root/dns.log

Для домена blackarch.ru (--fakedomains blackarch.ru) поменять адрес на фальшивый127.0.0.1 (--fakeip 127.0.0.1), не выводить заголовки (-q)

sudo dnschef --fakeip 127.0.0.1 --fakedomains blackarch.ru -q

Установка DNSChef

Программа предустановлена в Kali Linux.

Установка в BlackArch

sudo pacman -S dnschef python2-dnslib python2-ipy

Установка в Debian и производные (Ubuntu, Mint)

sudo apt-get install python-ipy
sudo pip install dnslib
wget http://thesprawl.org/media/projects/`curl -s http://thesprawl.org/projects/dnschef/ | grep -E -o 'dnschef-[0-9]{1,2}.[0-9]{1,2}.zip' | head -n 1`
unzip dnschef-*
rm dnschef-*zip
cd dnschef-*
sudo python dnschef.py --help

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты DNSChef

01

Инструкции по DNSChef

Близкие программы:

Рекомендуемые статьи: