Как просканировать цель с помощью Nmap?
Рассмотрим сегодня всем известный и старый как мир инструмент для исследования сети.
Для тестового сканирования рассмотрим инструмент Metasploitable. Образ с уже подготовленными уязвимостями.
Скачиваем образ по ссылке https://sourceforge.net/projects/metasploitable/ в формате zip и извлекаем из архива.
Открываем VMware Workstation Pro – > Open a Virtual Mashine и выбираем файл конфигурации виртуальной машины Metasploitable.vmdk после чего запускаем виртуальную машину.
После загрузки компонентов и приветствия вводим login: msfadmin, password: msfadmin.
Затем необходимо убедиться, что был получен ip-адрес командой ifconfig. Полученный ip в данном случае 192.168.57.128. В случае если ip не был получен Вы можете прописать статический ip в etc/network/interfaces
Откроем веб форму по полученному ip через IE
После необходимо скачать клиент Nmap и поставить на хостовую (другую виртуальную) машину. В нашем случае ставим на Windows 10. https://nmap.org/download.html. При установке выбираем необходимые компоненты и устанавливаем. Удобнее конечно использовать дистрибутив Kali Linux, где многие необходимые тулзы для целей сканирования уже в составе.
Для начала проведем сканирование на обнаружение цели, отправив эхо-запрос и получив эхо ответ с помощью утилиты ping. Просканируем всю подсеть с 24 маской c помощью команды:
nmap -sP 192.168.57.0/24
В результате как мы видим наш хост пингуется, остальные 2 значения с ip-адресом это виртуальный свитч Vmware. Бывают ситуации когда межсетевой экран блокирует icmp, брандмауэр windows по умолчанию это делает, поэтому рассмотрим сканирование с отправкой TCP пакетов на конкретный хост , для этого введем команду
nmap -PT 192.168.57.128 -sn
–sn – флаг о том, что не нужно сканировать порты исследуемой цели
Далее рассмотрим сканирование портов с помощью TCP. Стоит отметить, что порты бывают в 3 состояниях открытый, закрытый и фильтруемый. Результат о статусе портов достигается c помощью направления пакета в заголовке которого указан флаг SYN, если порт открыт, то в ответ от цели, в соответствии с 3-х этапным построением TCP соединения, возвращается пакет в заголовке которого установлены флаги SYN и ACK. Если же порт закрыт то в ответ направляется пакет TCP с установленным флагом RST, этот флаг указывает на то, что попытка установки соединения отвергнута целью. Если порт фильтруется то мы не получаем ответа. TCP сканирование может быть скрытым (когда реализуется только 2 из 3х этапов TCP соединения, и оно не логируется) и полное TCP соединение.
Запустим для начала скрытое TCP сканирование с помощью команды:
nmap -sS 192.168.57.128
По результатам увидим открытые TCP порты
Теперь проведем TCP сканирование с полным установлением соедниния, введя команду
nmap -sT 192.168.57.128
Результаты по открытым портам и их службам схожими. Видим много интересных для нас открытых протоколов и работающих на них служб
Чтобы посмотреть версию работающего на различных службах программного обеспечения введем
nmap 192.168.57.128 -sV
Сканирование с помощью UDP достигается отправкой запроса (response) на порты, если в ответ приходит ответ (response), то это означает, что порт открыт. Если же в ответ на запрос (в udp нет флагов) поступает ICMP ответ тип 3 код 3 (цель недоступна) , значит порт закрыт. Если ответ не получен то порт фильтруется.
nmap -sU 192.168.57.128
Еще один интересный вид сканирования -с использованием скриптового движка. Хоть nmap и классифицируется как сканер сети, он имеет в своем арсенале функционал по поиску уязвимостей. Чтобы воспользоваться им введем команду:
nmap -sC 192.168.57.128
По результатам мы видим, например разрешен анонимный вход по FTP, ssh ключи, smtp команды доступные на исследуемой машине и т.д.
Для сканирования “на все” необходимо ввести команду
nmap -A 192.168.57.128
Выполнение команды займет значительное время и оказывает значительную нагрузку на исследуемую цель.
После сбора информации о системе производится анализ и оценка