Как использовать Nmap для сканирования уязвимостей?

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

Механизм сценариев Nmap (NSE) Скрипт — одна из самых популярных и мощных возможностей Nmap. Эти сценарии сканирования уязвимостей Nmap используются пентестерами и хакерами для изучения широко известных уязвимостей.

Common Vulnerabilities and Exposures (CVE) — это база данных общедоступных проблем безопасности данных. Он служит эталонной моделью для обнаружения уязвимостей и угроз, связанных с безопасностью информационных систем.

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

Давайте начнем!

Установка Nmap

Nmap предустановлен почти в каждом дистрибутиве Linux. Если он отсутствует, вам необходимо установить его вручную. Его можно легко установить с помощью следующей команды.

apt-get install nmap

И вы также можете установить его, клонировав официальную git-репозиторий.

git clone https://github.com/nmap/nmap.git

Затем перейдите в этот каталог и установите требования, используя приведенные ниже команды.

./configure
make
make install

Доступна самая последняя версия этого программного обеспечения, а также бинарные установщики для Windows, macOS и Linux (RPM). здесь.

Сканирование уязвимостей с помощью Nmap

Nmap-vulners, vulscan и vuln — самые распространенные и самые популярные скрипты обнаружения CVE в поисковой системе Nmap. Эти сценарии позволяют обнаружить важную информацию о недостатках безопасности системы.

Nmap-уязвимости

Одним из самых известных сканеров уязвимостей является Nmap-уязвимости. Давайте посмотрим, как настроить этот инструмент, а также как запустить базовое сканирование CVE. Механизм сценариев Nmap ищет ответы HTTP, чтобы идентифицировать CPE для данного сценария.

Монтаж

Чтобы установить сценарий Nmap-vulners, перейдите в каталог сценариев Nmap, используя следующую команду.

cd /usr/share/nmap/scripts/

Следующий шаг — клонировать репозиторий git.

git clone https://github.com/vulnersCom/nmap-vulners.git

После клонирования репозитория git вам больше ничего не нужно делать для настройки. Инструмент будет автоматически установлен.

И если вы хотите увидеть скрипты NSE, присутствующие в базе данных Nmap-vulners, используйте команду ls. Он отобразит все сценарии расширения .nse на терминале.

Применение

Скрипты NSE легко использовать. Просто передайте аргумент -script нашей команде Nmap, чтобы указать, какой сценарий NSE использовать.

nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>

Не забудьте передать аргумент «-sV» при использовании скриптов NSE. Nmap-vulners не сможет получить доступ к базе данных эксплойтов Vulners, если не получит информацию о версии от Nmap. Таким образом, параметр -sV требуется все время.

Пример команды

Синтаксис довольно прост. Просто вызовите скрипт с параметром «–script» и укажите механизм уязвимостей и цель, чтобы начать сканирование.

nmap -sV --script nmap-vulners/ <target>

Если вы хотите сканировать какие-либо определенные порты, просто добавьте параметр «-p» в конец команды и передайте номер порта, который вы хотите сканировать.

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap — уязвимость

Сценарии NSE классифицируются в соответствии с набором предопределенных категорий, к которым принадлежит каждый сценарий. Аутентификация, широковещательная рассылка, перебор, навязчивые, вредоносное ПО, безопасность, версия и уязвимость — вот некоторые из категорий. Вы можете найти все типы категорий сценариев NSE и их фазы. здесь.

Скрипты, относящиеся к категории «уязвимости», ищут конкретные известные уязвимости и сообщают только в том случае, если таковые обнаружены в целевой системе.

nmap -sV --script vuln <target>

Nmap-вулскан

Вулскан — это сценарий NSE, который помогает Nmap обнаруживать уязвимости в целях на основе обнаружения служб и версий. vulscan похож на модуль для Nmap, который превращает его в сканер уязвимостей. Опция Nmap -sV позволяет определить версию каждой службы, которая используется для выявления потенциальных эксплойтов для обнаруженных уязвимостей в системе.

В настоящее время доступны следующие предустановленные базы данных:

  • эксплуатируемыйb.csv
  • osvdb.csv
  • securitytracker.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • securityfocus.csv
  • cve.csv

Монтаж

Чтобы установить Vulscan, сначала перейдите в каталог сценариев Nmap, используя следующую команду.

cd /usr/share/nmap/scripts/

Следующий шаг — клонировать репозиторий git и установить все требования.

git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan использует предварительно настроенные базы данных, сохраненные локально на нашем компьютере. Чтобы обновить базу данных, перейдите в каталог обновления. Введите следующую команду в терминал, чтобы перейти в каталог программы обновления.

cd vulscan/utilities/updater/

Затем измените права доступа к файлу, который будет запускаться в системе.

chmod +x updateFiles.sh

И, наконец, обновите базы данных эксплойтов с помощью приведенной ниже команды.

 ./updateFiles.sh

Применение

Давайте используем vulscan для сканирования уязвимостей Nmap. Скрипт vulscan NSE можно использовать так же, как и nmap-vulners.

nmap -sV --script vulscan <target>

По умолчанию Vulscan выполняет поиск во всех базах данных одновременно. Запрос информации с использованием всех баз данных занимает много времени. Используя параметр vulscandb, вы можете передавать только одну базу данных CVE за раз.

--script-args vulscandb=database_name

Пример команды

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

Сканирование отдельных уязвимостей

Индивидуальное сканирование уязвимостей также может выполняться с использованием определенных сценариев в каждой категории. Вот список всех 600+ Скрипты NSE и 139 Библиотеки NSE.

Примеры

  • http-csrf: этот сценарий обнаруживает уязвимости, связанные с подделкой межсайтовых запросов (CSRF).
nmap -sV --script http-csrf <target>
  • http-sherlock: намерен использовать уязвимость «shellshock» в веб-приложениях.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: без запуска DoS-атаки этот скрипт проверяет веб-сервер или целевую систему на уязвимость для выполнения DoS-атаки Slowloris.
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: VMWare ESX, ESXi и сервер протестированы на уязвимость обхода пути.
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: пытается получить /etc/passwd или boot.ini, чтобы узнать, уязвим ли веб-сервер для обхода каталогов.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: при отправке запроса HTTP/1.0 без заголовка узла эта проверка определяет, допускает ли веб-сервер утечку своего внутреннего IP-адреса.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: Обнаруживает серверы Ruby on Rails, уязвимые для DOS-атак и внедрения команд.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

И, наконец, вот список всех скриптов NSE, подпадающих под «вульнкатегория ».

Способна ли ваша система обнаруживать сканирование Nmap?

Разведка — это первый этап этического взлома и тестирования на проникновение. Хакеры используют фазу разведки, чтобы найти недостатки и лазейки в системе для атаки. Поэтому системы защиты должны иметь возможность их обнаруживать.

Вы будете получать оповещения, если используете инструменты SIEM (Security Information and Event Management), брандмауэры и другие защитные меры. А вот список лучших инструментов SIEM для защиты вашего бизнеса и организации от кибератак. Эти инструменты даже помогают регистрировать сканирование Nmap. Сканирование уязвимостей имеет смысл, поскольку раннее выявление может предотвратить повреждение систем в будущем.

Вывод

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

Вам также может быть интересно узнать список сканеров веб-безопасности с открытым исходным кодом для поиска уязвимостей.