Практическое руководство по Nmap (сканеру сетевой безопасности) в Kali Linux
Во второй статье о Kali Linux будет обсуждаться сетевой инструмент, известный как «nmap». Хотя nmap не является инструментом только для Kali, он является одним из самых полезных инструментов для картирования сетей в Kali.
- Руководство по установке Kali Linux для начинающих - Часть 1
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.
Слово предостережения - nmap часто используется людьми как с добрыми, так и с дурными намерениями. Следует проявлять крайнюю осторожность, чтобы убедиться, что вы не используете nmap против систем, на которые явно не предоставлено разрешение в письменном/юридическом соглашении. Пожалуйста, будьте осторожны при использовании инструмента nmap.
Системные требования
- Kali Linux (nmap доступен в других операционных системах и работает аналогично этому руководству).
Другой компьютер и разрешение на сканирование этого компьютера с помощью nmap - это часто легко сделать с помощью программного обеспечения, такого как VirtualBox, и создания виртуальной машины.
- Для хорошей машины для практики, пожалуйста, прочитайте о Metasploitable 2
- Скачать для MS2 Metasploitable2
Kali Linux - Работа с Nmap
Первым шагом при работе с nmap является вход в систему на машине Kali Linux и, если это необходимо, запуск графической сессии (В первой статье этой серии была установлена Kali Linux с графической средой XFCE).
Во время установки установщик запросил бы у пользователя пароль пользователя «root», который потребуется для входа. После входа в систему Kali Linux с помощью команды «startx» можно запустить рабочее окружение XFCE - стоит отметить, что nmap не требует рабочего окружения для выполнения.
# startx
После входа в XFCE необходимо открыть окно терминала. Щелкнув по фоновому изображению рабочего стола, появится меню. Переход к терминалу можно осуществить следующим образом: Приложения -> Система -> ‘Xterm‘ или ‘UXterm‘ или ‘Root Terminal‘.
Автор является поклонником программы оболочки под названием «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 попытаться опросить (ping) хост.
Найти открытые порты на хостах
Давайте попробуем с помощью 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 попытался определить информацию о операционной системе, работающей на этой машине, а также о её имени хоста (что тоже удалось сделать с большим успехом!).
Просмотр этого вывода должен вызвать довольно много вопросов у сетевого администратора. В самой первой строке утверждается, что на этой машине работает 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 Network Scanning, автором которого является Гордон Лайон, доступное на Amazon.











