Nmap для новичков: получите практический опыт сканирования портов

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

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

Как сканировать сети с помощью Nmap

Nmap может сканировать целые сети на предмет доступных хостов и открытых портов. Вы можете выбрать один из нескольких методов сканирования. Типы агрессивного сканирования предоставляют больше информации, но брандмауэры могут их помечать. С другой стороны, скрытое сканирование больше подходит для реальных сценариев.

 nmap -sT scanme.nmap.org

Это сканирование TCP-соединения. Эти типы сканирования завершают трехстороннее установление связи TCP с хостом. Однако это также позволяет хосту легко блокировать такое сканирование. Кроме того, они требуют больше времени для завершения.

SYN-сканирование, с другой стороны, не завершает всего трехстороннего рукопожатия. Таким образом, его сложнее заблокировать и быстрее, чем сканирование TCP-соединения.

 >nmap -sS scanme.nmap.org

Поскольку большая часть Интернета использует TCP, сканирование UDP выполняется реже. Однако вы можете использовать их для поиска служб DNS, SNMP и DHCP.

 nmap -sU scanme.nmap.org

Сканирование SCTP INIT – еще одна надежная функция nmap в Linux. Однако еще не все устройства используют этот протокол. Таким образом, поверхность наблюдения может быть короче. Тем не менее, это сканирование выполняется быстро, незаметно и точно.

 nmap -sY scanme.nmap.org

Как указать хосты с помощью Nmap в Linux

Nmap позволяет администраторам анализировать сети несколькими методами. Вы можете сканировать один IP-адрес, диапазон IP-адресов и выбранные IP-адреса.

 nmap -sS 192.168.1.1
nmap -sS 192.168.1.1/24
nmap -sS 192.168.1.1 192.168.1.101 192.168.1.201

Все эти сканирования nmap выполняются в локальной сети. Таким же образом можно сканировать удаленные сети.

Убедитесь, что у вас есть необходимые разрешения, если вы не хотите сталкиваться с юридическими проблемами. Мы рекомендуем создать виртуальную машину (ВМ) для тестирования этих команд nmap. Это одна из наиболее практичных причин использования виртуальной машины .

Как указать порты в Nmap

По умолчанию Nmap сканирует 1000 самых популярных портов. Однако они часто требуют больше времени и могут запускать брандмауэры или системы обнаружения вторжений. Мы можем указать удаленные порты, чтобы обойти эту проблему.

 nmap -sS -p 80,443 192.168.1.1
nmap -sS -p 21-25,80,139,8080 192.168.1.1

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

 nmap -sS -F 192.168.1.1

Параметр –top-ports позволяет администраторам указывать самые популярные порты. Это может быть полезно для крупномасштабной разведки.

 nmap -sS --top-ports 10 192.168.1.1

Как определить службы и информацию о версии

Nmap отлично подходит для поиска сервисов и информации об их версиях. Эти данные в большинстве случаев довольно точны. Вы можете добавить определение версии к вашему сканированию nmap, добавив параметр -sV .

 nmap -sS -sV -p 80,443 192.168.1.1

Nmap использует несколько методов для получения информации о версии. Вы можете контролировать операцию, используя параметр –version-density . Чем больше интенсивность, тем точнее результат. Однако они также занимают значительно больше времени.

 nmap -sS -sV --version-intensity 9 192.168.1.1

Вы также можете использовать nmap для определения версий ОС. Это очень полезно, поскольку вы сразу обнаруживаете устаревшие услуги.

 nmap -sS -O -p 80,443 192.168.1.1

Параметр –osscan-guess может предоставить немного больше информации в некоторых сценариях. Но это намного навязчивее.

 nmap -sS --osscan-guess 192.168.1.1

Вы также можете использовать параметр -A для включения определения версии и ОС вместе с traceroute.

 nmap -sS -A -p 80,443 192.168.1.1

Как использовать скрипты Nmap в Linux?

Скрипты Nmap сочетают в себе мощность и гибкость. Администраторы могут выбирать из множества сценариев NSE от сообщества или сами создавать собственные. Nmap классифицирует скрипты по умолчанию, чтобы упростить их использование.

 nmap --script=version 192.168.1.1

Скрипты Nmap написаны на Lua и хранятся в / usr / share / nmap / nselib / . Некоторые другие интересные сценарии NSE включают auth, vulns, exploit и brute. Вы можете использовать несколько сценариев, используя список, разделенный запятыми.

 nmap --script=version,auth 192.168.1.1

Добавление пробелов между запятыми прервет сканирование. Обязательно избегайте их. Вы также можете указать связанные сценарии, используя подстановочные знаки в стиле bash.

 nmap --script=http* 192.168.1.1

Вы всегда можете узнать больше о скрипте nmap, используя параметр –script-help .

 nmap --script-help "discovery"

Как контролировать время сканирования для Nmap в Linux

Nmap обеспечивает отличную производительность прямо из коробки. Однако вы также можете настроить время для достижения целей сканирования. Параметр -T позволяет нам установить шаблон времени от нуля до пяти. Более высокие значения указывают на более быстрое сканирование.

 nmap -sS -T 2 --top-ports 10 192.168.1.1

Пользователи также могут указать задержку между каждым зондом, отправленным Nmap. Вы можете использовать это для обхода брандмауэров . Задержка указывается в секундах.

 nmap -sS --scan-delay 1 --top-ports 10 192.168.1.1

Как обойти брандмауэры для сканирования Nmap?

Со времени выпуска Nmap технологии прошли долгий путь. Большинство современных межсетевых экранов могут обнаруживать сканирование портов и полностью блокировать исходный адрес. Nmap предлагает несколько методов обхода межсетевых экранов и IDS.

 nmap -sS -D 192.168.1.111 --top-ports 10 192.168.1.1

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

 nmap -sS -e wlp2s0 -S 192.168.1.111 --top-ports 10 192.168.1.1

Вы можете использовать опцию -S для подделки вашего IP-адреса. Однако вам нужно будет использовать параметр -e для подмены исходного адреса. В качестве аргумента он принимает имя интерфейса. Вы также можете подделать MAC-адрес.

 nmap -sS --spoof-mac 0 --top-ports 10 192.168.1.1

Если указать нулевое значение для –spoof-mac, Nmap будет генерировать случайный MAC- адрес для этого сеанса. Вы всегда можете использовать собственные адреса.

Как управлять выводом Nmap

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

 nmap -sS -p 80,443 -oN scan-output 192.168.1.1

Многие администраторы любят сохранять вывод в формате XML. Это упрощает анализ.

 nmap -sS -p 80,443 -oX scan-output 192.168.1.1

Мне лично нравится сохранять вывод в файл с возможностью поиска. Это упрощает анализ данных с помощью популярных инструментов Unix, таких как grep, cut и awk.

 nmap -sS -p 80,443 -oG scan-output 192.168.1.1

Анализируйте сетевые службы с помощью Nmap

Nmap упрощает обнаружение сети. Вы можете выбирать из множества методов сканирования для достижения различных целей. Кроме того, набор мощных сценариев NSE значительно упрощает поиск уязвимых служб.