Невозможно быть этичным хакером и не уметь пользоваться сканером Nmap. В этой статье я покажу, как использовать Nmap для поиска уязвимостей. В начале мы рассмотрим, что из себя представляет скриптовый движок NSE, а потом подробно, шаг за шагом научимся использовать Nmap для сканирования уязвимостей и находить для этих уязвимостей эксплойты.
Еще по теме: Обзор лучших сканеров уязвимостей
Поиск уязвимостей с помощью Nmap
Nmap Scripting Engine (NSE) — одна из самых мощных функций Nmap. Она позволяет провести тестирование на проникновение, выполняя настраиваемое автоматизированное сканирование целевой системы или всей сети.
Ниже приведены категории скриптов в NSE:
- Auth: содержит скрипты, которые могут сканировать цель, для поиска возможности обхода аутентификации.
- Broadcast: содержит скрипты, которые используются для обнаружения хостов в сети.
- Brute: содержит скрипты, которые используются для выполнения некоторых типов атак методом брутфорс для получения несанкционированного доступа на удаленном сервере.
- Default: набор скриптов сканирования NSE по умолчанию.
- Discovery: скрипты для активного сбора информации о сетевых службах целевого хоста.
- «DoS»: эти скрипты могут реализовать атаку типа «отказ в обслуживании» (DoS).
- Exploit: скрипты для эксплуатации уязвимостей системы.
- External: категория скриптов передачи полученных данных на внешний ресурс для дальнейшей обработки.
- Fuzzer: скрипты для Фаззинга (обнаружения программных ошибок и уязвимостей в приложениях).
- Intrusive: скрипты с высокой степенью риска, которые могут привести к сбою системы и потере данных.
- Malware: эта категория содержит сценарии, которые могут определить, заражена ли цель вредоносным ПО.
- Safe: скрипты для безопасного использования.
- Version: скрипты для сбора информации о целевой системе.
- Vuln: скрипты для проверки определенных уязвимостей целевой системы.
Чтобы узнать больше о функциональности каждого скрипта, доступного в NSE, посетите официальный сайт.
В качестве стенда, буду использовать уязвимую виртуальную машину Metasploitable (см. также Установка Metasploitable в VirtualBox).
1 |
kali@kali:~$ nmap --script ftp-vsftpd-backdoor 172.30.1.26 |
Команда --script позволяет указать один сценарий, несколько сценариев или категорию сценариев.
Для примера, попробуем проверить уязвим ли обнаруженный на целевой машине ФТП-клиент vsFTPd версии 2.3.4. Для этого используем скрипт ftp-vsftpd-backdoor
Теперь, когда уязвимость обнаружена, следующим шагом будет поиск эксплойтов для эксплуатации найденной уязвимой версии FTP-клиента vsFTPd.
Для поиска экслплойтов можно использовать поисковую системы или специальные сайты для поиска эскплойтов. На следующем скрине результат поиска известных эксплойтов для vsFTPd 2.3.4:
Мы нашли эксплойт от Rapid7, создателя Metasploit. Перейдя по ссылке можно найти информацию о том, как эксплуатировать уязвимость с помощью Metasploit на Kali Linux. Вторая ссылка ведет на популярный среди хакеров ресурс Exploit-DB. Более подробно о нем, мы рассказывали в приведенной выше ссылке «Сайты для поиска эскплойтов».
Кроме того, в Kali Linux есть инструмент, известный как Searchsploit, который позволяет выполнять поиск эксплойтов в локальной, офлай-версии Exploit-DB на Kali Linux. На следующем снимке экрана показаны результаты поиска при использовании команды:
1 |
searchsploit |
Как показано на предыдущем снимке экрана, Searchsploit смог найти несколько эксплойтов из локальной офлайн-версии базы данных Exploit-DB. Обратите внимание, что есть определенная запись, указывающая на то, что в Metasploit уже есть модуль этого эксплойта.
На следующем скрине показан модуль эксплойта vsFTPd в Metasploit:
Этот эксплойт может использовать уязвимости системы безопасности, обнаруженные в любой системе на базе Linux, в которой работает vsFTPd версии 2.3.4.
Для получения информации об экслпойте vsFTPd, выполняем следующую команду Metasploit:
1 |
show info |
Если вы хотите выполнить все скрипты определенной категории, используйте команду:
Синтаксис:
1 |
--скрипт [название-категории] |
Команда:
1 |
kali@kali:~$ nmap --script vuln 172.30.1.26 |
Используя категорию Vuln, NSE будет использовать все скрипты для поиска уязвимостей в целевой системе. Как показано на следующем снимке экрана, на уязвимой виртуальной машине Metasploitable были обнаружены дополнительные уязвимости.
Итак, вы узнали, что такое скриптовый движок Nmap NSE и как с его помощью искать уязвимости. В следующей инструкции, вы узнаете, как установить и использовать инструмент для управления уязвимостями. Увидимся!
ПОЛЕЗНЫЕ ССЫЛКИ:
- Nmap: обнаружение хостов сети
- Nmap: скрытое сканирование хостов
- Сканер уязвимостей из Nmap с помощью Vulscan