Найти в Дзене
Немного из мира ИБ

Как использовать 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), брандмауэры и другие защитные меры.

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

-2