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
Информация об установке в другие операционные системы будет добавлена позже.
Comments are Closed