Искать
Вы превысили запрос на
0 знаков

21. Поиск сетевых уязвимостей с помощью Nmap

0
0
Не пройден
Автор статьи никого не призывает к правонарушениям и отказывается нести ответственность за ваши действия. Вся информация предоставлена исключительно в ознакомительных целях. Все действия происходят на виртуальных машинах и внутри локальной сети автора. Спасибо!
Инструменты

- Nmap

Кратко

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

- Скрипты для движка Nmap пишутся на языке программирования Lua.

- Опытные пользователи могут интегрировать возможности Nmap в свои скрипты на Python.

- Скриптовый движок Nmap (NSE) расширяет возможности инструмента, позволяя пользователям писать свои скрипты на Lua для автоматизации задач.

- Скрипты делятся на различные категории: version, intrusive, safe, malware, vuln, discovery, auth и default.

- Для использования скриптов применяются флаги -sC или --script, которые являются равнозначными.

- Скрипты Nmap хранятся в папке /usr/share/nmap/scripts/.

- В статье рассматриваются NSE скрипты категории vuln, Vulscan.nse и Vulners.nse, и сравниваются их возможности и недостатки.

Раздел поиска сетевых уязвимостей начнем с казалось бы простого сканера Nmap. Инструмент Nmap, помимо сканирования, предоставляет возможность поиска известных уязвимостей с помощью скриптового движка Nmap ([ссылка доступна авторизованным пользователям]). Скрипты для этого движка пишутся на языке программирования Lua. Более опытные пользователи могут интегрировать возможности Nmap в свои скрипты на Python (с помощью модуля [ссылка доступна авторизованным пользователям]). Одним словом, инструмент Nmap не такой простой, как мог показаться в уроке про сканирование.

В этом уроке познакомимся с NSE, категорией скриптов Vuln, скриптами Vulscan и Vulners. Так же постараемся сравнить способы поиска сетевых уязвимостей с помощью Nmap.

Знакомимся с NSE Nmap

Скриптовый движок Nmap (NSE) значительно расширяет возможности Nmap. Пользователи могут писать свои скрипты на языке Lua для автоматизации широкого круга задач и делиться ими с другими людьми. Скрипты делятся на следующие категории: version, intrusive, safe, malware, vuln, discovery, auth и default.

Для использования скриптов применяются флаги -sC или --script категории-скриптов|директория|имя_файла|all, которые являются равнозначными. В параметре флага скрипты можно перечислять через запятую, указывать директорию (содержащую нужные скрипты) или категорию.

Чтобы передать аргументы в NSE скрипт, используйте следующий флаг:

ПРИМЕР
 
--script-args имя1=значение1, имя2={имя3=значение3}, имя4=значение4
 

Если нужно вывести дополнительно все исходящие и входящие соединения: добавьте флаг --script-trace к основной команде.

Скрипты Nmap хранятся в папке /usr/share/nmap/scripts/:

ПРИМЕР
 
cd /usr/share/nmap/scripts/
ls
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Посмотрим исходный код скрипта для поиска одной из самых популярных и простых уязвимостей (все еще встречается) - EternalBlue.

ПРИМЕР
 
nano smb-vuln-ms17-010.nse
 

В комментариях можно найти примеры использования этого скрипта:

ПРИМЕР
 
nmap -p445 --script smb-vuln-ms17-010 <target>
 
ПРИМЕР
 
nmap -p445 --script vuln <target>
 

Для примера запустим все предустановленные скрипты категории vuln. Проверим службы на первых 1000 TCP портах:

ПРИМЕР
 
nmap -sV -p1-1000 --script vuln 192.168.56.22
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

На 80 порте крутится веб-сервер Microsoft IIS, на котором была найдена страница Default.aspx. Возможно, она уязвима к CSRF. Можно это проверить, но на этапе разведки и сканирования не стоит бросаться на первую встретившуюся (возможную) уязвимость. Необходимо продолжать собирать информацию.

Теперь разберемся с другими NSE скриптами.

Скрипт Vulscan.nse

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

С опцией -sV мы познакомились ранее. Эта опция позволяет определить версию службы при сканировании портов хоста. Использование скрипта Vulscan.nse совместно с опцией -sV позволяет определить потенциальные уязвимости.

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

Клонируем к себе на Kali Linux:

ПРИМЕР
 
git clone https://github.com/scipag/vulscan scipag_vulscan
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Делаем ссылку в папке со скриптами Nmap на репозиторий:

ПРИМЕР
 
sudo ln -s <code>pwd</code>/scipag_vulscan /usr/share/nmap/scripts/vulscan
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Чтобы проверить, перейдите в каталог /usr/share/nmap/scripts/ и найдите ее:

Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Чтобы использовать Vulscan, достаточно вызвать скрипт vulscan.nse. Сохраним результат в файл:

ПРИМЕР
 
nmap -sV --script=vulscan/vulscan.nse 192.168.56.22 -oA vul
 

В таком случае используются все базы данных. Чтобы просканировать по одной базе данных, используйте флаг --script-args. Он позволяет задать входные данные для скрипта:

ПРИМЕР
 
nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=cve.csv 192.168.56.22 -oA vul
 

Скрипт Vulners.nse

В Nmap встроен скрипт Vulners.nse, который работает так же, как и Vulscan.nse, но в отличии от последнего, отправляет запросы на удаленный сервер (vulners.com), чтобы узнать, есть ли известные уязвимости у обнаруженной службы. Это важно понимать при тестировании на проникновение.

ПРИМЕР
 
sudo nmap -sV --script=vulners.nse 192.168.56.22
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Дальше сравним рассмотренные NSE скрипты между собой.

Сравнение Vuln, Vulscan, Vulners

Во-первых, Vuln и Vulscan установлены по умолчанию в Nmap, а скрипт Vulners необходимо скачивать и устанавливать отдельно. Вряд ли это можно считать недостатком последнего.

Примечание

Vuln - категория, а не скрипт.

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

В-третьих, можно выделить положительную сторону Vulners: не требуется загрузка базы данных уязвимостей. Эта положительная сторона вытекает из предыдущего недостатка.

В-четвёртых, какому скрипту доверять больше всего?

Скрипту Vulners достаточно сложно доверять, так как проверка наличия уязвимости осуществляется на стороннем сервере. Для скрипта Vulscan вы можете вручную скачать базы и в теории проверить их.

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

Выводы

В этом уроке мы познакомились со скриптовым движком Nmap (NSE), где хранятся эти скрипты и как их запускать. Так же научились применять Nmap как сканер сетевых уязвимостей, используя скрипты Vuln, Vulscan и Vulners.

В следующем уроке научимся искать сетевые уязвимости с помощью инструмента CrackMapExec.

Тест

Две секундочки...
@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно