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 значительно упрощает поиск уязвимых служб.