Nmap - это набор инструментов для сканирования сетевой инфраструктуры веб-сервиса. Он может быть использован для проверки безопасности, для идентификации запущенных серверных приложений.
Установка nmap
В дистрибутивах Linux последняя версия nmap обычно установлена по умолчанию.
Установка на Windows 10
Перейдите по
ссылке загрузки nmap и загрузите последнюю стабильную версию. Дальше запустите nmap-7.80-setup.exe от имени администратора. Программа установки по умолчанию предложит установить все компоненты, галочки можно не снимать.
Запуск nmap на Windows
Запускать nmap можно как в режиме графического интерфейса, так и через командную строку.
Для запуска графической оболочки введите в строку поиска nmap и в результатах выберите nmap - Zenmap GUI.
Для дальнейшей работы вы можете вводить нужные команды в поле "Команда", а затем нажимать на кнопку Сканирование. Результаты сканирования в виде текстового отчета вы можете посмотреть в окне:
Для запуска командной строки введите "cmd" в строку поиска на панели инструментов. Нажмите Enter и затем откроется командная строка. Дальше прямо в нее можно вводить nmap команды.
Командная строка в Windows 10 c введенной командой nmap выглядит вот так:
Mac OS X
Нажмите "Command+Space" и введите "Терминал", после этого нажмите Enter. Дальше последнюю версию nmap можно установить через менеджер HomeBrew c помощью следующей команды, которую нужно ввести в терминале:
code:
brew install nmap
Для запуска nmap просто начинайте команду с nmap:
code:
nmap localhost
Устанавливаем скрипты
Также нам надо установить скрипт
nmap_vulners, который будет проводить проверку на то, содержатся ли уязвимости в ПО, которое мы используем. Для его установки нужно скачать
файлы скрипта и перенести файлы
http-vulners-regex.nse и
vulners.nse в
C:\Program Files (x86)\Nmap\scripts.
Если у вас Mac OS, то перенести файлы скрипта нужно в папку
/usr/local/Cellar/nmap//share/nmap/scripts/
Проверяем сетевую инфраструктуру при помощи nmap
Для начала запускаем сканирование своего сервера командой ниже, чтобы выяснить какие порты используются и для чего. Команда выглядит так (подставьте свой ip или домен). Команду нужно вводить в окне консоли, либо если вы используете Zenmap GUI, то в поле "Команда":
code:
nmap -sV -Pn -p- -T5 161.35.92.161
Параметр T5 отвечает за скорость анализа сервера. Скорость можно менять от T0 до T5, где T0 - очень медленная скорость анализа, а T5 - очень быстрая. Если вы не хотите сильно нагружать сервер, то используйте T2.
Параметр -p- означает, что мы будем проверять весь диапазон портов ('это займет около 10 минут) . Его можно убрать и тогда скрипт просканирует не все порты, а только 1000 первых (самые распространенные).
Ответ будет выглядеть примерно так:
Из отчета мы видим, что nmap отобразил нам порты (под колонкой PORT), которые активны. В данном случае у нас используются:
Цитата:
Порт 21 занят под FTP
Порт 22 занят под SSH.
Порт 80 прослушивается сервером Apache.
Порт 3306 используется MySQL
Теперь запускаем наш скрипт, который проверит уязвимости в нашем ПО на сервере. Для этого запускаем следующую команду с указанием портов, которые мы будем проверять. Вам нужно будет заменить список портов на свои.
code:
nmap -T5 -sV -Pn 161.35.92.161 --script=vulners.nse -p22,80,443,8080,8443,3306,20,21,23
Пример отчета. Ссылки на описание уязвимости идут после строки vulners (пример такой строки со ссылкой в отчете: CVE-2014-9278 4.0
https://vulners.com/cve/CVE-2014-9278):
Также можно записать результат анализа в файл:
code:
nmap -T5 -sV -Pn 161.35.92.161 --script=vulners.nse -p22,80,443,8080,8443,3306,20,21,23 > result.txt
Чтобы избавиться от подобных проблем, обычно достаточно обновить используемое ПО до последних версий, где уязвимости старых версий, как правило, уже исправлены.