• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Статья Свой DNS (Orange Pi) + WebMap (Nmap)

Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 453
4 289
Приветствую, гостей и обитателей форума Codeby.net!

В этой статье речь пойдет о двух вещах:
  • WebMap – Web-панель для анализа отчетов XML Nmap;
Свой DNS (Orange Pi) + WebMap (Nmap)

  • DNS для своей локальной сети.
Свой DNS (Orange Pi) + WebMap (Nmap)


Что касается первой, мы видели очень много надстроек облегчающих вывод, анализ и прочие моменты при работе со сканером nmap, их много и они разнообразны.

Но в этот раз мне попалась, довольно интересная вещь – работающая в докере web-панель, которая позволяет анализировать отчеты nmap формата XML, при этом она анализирует хосты на возможные уязвимости, а так же позволяет строить карту сети.

WebMap – достаточно информативна, легка в использовании и обладает весьма дружественным интерфейсом.

Ну а второй пункт, собственный DNS, это скорее дополнение к статье, так как, при установке и настройке WebMap, мне захотелось обращаться к ней не по IP, а по доменному имени, для удобства.

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

Приступим к установке и настройке DNS, я выбрал Bind9 располагаться он будет на:

Свой DNS (Orange Pi) + WebMap (Nmap)


Bind9 - это пакет, создающий DNS-сервер в локальной или глобальной сети. Bind9 может также работать и в режиме кеширующего DNS-сервера.

Код:
apt install –y bind9 dnsutils
Свой DNS (Orange Pi) + WebMap (Nmap)


Настраиваем файл конфигурации Bind9:

Код:
nano /etc/bind/named.conf.options
Приводим его к следующему виду:

Свой DNS (Orange Pi) + WebMap (Nmap)


acl - создает ACL (Access control list) - список контроля доступа, с помощью которого ограничивается диапазон адресов, которые могут запрашивать зоны с нашего сервера.
allow-query { mynetwork; }; - список тех, кто имеет право запрашивать информацию.
forwarders {192.168.0.1; 8.8.8.8; }; - это DNS провайдера, или любые другие, у которых можно получить информацию о доменах неизвестных вашему серверу.
listen-on-v6 { none; } - запрещает работать с IPv6.

Корректируем файл локальной конфигурации Bind9:

Код:
nano /etc/bind/named.conf.local
Этот файл содержит локальную конфигурацию DNS-сервера, в нем объявляются зоны, связанные с доменами этого сервера.

Добавляем в него файлы наших зон (зону прямого просмотра и зону обратного просмотра):

Свой DNS (Orange Pi) + WebMap (Nmap)


Зона в DNS — это часть пространства имён DNS, управляемая конкретным сервером или группой серверов DNS.

Зона прямого просмотра - это тип зоны, в которой доменное имя преобразуется в IP-адрес. Создаем файл для зоны прямого просмотра:

Код:
nano /etc/bind/zones/home/flz.home.zone
Со следующим содержимым:

Свой DNS (Orange Pi) + WebMap (Nmap)


$ORIGIN - оригинальное имя зоны
ns1.home.loc. - Наш DNS-сервер (точка в конце обязательна).
admin.home.loc. – e-mail администратора сервера, где вместо символа @ используется точка.
Serial - серийный номер зоны в формате ГГГГММДД и номер текущего изменения за этот день. (Важно, при каждом изменении, нужно редактировать этот номер, увеличивая его в большую сторону) Пример: 2019011701.
Refresh - период времени, с которым вторичный сервер DNS обращается к основному.
Retry - период, с которым вторичный сервер будет повторять попытки при неудачном обновлении.
Expire - максимальное время использования данных на вторичном сервере, после которого делается обязательное обновление.
Negative Cache TTL - время актуальности данных в кэше запросов.

Далее идут записи имён хостов с ip-адресами или псевдонимами.

ns.provider.org. - вместо этой записи можете указать NS вашего регистратора либо Free DNS сервиса.

В конце файла оставляем пустую строку.

Зона обратного просмотра, выполняет преобразование IP-адреса в доменное имя. Создадим файл для зоны обратного просмотра:

Код:
nano /etc/bind/zones/home/rlz.home.zone
Свой DNS (Orange Pi) + WebMap (Nmap)


В этом файле должны быть только записи типа PTR. В конце этого файла так же должна быть пустая строка. Число 111 - это последний октет в IP адресе нашего DNS сервера.

Проверим корректность работы DNS.

Код:
named-checkconf –z
rndc reload
Свой DNS (Orange Pi) + WebMap (Nmap)


Редактируем resolv.conf, приводим его к следующему виду:

Код:
nano /etc/resolv.conf
Свой DNS (Orange Pi) + WebMap (Nmap)


Проверяем, все ли работает корректно:

Код:
nslookup home.loc
nslookup 192.168.0.111
Свой DNS (Orange Pi) + WebMap (Nmap)


Пропишем адрес DNS в свой роутер, на этом настройка закончена, позже мы к нему еще вернемся, чтобы внести последние штрихи.

Приступим к установке WebMap, как я уже говорил, эта панель работает в докере, у вас должен быть установлен и настроен пакет docker.

Код:
curl -sL http://bit.ly/webmapsetup | bash
Свой DNS (Orange Pi) + WebMap (Nmap)


Стартуем докер webmap:

Код:
docker ps –a
docker start [container ID]
Свой DNS (Orange Pi) + WebMap (Nmap)


Для доступа к панели инструментов WebMap нам нужен токен. Создаем новый токен с помощью:

Код:
docker exec -ti webmap /root/token
Свой DNS (Orange Pi) + WebMap (Nmap)


Проверяем работу панели, перейдя по адресу сервера, указав порт 8000 и введя токен:

Код:
http://192.168.0.101:8000
Свой DNS (Orange Pi) + WebMap (Nmap)


Теперь, немного о функционале WebMap:
  • Импорт и анализ файлов Nmap XML;
  • Запуск и планирование сканирований Nmap из панели инструментов;
  • Статистика и графики по обнаруженным службам, портам, ОС и т. Д;
  • Проверка одного хоста, выбрав его IP-адрес;
  • Прикрепление ярлыков на хост;
  • Создание заметок для конкретного хоста;
  • Создание отчетов в формате PDF с диаграммами, деталями, метками и заметками;
  • Копирование в буфер обмена команд Nikto, Curl или Telnet;
  • Поиск CVE и эксплойтов на основе CPE, собранных Nmap;
  • RESTful API.
Имена файлов XML.

При создании PDF-версии отчета Nmap XML в качестве заголовка документа на первой странице используется имя файла XML. WebMap заменит некоторые части имени файла следующим образом:
  • _ will replaced by a space ()
  • .xml will be removed
Пример: ACME_Ltd..xml
PDF заголовок: ACME Ltd.

CVE и эксплойты.

Благодаря API-сервисам circl.lu, WebMap может искать CVE и эксплойты для каждого CPE, собранного Nmap. Не все CPE проверяются через API circl.lu, но только если указана конкретная версия (например: cpe: / a: microsoft: iis: 7.5 и не cpe: / o: microsoft: windows).

Подробнее с видео и картинками можно ознакомиться .

Запустим сканирование хоста с дальнейшим анализом его в WebMap, но перед этим добавим WebMap в файлы зон DNS сервера, чтобы мы могли обращаться к нему по адресу:
Код:
nano /etc/bind/zones/home/rlz.home.loc
Свой DNS (Orange Pi) + WebMap (Nmap)


Код:
nano /etc/bind/zones/home/flz.home.loc
Свой DNS (Orange Pi) + WebMap (Nmap)


Сканируем сеть:

Код:
nmap -sT -A -T4 -oX /tmp/webmap/myhost.xml 192.168.0.1/24
Свой DNS (Orange Pi) + WebMap (Nmap)


По завершении сканирования, в WebMap появится отчет для дальнейшего анализа:

Свой DNS (Orange Pi) + WebMap (Nmap)


Смотрим подробную карту сети, включая подробную информацию об открытых портах и работающих на них сервисах.

Свой DNS (Orange Pi) + WebMap (Nmap)


Общая информация выглядит так:

Свой DNS (Orange Pi) + WebMap (Nmap)


Подведя итоги, можно сказать, что WebMap очень удобен, информативен, интерактивность карты сети, вы сами можете попробовать, мне очень понравилась.

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

Для решения CTF было удобно работать с WebMap, плюс – это все отчеты в одном месте, систематизация порадовала.

Надеюсь, данная статья была полезна, на этом все, спасибо за внимание.

Специально для Codeby.net.
 
Z

zakrush

Red Team
21.03.2018
34
37
А не подскажете, bind9 умеет делать DNS Load Balance (хотя бы RoundRobin) + имеется ли поддержка A записей через regexp?
Например необходимо направлять все *.example.ru на 1.1.1.1 2.2.2.2 3.3.3.3 и чтобы это еще и балансировалось а не в 1.1.1.1 постоянно шло.

Как оказалось на практике, это не все умеют к сожалению.
 
G

g00dkid

при выполнении
Код:
curl -sL http://bit.ly/webmapsetup | bash
ругается: 404: Not Found
+ образа ev3rse/webmap:latest на docker hub нет
 
Goodkid

Goodkid

New member
01.05.2019
2
0
при выполнении
Код:
curl -sL http://bit.ly/webmapsetup | bash
ругается: 404: Not Found
+ образа ev3rse/webmap:latest на docker hub нет
 
centr

centr

Премиум
31.01.2017
414
410

Bash:
curl https://gitlab.com/bytehackr/WebMap/raw/v2.1/master/docker/setup.txt --output setup.txt && sed -i 's/Rev3rseSecurity\/WebMap/bytehackr\/WebMap/g' setup.txt && cat setup.txt | bash
 
Goodkid

Goodkid

New member
01.05.2019
2
0

Bash:
curl https://gitlab.com/bytehackr/WebMap/raw/v2.1/master/docker/setup.txt --output setup.txt && sed -i 's/Rev3rseSecurity\/WebMap/bytehackr\/WebMap/g' setup.txt && cat setup.txt | bash

Код:
root@kali:~# curl https://gitlab.com/bytehackr/WebMap/raw/v2.1/master/docker/setup.txt --output setup.txt && sed -i 's/Rev3rseSecurity\/WebMap/bytehackr\/WebMap/g' setup.txt && cat setup.txt | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   420  100   420    0     0    328      0  0:00:01  0:00:01 --:--:--   328

[+] Starting WebMap docker setup
[+] Creating required dirs
mkdir: невозможно создать каталог «/tmp/webmap»: Файл существует
[+] Docker run webmap
Unable to find image 'rev3rse/webmap:latest' locally
docker: Error response from daemon: repository rev3rse/webmap not found: does not exist or no pull access.
See 'docker run --help'.
[+] Done

Now you can point your browser to http://localhost:8000
Please, take few seconds to support this project on GitHub
https://github.com/bytehackr/WebMap
Спасибо за ответ, попробую через Dockerfile собрать
 
Последнее редактирование:
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб