Новые возможности Nmap 5.00 – программы для исследования безопасности сетей::Журнал СА 9.2009
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1943
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1973
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1530
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1117
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1693
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Новые возможности Nmap 5.00 – программы для исследования безопасности сетей

Архив номеров / 2009 / Выпуск №9 (82) / Новые возможности Nmap 5.00 – программы для исследования безопасности сетей

Рубрика: Безопасность /  Безопасность

ИГОРЬ ШТОМПЕЛЬ, инженер, системный администратор. Сфера профессиональных интересов – GNU/Linux, функциональное программирование

Новые возможности Nmap 5.00 –
программы для исследования безопасности сетей

В июле была представлена пятая версия Nmap с большим количеством изменений. Поговорим о наиболее значимых из них.

Nmap 5.00 – первый стабильный после версии 4.76 и крупный выпуск с 2007 года. Как следует из официального заявления, «это наиболее значимый релиз с момента появления Nmap в 1997 году» [1]. Если перейти на язык цифр, то получается около 600 значительных изменений после выхода предыдущего крупного релиза 4.50.

Nmap (Network Mapper, сетевой картограф) – это программа, которая ориентирована на исследование и аудит безопасности сетей. Она представляет собой свободное программное обеспечение, лицензированное под GNU GPL v2. Nmap является кроссплатформенным и доступен для GNU/Linux, FreeBSD, OpenBSD, NetBSD, Sun Solaris, HP-UX, IRIX, Mac OS X, Amiga, Windows.

Несмотря на сегодняшнюю кроссплатформенность, первоначально Nmap разрабатывался для UNIX-систем. В основе его создания лежало недовольство возможностями и ограничениями существующих на тот момент сканеров безопасности (Julian Assange's Strobe, SATAN и другими). Гордону Лиону (Gordon Lyon), известному под ником Fyodor, хотелось иметь программу, которая обладала бы всеми необходимыми функциями. После ряда попыток модификации доступных сканеров он решился написать свою программу. Основная цель, которую преследовал разработчик, – создать быстрый сканер, поддерживающий все виды сканирования. После непродолжительного самостоятельного использования получившейся программы, Гордон Лион передал ее в журнал Phrack. Статья, вышедшая 1 сентября 1997 года в 51-м номере журнала и получившая название «The Art of Port Scanning» (Искусство сканирования портов), доступна по адресу http://www.phrack.org/issues.html?issue=51&id=11#article. А затем Nmap стал известной и успешной реализацией эффективного сканера безопасности сетей [2].

Установка Nmap 5.00

В используемый мной дистрибутив Ubuntu 9.04 включен Nmap 4.76. Поэтому я загрузил файл с исходными текстами программы версии 5.00 отсюда: http://nmap.org/dist/nmap-5.00.tar.bz2. Далее распаковал архив и установил Nmap:

./configure && make

sudo make install

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

Рисунок 1. Завершение установки Nmap 5.00

Рисунок 1. Завершение установки Nmap 5.00

Nmap 5.00 – наиболее значимые изменения

На официальном сайте программы выделены следующие наиболее значимые новшества этого релиза: включение в Nmap – Ncat, появление Ndiff, улучшение производительности, выпуск книги «Nmap Network Scanning» – официального руководства по работе с программой, усовершенствование работы Nmap Scripting Engine. Рассмотрим их подробнее.

Ncat – это утилита, предназначенная для чтения и записи данных по сети с использованием командной строки. Она впервые была интегрирована в Nmap версии 4.85 BETA 1. Программа специально разработана для проекта Nmap как усовершенствованный вариант Netcat (http://sectools.org/#netcat). Ncat позволяет создавать «цепочку» из нескольких программ Ncat для перенаправления портов TCP и UDP на порты или хосты. Кроме того, поддерживается работа по протоколу SSL, подключения через прокси (с проверкой подлинности) с использованием SOCKS4 или HTTP (метод CONNECT) [3].

Ncat может быть использована как TCP/UDP/SCTP/SSL-клиент для взаимодействия с веб-серверами, серверами Telnet, почтовыми серверами и другими сервисами на базе TCP/IP. Другими словами, Ncat позволяет определять ошибки, находить уязвимости в системе безопасности в работе различных сервисов. Программа может выполнять роль TCP/UDP/SCTP/SSL-сервера и позволяет захватывать каждый байт, посылаемый клиентами. Ncat имеет функциональность, позволяющую выступать в роли прокси-сервера и перенаправлять трафик между портами или хостами с использованием протоколов TCP/UDP/SCTP. Например, запустить HTTP-прокси-сервер на порту 8080 локальной машины можно так:

ncat -l --proxy-type http localhost 8080

Кроме того, имеется возможность шифрования данных соединений с использованием SSL (поверх IPv4 или Ipv6).

В новой версии Nmap за сравнение результатов сканирования отвечает программа Ndiff (http://nmap.org/ndiff). Она сравнивает два XML-файла и на выводе отображает различия между ними. Ndiff покажет, какие хосты стали доступны, а какие, наоборот, нет; какие порты стали открыты или закрыты. Синтаксис команды следующий:

ndiff [options] {a.xml} {b.xml}

options – опции программы, полный перечень которых можно получить, дав команду

man ndiff

a.xml и b.xml – первый и второй соответственно файлы с результатами сканирования для сравнения.

В качестве примера проведу сравнение двух файлов с результатами сканирования. Для этого запускаю Zenmap (после установки на моем компьютере в меню «Приложения -> Интернет» появились две команды Zenmap и Zenmap (as root) с правами суперпользователя. Последний представляет собой GUI для Nmap, поставляемый с программой и разрабатываемый с использованием языка Python. После запуска Zenmap провожу первое сканирование: в поле Target прописываю локальный петлевой интерфейс (127.0.0.1), в поле Profile выбираю Quick scan plus, затем нажимаю кнопку Scan. Полученный результат сохраняю в файл 01.xml (Scan -> Save Scan). Далее, как было описано, с использованием программы Ncat запускаю http-прокси на локальном порту 8080 и снова провожу сканирование. Результат сохраняю в файл с названием 02.xml. Для сравнения результатов сканирования выбираю команду из главного меню Zenmap Tools -> Compare Results. В поле A Scan открываю файл 01.xml, а в поле B Scan – файл 02.xml. Всё, программа автоматически осуществит сравнение файлов.

На рис. 2 видно, что произведено сравнение двух результатов сканирования. Для наглядности основные моменты или изменения первого сканирования подчеркиваются розовым цветом, а второго – светло-зеленым. На этом примере видно, что программа нашла различия – во время второго сканирования был открыт порт 8080 (8080/tcp open http-proxy – результат использования утилиты Ncat, упоминавшийся выше), а количество закрытых портов соответственно уменьшилось на один – 98.

Рисунок 2. Сравнение результатов сканирования с использованием Zenma

Рисунок 2. Сравнение результатов сканирования с использованием Zenmap

Еще одним новшеством стало увеличение производительности работы Nmap, а именно скорости сканирования. Была проведена работа по выявлению наиболее часто используемых портов путем сканирования десятков миллионов IP-адресов в Интернете. Теперь Nmap при сканировании по умолчанию обращается, как показано на рис. 3, к 1000 из них. Что значительно увеличивает скорость сканирования. Быстрое сканирование Nmap (с опцией -F) теперь проводится с обращением к 100 часто используемым портам. В Nmap 4.68, например, проводилось сканирование 1276 TCP-портов и 1017 UDP-портов.

Рисунок 3. Nmap сканирует по умолчанию

Рисунок 3. Nmap сканирует по умолчанию

Выпуск книги Nmap Network Scanning (http://nmap.org/book) разработчики также отнесли к значительным изменениям, сопровождающим выход Nmap 5.00. По их заявлениям, эта книга подойдет как новичкам, так и профессионалам в области сетевой безопасности (от основ сканирования до разработки специальных методов, в том числе изучение сети, администрирование, аудит безопасности и т.д.). Например, рассматриваются вопросы обхода брандмауэров и систем обнаружения, оптимизации производительности и автоматизации задач с использованием скриптов (о скриптах более подробно будет сказано ниже). В книге приведены все опции программы, примеры использования которых показаны во второй части. Более половины печатной версии доступно в онлайн-редакции издания по адресу http://nmap.org/book/toc.html. Интересно, что книга даже возглавляла списки продаж компьютерной литературы на Amazon (http://nmap.org/book/img/nns-top-seller-942x1024.png) [4].

 Заключительным, пятым, наиболее значительным изменением в Nmap версии 5.00 стало усовершенствование NSE (Nmap Scripting Engine, скриптовый движок Nmap). NSE – это один из самый мощных и гибких инструментов сканера безопасности. Он дает возможность писать скрипты с целью автоматизации большого круга сетевых задач. Разработчиками было произведено улучшение существующих сценариев (оптимизация работы и т.д.) и добавление 32 новых, а общее количество скриптов выросло почти на 50% – до 59. Все скрипты имеют хорошую документацию, которая находится по адресу http://nmap.org/nsedoc.

Рон Боуз расширил количество библиотек NSE, добавив еще шесть – smb, smbauth, netbios, msrpc, msrpcperformance и msrpctypes, а также 14 новых скриптов: p2p-conficker, smb-brute, smb-check-vulns, smb-enum-domains, smb-enum-processes, smb-enum-sessions, smb-enum-shares, smb-enum-users, smb-os-discovery, smb-pwdump, smb-security-mode, smb-server-stats, and smb‑system-info. Кроме того, стоит отметить, что благодаря двум из этих скриптов (smb-check-vulns и p2p-conficker) Nmap стал первым сканером, который удаленно обнаруживает червь Conficker.

Другие добавленные скрипты позволяют, например, подключаться к MySQL-серверу и выводить информацию о номере версии, статусе СУБД, возможностях и паролях (mysql-info); попытаться войти в учетную запись электронной почты (POP3) путем подбора имени пользователя и пароля (pop3-brute); получать информацию о возможностях POP3-сервера электронной почты (pop3-capabilities); проверить, уязвим ли веб-сервер для атак на получение доступа к /etc/passwd с применением методов обхода каталогов ../../../../etc/passwd (http‑passwd).

Новые возможности Zenmap

Zenmap представляет собой официальный графический front-end для Nmap. Например, он позволяет легко сохранять результаты сканирования в файл (как было показано выше), что для часто используемых типов сканирований значительно облегчает жизнь ИТ-специалиста.

Zenmap может выступать в роли графического вьюера результатов сканирования. Хотя название Nmap (Network Mapper) – сетевой картограф, он до сих пор не мог рисовать карту сети. Новая функция Zenmap позволяет создавать интерактивную анимационную визуализацию хостов в сети и соединений между ними. Источник на такой карте, с которого производится сканирование, всегда располагается в центре, а узлы – на концентрических кругах. Линии между узлами соответствуют обнаруженным связям.

Рассмотрю картографирование сети с использованием Zenmap подробнее. Запускаю программу и в поле Target набираю через пробел:

www.yandex.ru www.google.com www.mail.ru

Далее в поле Profile выбираю Quick traceroute. В итоге в поле Command получается такая команда:

nmap -sP -PE -PS22,25,80 -PA21,23,80,3389 -PU -PO --traceroute www.yandex.ru www.google.com www.mail.ru

Затем нажимаю кнопку Scan. Через несколько секунд Zenmap завершает выполнение команды, а я перехожу на вкладку Topology. Нажимаю кнопку Controls для управления отображением карты. В правой части окна программы отобразится боковая панель. Она позволяет сохранить изображение с сформированной картой (в формат .PDF, .PNG и другие), управлять элементами, отображаемыми на карте (IP-адрес, имя хоста, круги и т.д.), размером карты (Zoom) и растоянием между кругами (Ring gap). Далее я изменил параметр «Lower ring gap» (минимальное расстояние между кругами) для того, чтобы вся карта была на одном экране, и сохранил ее в файл, изображение из которого представлено на рис. 4. Кстати, щелкнув на любом хосте на карте, можно поместить его в центральный круг, а отображение остальной сети будет выстроено относительно этого хоста.

Рисунок 4. Zenmap в роли сетевого картографа

Рисунок 4. Zenmap в роли сетевого картографа

В Zenmap имеется функция агрегирования результатов сканирования, что дает возможность на одной карте представить несколько результатов сканирований. Например, если бы я проводил трассировку в приведенном выше примере сначала для www.yandex.ru, затем для www.google.com и www.mail.ru, то итоговый результат картографирования был такой же, как в указанном примере. Кроме того, переработан стандартный набор профилей сканирования с целью сделать его еще более удобным в работе. Если вдруг вам ни один из профилей не подойдет, можно с помощью редактора профилей (Profile -> Edit Selected Profile) создать свой. Также разработчики добавили в Zenmap функцию расширенного поиска по результатам сканирования. Так, можно найти предыдущий результат сканирования с помощью таких критериев, как: порты, которые были открыты; ключевые слова в имени операционной системы, выявленной в ходе сканирования. Для начала поиска надо нажать клавиши <Ctrl> + <F> или выбрать в меню команду Tools -> Search Scan Results.

***

На основании рассмотренного материала можно сделать вывод о том, что внесенные усовершенствования сделали Nmap еще более важным средством для исследования и обеспечения безопасности компьютерных сетей, которое значительно облегчает работу ИТ-специалистам, причем как начинающим, так и опытным. Большое количество изменений, улучшение производительности и развитие графического интерфейса Zenmap, а также свобода и кросплатформенность данного инструмента устанавливают высокую планку требований, которые будут предъявляться к подобным проектам.

  1. http://nmap.org/5/#changes.
  2. http://www.xakep.ru/post/20972/default.asp.
  3. http://nmap.org/ncat.
  4. http://nmap.org/book.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru