Вопрос или проблема
Как использовать nmap и разрешение DNS nmap через прокси?
Я пробовал proxychains, но для разрешения DNS это не работает, это известная ошибка, как я читал на некоторых форумах. Он работает хорошо без функции dns_proxy в конфигурации proxychains. Но мне нужно проксировать запросы на разрешение DNS.
sudo proxychains nmap -T4 -sV -Pn -A --reason -v scanme.nmap.org
Я пробовал proxychains4 (или proxychains-ng), но с nmap он выполняет сканирование и отправляет все пакеты синхронно, так что, например, для сканирования одного хоста нужно ждать 30 минут или даже дольше. Так что это не вариант, но работает хорошо.
sudo proxychains4 nmap -T4 -sV -Pn -A --reason -v scanme.nmap.org
Я пробовал просто так с встроенной функцией прокси nmap:
sudo nmap --proxy socks4://127.0.0.1:9050 -T4 -sV -Pn -A --reason -v scanme.nmap.org
Но он выполняет запросы на разрешение DNS через тор-прокси 127.0.0.1:9050 или только сканирует? Похоже, что нет.
Какое решение?
Попробуйте:
sudo nmap --proxy socks4://127.0.0.1:9050 --dns-servers 8.8.8.8 -T4 -sV -Pn -A --reason -v scanme.nmap.org
Вы можете указать доменное имя, которое будет использоваться nmap, с помощью опции --dns-servers
. Проблема здесь в том, что DNS-сервер по умолчанию – это ваш маршрутизатор, который будет иметь частный адрес, поэтому ваш DNS-сервер скрыт от интернета. Используя --dns-servers
, я просто указываю команде nmap
использовать публичный DNS Google. (частные адреса, такие как 192.168.1.0/24, не маршрутизируемые.)
Это моя настройка, и proxychains4
работает хорошо.
Во-первых, у меня настроена служба tor и работает на порту 9050.
Во-вторых, это конфигурация proxychains (/etc/proxychains4.conf
), которую я имею (закомментируйте строки socks4):
socks5 127.0.0.1 9050
И это точно такая же команда nmap, которую я запустил только что (займет 5 минут для выполнения). Обратите внимание, что sudo
идет после команды proxychains4
.
❯ proxychains4 sudo nmap -T4 -sV -Pn -A --reason -v scanme.nmap.org
[proxychains] файл конфигурации найден: /etc/proxychains4.conf
[proxychains] предварительная загрузка /usr/lib/x86_64-linux-gnu/libproxychains.so.4
Запуск Nmap 7.80 ( https://nmap.org ) в 2022-01-09 00:08 AEDT
NSE: Загружено 151 скриптов для сканирования.
NSE: Предварительное сканирование скриптов.
Инициация NSE в 00:08
Завершено NSE в 00:08, 0.00s прошло
Инициация NSE в 00:08
Завершено NSE в 00:08, 0.00s прошло
Инициация NSE в 00:08
Завершено NSE в 00:08, 0.00s прошло
Инициация параллельного разрешения DNS для 1 хоста. в 00:08
Завершено параллельное разрешение DNS для 1 хоста. в 00:08, 0.52s прошло
Инициация SYN Stealth Scan в 00:08
Сканирование scanme.nmap.org (45.33.32.156) [1000 портов]
Обнаружен открытый порт 80/tcp на 45.33.32.156
Обнаружен открытый порт 443/tcp на 45.33.32.156
Обнаружен открытый порт 8080/tcp на 45.33.32.156
Обнаружен открытый порт 5060/tcp на 45.33.32.156
Обнаружен открытый порт 22/tcp на 45.33.32.156
Обнаружен открытый порт 31337/tcp на 45.33.32.156
Обнаружен открытый порт 9929/tcp на 45.33.32.156
Завершено SYN Stealth Scan в 00:08, 2.82s прошло (всего 1000 портов)
Инициация сканирования службы в 00:08
Сканирование 7 служб на scanme.nmap.org (45.33.32.156)
Тактики сканирования службы: Примерно 71.43% выполнено; ETC: 00:11 (оставшиеся 0:00:44)
Завершено сканирование службы в 00:10, 117.24s прошло (7 служб на 1 хост)
Инициация определения ОС (попытка #1) против scanme.nmap.org (45.33.32.156)
Повторная попытка определения ОС (попытка #2) против scanme.nmap.org (45.33.32.156)
Инициация трассировки в 00:10
Завершено трассирование в 00:10, 3.19s прошло
Инициация параллельного разрешения DNS для 11 хостов. в 00:10
Завершено параллельное разрешение DNS для 11 хостов. в 00:10, 1.13s прошло
NSE: Сканирование скрипта 45.33.32.156.
Инициация NSE в 00:10
Завершено NSE в 00:11, 48.07s прошло
Инициация NSE в 00:11
Завершено NSE в 00:12, 60.07s прошло
Инициация NSE в 00:12
Завершено NSE в 00:12, 0.00s прошло
Отчет сканирования Nmap для scanme.nmap.org (45.33.32.156)
Хост активен, получил установленные пользователем (латентность 0.21s).
Другие адреса для scanme.nmap.org (не сканировались): 2600:3c01::f03c:91ff:fe18:bb2f
Не показано: 992 закрытых портов
Причина: 992 сбросов
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack ttl 52 OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; протокол 2.0)
| ssh-hostkey:
| 1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA)
| 2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA)
| 256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA)
|_ 256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519)
25/tcp filtered smtp no-response
80/tcp open http syn-ack ttl 64 Apache httpd 2.4.7 ((Ubuntu))
|_http-favicon: Неизвестный фавикон MD5: 156515DA3C0F7DC6B2493BD5CE43F795
| http-methods:
|_ Поддерживаемые методы: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Продолжайте и сканируйте меня!
443/tcp open tcpwrapped syn-ack ttl 64
5060/tcp open tcpwrapped syn-ack ttl 64
8080/tcp open tcpwrapped syn-ack ttl 64
9929/tcp open nping-echo syn-ack ttl 53 Nping echo
31337/tcp open tcpwrapped syn-ack ttl 52
Агрессивные предположения ОС: HP P2000 G3 NAS устройство (93%), Linux 2.6.32 (92%), Linux 2.6.32 - 3.1 (92%), Ubiquiti AirMax NanoStation WAP (Linux 2.6.32) (92%), Linux 3.7 (92%), Linux 2.6.32 - 3.13 (92%), Linux 3.0 - 3.2 (92%), Linux 3.3 (92%), Infomir MAG-250 IPTV (91%), Linux 3.1 (91%)
Нет точных совпадений ОС для хоста (условия теста не идеальны).
Оценка времени работы: 11.213 дней (с 28 декабря 2021 года 19:06:04)
Сетевое расстояние: 12 прыжков
Прогнозирование последовательности TCP: Сложность=256 (Удачи!)
Генерация последовательности идентификаторов IP: все нули
Информация о службе: ОС: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (используя порт 199/tcp)
HOP RTT ADDRESS
1 ...
2 70.32 ms ЗАСЕКРЕЧЕНО
3 171.80 ms ЗАСЕКРЕЧЕНО
4 171.83 ms ЗАСЕКРЕЧЕНО
5 251.96 ms ЗАСЕКРЕЧЕНО
6 252.09 ms ЗАСЕКРЕЧЕНО
7 252.11 ms ЗАСЕКРЕЧЕНО
8 252.13 ms ЗАСЕКРЕЧЕНО
9 252.15 ms ЗАСЕКРЕЧЕНО
10 252.20 ms 38.142.11.154
11 252.22 ms if-1-4.csw5-fnc1.linode.com (173.230.159.81)
12 252.25 ms scanme.nmap.org (45.33.32.156)
NSE: Сканирование скриптов по завершению.
Инициация NSE в 00:12
Завершено NSE в 00:12, 0.00s прошло
Инициация NSE в 00:12
Завершено NSE в 00:12, 0.00s прошло
Инициация NSE в 00:12
Завершено NSE в 00:12, 0.00s прошло
Чтение данных из файлов: /usr/bin/../share/nmap
Определение ОС и услуг выполнено. Пожалуйста, сообщите о любых некорректных результатах на https://nmap.org/submit/ .
Nmap завершено: 1 IP-адрес (1 хост активен) просканирован за 240.81 секунд
Отправлено сырых пакетов: 1234 (56.044KB) | Получено: 1078 (45.547KB)
Ответ или решение
Как использовать Nmap и разрешение DNS через прокси?
Использование Nmap с прокси может быть непростой задачей, особенно когда дело касается разрешения DNS. В этой статье мы рассмотрим различные методы, которые могут помочь осуществить сканирование с использованием Nmap и проясним, каким образом можно настроить разрешение DNS через прокси-сервер.
Проблема проксирования Nmap и разрешения DNS
Используя proxychains
, вы можете направлять весь трафик Nmap через прокси-сервера. Однако, как вы заметили, возникают трудности с проксированием DNS-запросов. Эта проблема известна и может затруднить процесс сканирования, так как по умолчанию Nmap использует локальные DNS-серверы, которые, вероятно, недоступны для общедоступного интернета.
Для обеспечения корректного использования Nmap через прокси необходимо внимательнее отнестись к настройкам и параметрам команды.
Решение: Передача DNS через прокси
Существует способ отправки DNS-запросов через указанный вами SOCKS-прокси, если вы правильно настроите параметры Nmap:
-
Конфигурация прокси:
Убедитесь, что ваш прокси настроен правильно. Например, если вы используете Tor, убедитесь, что Tor работает на локальном порту, таком как127.0.0.1:9050
. -
Команда Nmap:
Используйте следующую команду для выполнения сканирования с использованием прокси и внешнего DNS-сервера (например, Google DNS):sudo nmap --proxy socks4://127.0.0.1:9050 --dns-servers 8.8.8.8 -T4 -sV -Pn -A --reason -v scanme.nmap.org
В данном случае
--dns-servers 8.8.8.8
указывает Nmap использовать DNS-сервер Google вместо локального. Это позволяет избежать проблем с недоступными DNS-серверами. -
Использование ProxyChains:
Если вы предпочитаете использоватьproxychains
, важно настроить конфигурационный файл/etc/proxychains4.conf
. Убедитесь, что у вас правильно прописан SOCKS-прокси:socks5 127.0.0.1 9050
После этого используйте
proxychains
, чтобы запустить Nmap:proxychains4 sudo nmap -T4 -sV -Pn -A --reason -v scanme.nmap.org
Следует отметить, что использование
proxychains
может приводить к более длительному времени выполнения сканирования, так как он обычно обрабатывает запросы последовательно.
Заключение
Комбинируя правильные параметры Nmap и прокси, вы сможете успешно сканировать удаленные хосты, используя анонимность и преимущества проксирования. Настройка разрешения DNS через прокси может показаться сложной задачей, но, следуя указанным шагам, вы сможете это сделать эффективно. Всегда необходимо помнить о соответствии законодательству и этическим нормам при выполнении сетевых сканирований.
Пробуйте предложенные методы и выбирайте тот, который лучше всего соответствует вашим требованиям и условиям работы.