Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Nmap: Заключительный обзор

Оригинал: Advanced Nmap: A Recap
Автор(ы): Rajesh Deodhar
Дата публикации: 1 Мая 2011 г.
Перевод: А.Панин
Дата перевода: 3 октября 2012 г.

Эта финальная статья серии объединяет в себе краткий обзор тем, рассмотренных в предыдущих статьях (см. 1, 2, 3, 4, 5, 6 7), обзор функций, которые планируются в новых версиях, а также обзор новых инструментов от разработчиков Nmap.

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

Как и большинство утилит с открытым исходным кодом, Nmap распространяется на условиях лицензии GNU GPL (позволяющей свободное использование, модификацию и распространение). Интересующиеся пользователи могут скачать новейшую версию программы, предназначенную для их ОС и сразу же начать ее использовать. Все версии имеют одинаковый синтаксис командной строки и графический интерфейс; единственным различием является то, как пользователи понимают принцип работы программы и используют ее для исследования или аудита безопасности сети.

Понимание принципа работы различных параметров командной строки позволит вам использовать этот инструмент максимально эффективно. Например, во время демонстрации возможностей системы поддержки сценариев (Nmap Scripting Engine) на конференции Black Hat 2010, были выполнены следующие действия:

  1. Поиск работающей на неизвестном статическом IP-адресе веб-камеры.
  2. Подбор пары логин/пароль для получения доступа к этой камере.
  3. Просмотр транслируемого видео.

Действие, кажущееся невозможным, заняло менее 15 минут. Конечно же, очень нелегко достичь такой квалификации, но эффективно использовать Nmap в каждодневной работе не так уж и сложно.

Параметры командной строки Nmap

Если запустить nmap без параметров, будет выведен список всех возможных параметров командной строки. Их классификация приведена в таблице 1.

Таблица 1: Классификация параметров Nmap

Параметр Применение
Описание целей исследования Вы можете указать цель в различных интуитивно понятных формах: напрямую вписав доменное имя или IP-адрес; или задав начальный и конечный адреса для исследования диапазона адресов. Также возможно использование файла со списком IP-адресов при использовании параметра -iL. К тому же, можно исключить адрес из рассмотрения при помощи параметра --exclude<hostname(s)>.
Обнаружение узлов Из диапазона адресов для исследования, вам, скорее всего интересны лишь некоторые, в зависимости от целей исследования. Nmap предлагает ряд различных техник обнаружения узлов; самые важные из них:
  • -sL позволяет вывести список узлов для исследования, но само исследование не проводить.
  • -PS позволяет провести TCP SYN-исследование, отправляя SYN-сегменты исследуемому устройству по умолчанию на порт 80. Если в ответ приходит сегмент RST, то порт закрыт. Отсутствие ответа указывает на наличие фильтрации межсетевым экраном, а ACK-сегмент - на открытый порт.
  • Аналогично, параметры -PA (ACK-пинг), -PR (ARP-пинг), -PU (UDP-пинг) также доступны.
  • Параметр -n позволяет отключить разрешение доменных имен, что особенно полезно при исследовании внутренних сетей.
Типы исследования Nmap предоставляет ряд различных типов исследования: -sS для SYN-исследования; -sP для пинг-исследования; -sU для UDP-исследования; -b для FTP Bounce-исследования; и -sI для применения техники Idlescan с использованием зомби-узлов.
Описание портов По умолчанию Nmap исследует первые 1000 портов, на которых работает большинство служб. Параметр --top-ports n изменяет это значение на n. Параметр -F сокращает количество до 100 наиболее часто исследуемых портов. Еще один очень полезный параметр для случая, когда нужно исследовать только заданные пользователем порты: -p U:portnumbers T:portnumbers
Определение версий системных служб Когда службы работают на нестандартных портах, определение версии службы на определенном порту (-sV) позволяет определить тип службы. Для определения версий служб на всех портах используйте параметр --allports.
Исследование по сценарию Как сказано на сайте nmap.org, NSE - самая мощная и гибкая функция Nmap. Пользователи могут разрабатывать собственные сценарии на языке программирования Lua для автоматизации исследования. В комплекте поставки Nmap версии 5.50 уже находятся 177 готовых к использованию сценариев из таких категорий, как: обнаружение узлов, DoS-эксплоиты, определение версий и некоторых других. Некоторые сценарии могут привести к краху системы или увеличению потребления ресурсов на исследуемом узле.
Идентификация операционной системы Параметр -O проводит идентификацию операционной системы. В составе Nmap 5.50 2982 идентификатора ОС и 7319 идентификаторов версий различных ОС.
Временные политики Установка параметров времени - очень важная часть для эффективного процесса исследования сети, которой часто пренебрегают. Рассмотрим два варианта:
  • В случае исследования большого количества узлов, точная установка времени необходима. Например, исследование диапазона адресов класса B (до 65535 адресов) должно занять существенный промежуток времени. В этом случае возможно использовать следующие параметры: --min-rtt-timeout, --max-rtt-timeout и --host-timeout.
  • При исследовании устройств, оснащенных системами IDS/IPS, в заданный интервал времени возможно совершить только несколько запросов; параметр --scan-delay может быть использован в данном случае.
Межсетевые экраны, IDS, сокрытие адреса, спуфинг Параметр -f включает фрагментацию пакетов; -D ip_list устанавливает узлы-ловушки. -S ip_addresses подменяет исходный IP-адрес на перечисленные, а --source-port подменяет номера исходных портов.
Вывод Доступно три основных параметра: -oN для классического вывода, -oX для вывода в формат XML, -oG для вывода в формат, совместимый с утилитой grep. Параметр -oA разрешает вывод в трех перечисленных форматах одновременно. Одним из важных параметров также является подробность вывода. Во время исследования нажмите v для более подробного вывода сообщений или V (Shift+v) для менее подробного.
Разнообразные параметры Наиболее важным является параметр -6, позволяющий использовать протокол IPv6 при исследовании.

Nmap использует различные файлы для хранения настроек. Пользователи могут редактировать эти файлы для настройки параметров отдельных исследований.

Помимо исчерпывающего списка параметров, приведенного выше, существует несколько параметров, которые очень полезны при исследовании сетей.

Таблица 2: Полезные параметры Nmap

Параметр Описание
-sC --smb-users-enum
-sC --smb-shares-enum
Очень полезные параметры для исследовании сетей, в которых используется протокол SMB, выводящие список пользователей и список ресурсов, найденных в диапазоне адресов, соответственно.
-O Определяет операционную систему, в том числе и для различного сетевого оборудования.
-A Начинает стандартное исследование, включающее в себя идентификацию ОС.
-T4 Ускоряет исследование, особенно полезно для быстрого исследовании диапазона адресов.
-PN (или -P0) Полезно в случае блокировки ответа на пинг-запросы на некоторых узлах. Позволяет считать все узлы диапазона активными.

Другие инструменты

Команда разработчиков Nmap принимает участие в разработке различных дополнительных инструментов, некоторые из которых перечислены ниже:

  • ncrack - инструмент для обхода процесса аутентификации, работающий с протоколами RDP, SSH, HTTP, HTTPS, SMB, POP3, POP3S, FTP, telnet.
  • ncat - читает и записывает данные из командной строки, передавая их по сети (аналог netcat).
  • zenmap - графический интерфейс для Nmap.
  • ndiff - сравнивает файлы результатов исследований Nmap и показывает различия в них.
  • nping - инструмент для генерации пакетов, анализа ответов и анализа временных характеристик.
  • rainmap - сервис для проведения исследований, расположенный в сети.

На этом я завершаю серию статей о программе Nmap.