- •Nmap — Утилита для исследования сети и сканер портов
- •Synopsis
- •Описание
- •Example 1. Типичный пример сканирования с помощью Nmap
- •Сводка опций
- •Основы сканирования портов
- •Различные приемы сканирования портов
- •Определение портов и порядка сканирования
- •Обнаружение служб и их версий
- •Определение ос
- •Скриптовый движок Nmap(nse - Nmap Scripting Engine)
- •Опции управления временем и производительностью
- •Обход Брандмауэров/ids
- •Вывод результатов
- •Различные опции
- •Взаимодействие во время выполнения
- •Примеры
- •Система определения версий служб в сетевом сканере Nmap
- •Примеры использования
- •Техническая реализация
- •Описание формата файла nmap-service-probes
- •База данных отпечатков служб
Примеры использования
Прежде чем перейти к описанию технической реализации нового метода, приведем несколько примеров, демонстрирующих примеры его использования. Для включения механизма определения версий необходимо указать опцию -sV в командной строке при запуске Nmap. Кроме этого, Вы можете использовать новую опцию '-A', которая включает механизм определения версий и определение ОС (-O). Пример результатов сканирования с использованием этой опции приведен ниже:
# nmap -A -T4 -F www.microsoft.com
Starting nmap 3.40PVT16 ( http://www.insecure.org/nmap/ ) at 2003-09-07 01:45 PDT
Interesting ports on 80.67.68.30: (The 1208 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 22/tcp open ssh Akamai-I SSH (protocol 1.5) 80/tcp open http AkamiGHost (Akamai's HTTP Acceleration/Mirror service) 443/tcp open ssl/http AkamiGHost (Akamai's HTTP Acceleration/Mirror service)
Device type: general purpose Running: Linux 2.1.X|2.2.X OS details: Linux 2.1.19 - 2.2.25 Uptime 22.924 days (since Fri Aug 15 03:34:27 2003)
Nmap run completed -- 1 IP address (1 host up) scanned in 19.223 seconds
Этот пример демонстрирует несколько весьма любопытных вещей. Прежде всего, мы с удивлением обнаруживаем, что сайт www.microsoft.com размещен на сервере с операционной системой Akami Linux. Что касается определения типов и версий служб – тоже масса интересного. Например, порт 443 определен как «ssl/http». Это означает, что подсистема определения служб вначале обнаружила наличие на этом порту протокола SSL, затем загрузила OpenSSL, повторно провела необходимые тесты через SSL и определила наличие веб-сервера AkamiGHost, спрятанного «за» SSL. Опция -T4 указывает Nmap использовать более агрессивную временную политику сканирования (с меньшими временными затратами), а опция -F включает режим сканирования только тех портов, которые перечислены в файле nmap-services.
А вот более длинный, но и более интересный пример:
./nmap -A -T4 localhost
Starting nmap 3.40PVT16 ( http://www.insecure.org/nmap/ ) at 2003-09-07 02:56 PDT
Interesting ports on felix (127.0.0.1): (The 1640 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 21/tcp open ftp WU-FTPD wu-2.6.1-20 22/tcp open ssh OpenSSH 3.1p1 (protocol 1.99) 53/tcp open domain ISC Bind 9.2.1 79/tcp open finger Linux fingerd 111/tcp open rpcbind 2 (rpc #100000) 443/tcp open ssl/http Apache httpd 2.0.39 ((Unix) mod_perl/1.99_04-dev [cut]) 515/tcp open printer 631/tcp open ipp CUPS 1.1 953/tcp open rndc? 5000/tcp open ssl/ftp WU-FTPD wu-2.6.1-20 5001/tcp open ssl/ssh OpenSSH 3.1p1 (protocol 1.99) 5002/tcp open ssl/domain ISC Bind 9.2.1 5003/tcp open ssl/finger Linux fingerd 6000/tcp open X11 (access denied) 8000/tcp open http-proxy Junkbuster webproxy 8080/tcp open http Apache httpd 2.0.39 ((Unix) mod_perl/1.99_04-dev [cut]) 8081/tcp open http Apache httpd 2.0.39 ((Unix) mod_perl/1.99_04-dev [cut])
Device type: general purpose Running: Linux 2.4.X|2.5.X OS details: Linux Kernel 2.4.0 - 2.5.20 Uptime 8.653 days (since Fri Aug 29 11:16:40 2003)
Nmap run completed -- 1 IP address (1 host up) scanned in 42.494 seconds
В этом примере видно, как Nmap использует методику лобовой атаки на службу RPC, причем использует ее весьма успешно, поскольку в результатах сканирования порта с номером 111 указано, что порт этот закреплен за rpcbind версии 2. На две строки ниже указан порт 515, а служба, использующая его, определена как «printer», однако колонка с описанием версии службы пуста. Это означает, что Nmap определил название службы, однако больше ничего определить не удалось. С другой стороны, тестирование порта 953 дало результат, указанный как «rndc?». Вопросительный знак говорит о том, что Nmap не смог определить названия службы при помощи подсистемы определения версий. Тем не менее, указана служба rndc, поскольку порт с номером 953 зарегистрирован на эту службу в файле nmap-services. К сожалению, ни один тест подсистемы определения версий не дал положительного результата от службы rndc. Если бы результаты были, то Nmap вывел бы «отпечаток» службы и URL, по которому его необходимо отправить на специальное исследование.
Стоит отметить, что некоторые службы предоставляют гораздо больше информации, нежели просто номер версии. В примере выше видно, что X11 не принимает входящих подключений, виден номер протокола SSH и номера версий модулей веб-сервера Apache (нам пришлось вырезать большую часть описаний этих модулей, чтобы статья не занимала много места).