Nmap, или network mapper, – это набор инструментов для функционального тестирования и тестирования на проникновение во всей сети, включая сканирование портов и обнаружение уязвимостей.
Скрипты Nmap scripting engine (NSE) Script – одна из самых популярных и мощных возможностей Nmap.
Эти скрипты сканирования уязвимостей 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), брандмауэры и другие защитные меры.
Сканирование уязвимостей имеет смысл, поскольку ранняя идентификация может предотвратить будущий ущерб для систем.