Как использовать Nmap для сканирования уязвимостей?
Опубликовано: 2022-04-07Nmap, или сетевой картограф, представляет собой набор инструментов для проверки функциональности и проникновения в сеть, включая сканирование портов и обнаружение уязвимостей.
Механизм сценариев 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-vulners. Давайте посмотрим, как настроить этот инструмент, а также как запустить базовое сканирование 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-вулскан
Vulscan — это сценарий 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 без заголовка 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».
Способна ли ваша система обнаруживать сканирование Nmap?
Разведка — это первый этап этического взлома и тестирования на проникновение. Хакеры используют фазу разведки, чтобы найти недостатки и лазейки в системе для атаки. Поэтому системы защиты должны иметь возможность их обнаруживать.
Вы будете получать оповещения, если используете инструменты SIEM (Security Information and Event Management), брандмауэры и другие защитные меры. А вот список лучших инструментов SIEM для защиты вашего бизнеса и организации от кибератак. Эти инструменты даже помогают регистрировать сканирование Nmap. Сканирование уязвимостей имеет смысл, поскольку раннее выявление может предотвратить повреждение систем в будущем.
Вывод
Я надеюсь, что вы нашли эту статью очень полезной для изучения того, как использовать Nmap для сканирования уязвимостей.
Вам также может быть интересно узнать список сканеров веб-безопасности с открытым исходным кодом для поиска уязвимостей.