Книга по Nmap на русском часть -7

Книга по Nmap на русском часть -7

Life-Hack

Оглавление

Часть 1

Преамбула

Сводка опций

Определение цели сканирования

Часть 2

Обнаружение хостов

Основы сканирования портов

Часть 3

Различные приемы сканирования портов

Определение портов и порядка сканирования

Часть 4

Обнаружение служб и их версий

Определение ОС

Часть 5

Скриптовый движок Nmap(NSE — Nmap Scripting Engine)

Опции управления временем и производительностью

Часть 6

Обход Брандмауэров/IDS

Вывод результатов

Часть 7

Различные опции

Взаимодействие во время выполнения

Примеры

Различные опции

В этой секции описываются некоторые важные (и не очень важные) опции, которые не подходят к другим категориям.

-6 (Включает IPv6 сканирование)

Начиная с 2002 года Nmap имеет поддержку протокола IPv6 для своих наиболее используемых функций. В частности, пинг сканирование (только TCP), выявление возможности установки соединения и определение версии имеют поддержку протокола IPv6. Синтаксис команд такой же как и обычный за исключением того, что вы добавляете опцию -6. Конечно же, вы должны использовать синтаксис IPv6, если вы указываете адрес, а не имя хоста. Адрес может выглядеть как 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, поэтому лучше использовать имена хостов. Вывод выглядит так же как и обычный, только на линии “интересных портов” будет IPv6 адрес.

Хотя протокол IPv6 еще не завоевал весь мир, в некоторых (обычно Азиатских) странах он используется интенсивно, и большинство современных операционных систем поддерживают его. Чтобы использовать Nmap с протоколом IPv6, и источник и цель сканирования должны быть настроены на работу с ним. Если ваш ISP (как большинство из них) не предоставляет вам IPv6 адрес, вы можете использовать широко распространенный и работающий с Nmap сервис Tunnel Brokers. Я использую бесплатный сервис на http://www.tunnelbroker.net. Другие подобные сервисы перечислены на Wikipedia.

-A (Опции агрессивного сканирования)

Этой опцией активируется набор агрессивных опций сканирования. Я еще не решил до конца, какие же опции будут использоваться. Сейчас этот набор включает определение ОС (-O), сканирование с целью определения версии (-sV), сканирование с использованием скриптов (-sC) и трассировку (—traceroute). Возможно в будущем будут добавлены другие функции. Целью является создание всестороннего набора опций сканирования, чтобы людям не надо было запоминать большое количество флагов. Тем не менее, т.к. сканирование с использованием скриптов с настройками по умолчанию расценивается как "назойливое", вам не следует использовать опцию -A для сканирования целевых сетей без разрешения. Эта опция активирует только возможности, но не устанавливает опции времени (timing) (такие как -T4) или опции вербального вывода (-v), которые вы, возможно, хотели бы использовать.

—datadir <имя_директории> (Определяет место расположения файлов Nmap)

Во время работы Nmap получает некоторые данные из файлов nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes и nmap-os-db. Если место расположение какого-либо из этих файлов было задано конкретно (используя опции —servicedb или —versiondb), то оно используется для этого файла. Далее Nmap ищет эти файлы в директории, заданной опцией —datadir (если задана). Если файлы не были найдены там, то Nmap ищет их в директории, определенной переменной окружения NMAPDIR . Далее идут ~/.nmap для реальных и действующих в данный момент UIDs (только POSIX системы) или расположение исполняемого файла Nmpa (только Win32), и далее /usr/local/share/nmap или /usr/share/nmap. В последнюю очередь Nmap будет искать эти файлы в текущей директории.

—servicedb <файл_служб> (Задает определенный файл служб)

Указывает Nmap использовать заданный файл служб вместо файла nmap-services, который поставляется вместе с Nmap. Использование этой опции также подразумевает использование опции быстрого сканирования (-F). Смотрите описание —datadir для более подробной информации о файлах данных Nmap.

—versiondb <файл_запросов_служб> (Задает определенный файл запросов для служб)

Указывает Nmap использовать заданный файл запросов для служб вместо файла nmap-service-probes, который поставляется вместе с Nmap. Смотрите описание —datadir для более подробной информации о файлах данных Nmap.

—send-eth (Использовать сырой уровень ethernet)

Указывает Nmap посылать пакеты с использование более низкого сырого уровня ethernet, а не с использованием более высокого уровня IP (сетевого). По умолчанию Nmap выбирает тот способ, который больше подоходит для используемой платформы. Сырые сокеты (уровень IP) в общем случае более эффективны для Unix машин, в то время как использование ethernet фреймов необходимо для операционных систем Windows, т.к. Microsoft отключила в них поддержку сырых сокетов. Nmap по-прежнему использует сырые IP пакеты на Unix не смотря на эту опцию, когда нет другого выбора (как в случае с не-ethernet соединениями).

—send-ip (Использовать сырой уровень IP)

Указывает Nmap посылать пакеты с использование сырых IP сокетов, а не с использованием более низкого уровня ethernet фреймов. Это дополнение к опции —send-eth описанной выше.

—privileged (Подразумевать, что у пользователя есть все привилегии)

Указывает Nmap, что у нее есть необходимые привилегии для использования сырых сокетов, пакетного сниффинга и сходных операций, которые обычно требуют привилегий пользователя root на Unix системах. По умолчанию Nmap завершает работу, если были запрошены такие опреации, но geteuid не нуль. Опцию —privileged хорошо использовать на системах с возможностями ядра Linux или подобных, которые могут быть сконфигурированы так, что непривилегированные пользовтели смогут осуществлять сканирование с использованием сырых сокетов. Удостоверьтесь, что эта опция указана перед любымими опциями требующими привилегий (сканирование SYN, определение ОС и т.д.). Переменная окурежния NMAP_PRIVILEGED может быть установлена как равнозначная альтернатива опции —privileged.

—unprivileged (Подразумевать, что у пользователя нет привилегий для использования сырых сокетов)

Эта опция противоположна —privileged. Указывает Nmap, что у пользователя нет привилегий для использования сырых сокетов и сниффинга. Полезна для тестирования, отладки или когда по какой-то причине на вашей системе не работае механизм сырых сокетов. Переменная окружения NMAP_UNPRIVILEGED может быть установлена как равнозначная альтернатива опции —unprivileged.

—release-memory (Освободить память перед завершением работы)

Эта опция полезна только во время отладки утечки памяти. Заставляет Nmap освободить занянутю память перед завершением работы, что облегчает задачу обнаружения действительной утечки памяти. В обычном режиме работы Nmap пропускает этот шаг, так ОС делает это самостоятельно при закрытии процесса.

—interactive (Запустить в интерактивном режиме)

Запускает Nmap в интерактивном режиме, который предлагает интерактивные подсказки Nmap, позволяющие запускать несколько процессов сканирования (параллельно или в фоне). Эта опция полезна для людей, которые запускают сканирование с многопользовательской системы, т.к. они часто хотят протестировать свою безопасность, при этом не давая узнать кому-либо другому в системе, что является целью их сканирования. Используйте опцию —interactive, для запуска этого режима, а затем нажмите h для справки. Эта опция используется редко, т.к. собственные командные оболочки более знакомы и содержат больше возможностей. Эта опция включает оператор (!) для запуска команд оболочки, что является одной из многих причин, почему не следует устанавливать Nmap setuid root. setuid root.

-V; —version (Вывести номер версии)

Выводит номер версии Nmap и завершает работу.

-h; —help (Вывести страницу помощи)

Выводит небольшую страницу помощи с наиболее часто используемыми командами и опциями. Запуск Nmap без аргументов приводит к такому же результату.

Взаимодействие во время выполнения

Во время работы Nmap, все нажатые клавиши фиксируются. Это позволяет вам взаимодействовать с программой не прерывая и не перезапуская ее. С помощью некоторых клавиш можно изменить опции сканирования, при использовании же других будут выведены сообщения о текущем статусе сканирования. Существует договоренность, что строчные буквы увеличивают количество выводимой информации, а прописные буквы уменьшают. Для справки можно нажать ‘?’.

v / V

Увеличить / уменьшить уровень вербальности

d / D

Увеличить / уменьшить отладочный уровень

p / P

Включить / выключить отслеживание пакетов

?

Вывести справку о взаимодействии во время выполнения

Что-либо другое

Выведет сообщение типа:

Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan

Service scan Timing: About 28.00% done; ETC: 16:18 (0:00:15 remaining)

Примеры

Здесь приведены несколько примеров использования Nmap, от самых простых до более изощренных. Некоторые реально существующие IP адреса и доменные имена использованны для того, чтобы сделать примеры более конкретными. На их место вы должны подставить адреса/имена из вашей собственной сети.. В то время как сканирование портов некоторой сети не является незаконным, некоторым администраторам сетей может не понравиться своевольное сканирование их сетей и они могут пожаловаться. Для начала постарайтесь получить разрешение.

В целях тестирования у вас есть разрешение сканировать scanme.nmap.org. Вы можете использовать сканирование с помощью Nmap, но не тестировать эксплоиты или производить атаки отказа в обслуживании. Для того чтобы не перегружать канал, пожалуйста, не производите более дюжины сканирований этого хоста в день. В случае злоупотребления этим свободным для сканирования хостом, он будет отключен и Nmap выдаст Failed to resolve given hostname/IP: scanme.nmap.org (не могу разрешить данное имя/IP: scanme.nmap.org). Все выше сказанное также относится и к хостам scanme2.nmap.org, scanme3.nmap.org, и так далее, несмотря на то, что эти хосты еще не существуют.

nmap -v scanme.nmap.org

Этой командой будут просканированы все TCP порты машины scanme.nmap.org . Опция -v активирует вербальный режим.

nmap -sS -O scanme.nmap.org/24

Этой командой будет произведено скрытное SYN сканирование всех 255 машин сети “класса C”, в которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий суперпользователя (root).

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

Запускает перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей адресного пространства 198.116 класса B. Также проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов открыт, то будет произведена попытка определения работающего с этим портом приложения.

nmap -v -iR 100000 -PN -p 80

Указывает Nmap выбрать случайным образом 100,000 хостов и просканировать их на наличие запущенных на них веб-серверов (порт 80). Перебор хостов отключен опцией -PN, т.к. посылка пары предварительных запросов с целью определения доступности хоста является нецелесообразной, когда вас интересует всего один порт на каждом хосте.

nmap -PN -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

Этой командой будут просканированы 4096 IP адресов (без предварительного пингования), а выходные данные будут сохранены в фомате XML и формате, удобном для просмотра утилитой grep (grepable формат). Источник