Во второй статье о Kali Linux будет обсуждаться сетевой инструмент, известный как ‘nmap‘. Хотя nmap не является инструментом только для Kali, он является одним из самых полезных средств для сетевого маппинга в Kali.
Nmap, сокращение от Network Mapper, поддерживается Гордоном Лайоном (больше о г-не Лайоне здесь: http://insecure.org/fyodor/) и используется многими профессионалами в области безопасности по всему миру.
Эта утилита работает как в Linux, так и в Windows, и управляется с помощью командной строки (CLI). Однако для тех, кто несколько побаивается командной строки, есть замечательный графический интерфейс для nmap под названием zenmap.
Настоятельно рекомендуется изучить CLI-версию nmap, так как она обеспечивает гораздо большую гибкость по сравнению с графической версией zenmap.
Какова цель nmap? Отличный вопрос. Nmap позволяет администратору быстро и полностью узнать о системах в сети, отсюда и название, Network MAPper или nmap.
Nmap имеет возможность быстро определять активные хосты, а также сервисы, связанные с этим хостом. Функциональность Nmap можно еще расширить с помощью Nmap Scripting Engine, часто сокращенно обозначаемого как NSE.
Этот скриптовый движок позволяет администраторам быстро создавать скрипт, который можно использовать для определения существует ли вновь обнаруженная уязвимость в их сети. Множество скриптов были разработаны и включены в большинство установок nmap.
A word of caution – nmap is commonly used by people with both good and bad intentions. Extreme caution should be taken to ensure that you aren’t using nmap against systems that permission has not be explicitly provided in a written/legal agreement. Please use caution when using the nmap tool.
Требования к системе
- Kali Linux (nmap доступен в других операционных системах и функционирует аналогично данному руководству).
- Еще один компьютер и разрешение на сканирование этого компьютера с помощью nmap – это часто легко сделать с помощью программного обеспечения, такого как VirtualBox и создание виртуальной машины.
- Для хорошей машины для практики ознакомьтесь с Metasploitable 2
- Загрузите для MS2 Metasploitable2
- A valid working connection to a network or if using virtual machines, a valid internal network connection for the two machines.
Kali Linux – Работа с Nmap
Первый шаг к работе с nmap – войти в машину Kali Linux и, при необходимости, запустить графическую сессию (в первой статье этой серии установлен Kali Linux с рабочим окружением XFCE).
Во время установки установщик запросил пароль для пользователя ‘root‘, который потребуется для входа. После входа в машину Kali Linux с помощью команды ‘startx‘ можно запустить рабочее окружение XFCE – стоит отметить, что для запуска nmap не требуется рабочее окружение.
# startx

После входа в XFCE необходимо открыть окно терминала. Нажмите на фон рабочего стола, чтобы открылось меню. Навигация к терминалу выполняется следующим образом: Приложения -> Система -> ‘Xterm‘ или ‘UXterm‘ или ‘Корневой терминал‘.
Автор любит программу оболочки под названием ‘Terminator‘, но она может отсутствовать в стандартной установке Kali Linux. Все перечисленные программы оболочки подойдут для целей nmap.

После запуска терминала можно начать использовать nmap. В этом конкретном учебнике создана частная сеть с машиной Kali и машиной Metasploitable.
Это упростило и обеспечило безопасность, поскольку диапазон частных сетей гарантировал, что сканирование оставалось на безопасных машинах и предотвращало возможность компрометации уязвимой машины Metasploitable кем-то другим.
Как найти активные хосты в моей сети?
В этом примере обе машины находятся в частной сети 192.168.56.0 /24. У машины Kali IP-адрес 192.168.56.101, а у сканируемой машины Metasploitable IP-адрес 192.168.56.102.
Предположим, однако, что информация об IP-адресе недоступна. Быстрое сканирование nmap может помочь определить, что активно в конкретной сети. Это сканирование известно как “Простой список”, поэтому передается аргументы -sL
команде nmap.
# nmap -sL 192.168.56.0/24

К сожалению, это первоначальное сканирование не вернуло никаких активных хостов. Иногда это зависит от того, как определенные операционные системы обрабатывают сетевой трафик сканирования портов.
Найти и проверить все активные хосты в моей сети
Не беспокойтесь, однако, есть несколько хитростей, доступных в nmap, чтобы попытаться найти эти машины. Этот следующий трюк скажет nmap просто попробовать проверить все адреса в сети 192.168.56.0/24.
# nmap -sn 192.168.56.0/24

На этот раз nmap возвращает некоторые потенциальные хосты для сканирования! В этой команде -sn
отключает стандартное поведение nmap, пытающееся сканировать порты хоста, и просто пытается проверить доступность хоста через пинг.
Найти открытые порты на хостах
Давайте попробуем просканировать порты этих конкретных хостов с помощью nmap и посмотрим, что получится.
# nmap 192.168.56.1,100-102

Вау! На этот раз nmap наткнулся на настоящую золотую жилу. У этого конкретного хоста довольно много открытых сетевых портов.
Эти порты указывают на наличие какого-то службы прослушивания на этой конкретной машине. Помня о том, что IP-адрес 192.168.56.102 назначен уязвимой машине metasploitable, вот почему на этом хосте так много открытых портов.
Иметь столько открытых портов на большинстве машин крайне необычно, поэтому может быть разумной идеей ближе изучить эту машину. Администраторы могли бы отследить физическую машину в сети и посмотреть на машину на месте, но это было бы не так весело, особенно когда nmap может сделать это для нас намного быстрее!
Поиск служб, прослушивающих порты на хостах
Это следующее сканирование – это сканирование служб и часто используется для попытки определить, какая служба может прослушивать определенный порт на машине.
Nmap будет исследовать все открытые порты и попытается получить информацию о службах, работающих на каждом порту.
# nmap -sV 192.168.56.102

Обратите внимание, на этот раз nmap предоставил некоторые рекомендации относительно того, что, по мнению nmap, могло бы работать на этом конкретном порту (выделено в белом прямоугольнике). Кроме того, nmap также попытался определить информацию об операционной системе, работающей на этом компьютере, а также его хостнейм (и с большим успехом тоже!).
Прочтение этого вывода должно вызвать довольно много вопросов у администратора сети. Самая первая строка утверждает, что VSftpd версии 2.3.4 работает на этой машине! Это действительно старая версия VSftpd.
Поиск в ExploitDB выявил серьезную уязвимость еще в 2011 году для этой конкретной версии (ExploitDB ID – 17491).
Найти анонимные FTP-логины на хостах
Давайте попросим nmap пристально посмотреть на этот конкретный порт и посмотрим, что можно определить.
# nmap -sC 192.168.56.102 -p 21

С помощью этой команды nmapу было поручено выполнить свой стандартный скрипт (-sC) на порту FTP (-p 21) на хосте. Хотя это может быть проблемой, а может и не быть, nmap обнаружил, что разрешен анонимный FTP-вход на этом конкретном сервере.
Проверка уязвимостей на хостах
Это в сочетании с ранее полученными знаниями о том, что у VSftd есть старая уязвимость, должно вызвать определенную тревогу. Давайте посмотрим, есть ли у nmap какие-либо скрипты, которые пытаются проверить наличие уязвимости VSftpd.
# locate .nse | grep ftp

Обратите внимание, что у nmap уже есть готовый сценарий NSE для проблемы с задней дверью VSftpd! Давайте попробуем запустить этот сценарий против этого хоста и посмотрим, что произойдет, но сначала может быть важно знать, как использовать сценарий.
# nmap --script-help=ftp-vsftd-backdoor.nse

Читая этот опис, становится ясно, что этот сценарий можно использовать для попытки выяснить, уязвим ли этот конкретный компьютер для проблемы с ExploitDB, выявленной ранее.
Давайте запустим сценарий и посмотрим, что произойдет.
# nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21

О боже! Скрипт nmap вернул несколько опасных новостей. Этот компьютер, скорее всего, является хорошим кандидатом для серьезного расследования. Это не означает, что компьютер скомпрометирован и используется для ужасных/ужасных вещей, но это должно вызвать опасения у сетевых/безопасностных команд.
Nmap имеет возможность быть крайне выборочным и крайне тихим. Большая часть того, что было сделано до сих пор, пыталась сохранить сетевой трафик nmap на уровне умеренного шума, однако сканирование собственной сети таким образом может быть крайне времязатратным.
Nmap имеет возможность выполнять гораздо более агрессивное сканирование, которое часто дает много той же информации, но в одной команде вместо нескольких. Давайте посмотрим на вывод агрессивного сканирования (Обратите внимание — агрессивное сканирование может вызвать срабатывание системы обнаружения/предотвращения вторжений!).
# nmap -A 192.168.56.102

Обратите внимание, на этот раз nmap вернул много информации, которую он ранее возвращал о открытых портах, службах и конфигурациях, работающих на этой конкретной машине. Многие из этих сведений могут быть использованы для помощи в определении как защитить эту машину, а также для оценки того, какое программное обеспечение может быть на сети.
Это был всего лишь краткий, краткий список многих полезных вещей, которые можно найти с помощью nmap на хосте или сетевом сегменте. Рекомендуется настоятельно, чтобы люди продолжали экспериментировать с nmap контролируемым образом в сети, которая принадлежит лицу (Не практикуйте, сканируя другие субъекты!).
Существует официальное руководство по Сканированию сети Nmap автора Гордона Лайона, доступное на Amazon.

Source:
https://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/