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

Мануал

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

Скрипты Nmap scripting engine (NSE) Script – одна из самых популярных и мощных возможностей Nmap.

Nmap-Vulners – скрипт NSE, использующий известную службу для предоставления информации об уязвимостях

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

Common Vulnerabilities and Exposures (CVE) – это база данных публично раскрытых проблем безопасности данных.

🦟 Топ-7 крупных баз уязвимостей для поиска и отслеживания новых

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

В этой статье мы рассмотрим, как использовать 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) доступны здесь:

https://nmap.org/download.html

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

Nmap-vulners, vulscan и vuln – это распространенные и наиболее популярные скрипты обнаружения CVE в системе Nmap.

Эти скрипты позволяют обнаружить важную информацию о недостатках безопасности системы.

Nmap-vulners

Одним из самых известных сканеров уязвимостей является Nmap-vulners.

Давайте рассмотрим, как настроить этот инструмент, а также как запустить базовое CVE-сканирование.

Nmap script engine выполняет поиск 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 необходим всегда.

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

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

Nmap – vuln

Скрипты NSE классифицируются в соответствии с набором заранее определенных категорий, к которым относится каждый скрипт.

Authentication, broadcast, brute force, intrusive, malware, safe, version, и vuln – вот некоторые из категорий.

Вы можете найти все типы категорий скриптов NSE и их фазы здесь.

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

nmap -sV --script vuln <target>

Nmap-vulscan

Vulscan – это скрипт NSE, который помогает Nmap обнаруживать уязвимости в целях на основе обнаружения сервисов и версий.

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

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

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

  • exploitdb.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 использует предварительно настроенные базы данных, сохраненные локально на нашем компьютере.

Чтобы обновить базу данных, перейдите в каталог updater.

Введите следующую команду в терминале, чтобы перейти в каталог updater.

cd vulscan/utilities/updater/
Затем измените права на запуск файла в системе.
chmod +x updateFiles.sh

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

 ./updateFiles.sh

Использование

Давайте воспользуемся vulscan для проведения сканирования уязвимостей Nmap.
NSE-скрипт vulscan можно использовать так же, как и 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 и Server проверяются на наличие уязвимости обхода пути
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 без заголовка Host, эта проверка определяет, раскрывает ли веб-сервер свой внутренний 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, которые относятся к категории “vuln“.

Разведка – это первый этап этичного хакерства и тестирования на проникновение.

Хакеры используют фазу разведки для поиска недостатков и лазеек в системе для атаки.

Поэтому системы защиты должны уметь их обнаруживать.

Вы будете получать предупреждения, если используете инструменты SIEM (Security Information and Event Management), брандмауэры и другие защитные меры.

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

Заключение

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

 

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