Расширенные параметры сканирования для оценки сети
Теперь, когда мы понимаем основы Nmap и способы сканирования нескольких целей, давайте рассмотрим некоторые расширенные параметры сканирования, которые особенно полезны для оценки кибербезопасности.
Выбор портов и типы сканирования
По умолчанию Nmap сканирует наиболее распространенные 1000 TCP-портов. Однако вы можете настроить, какие порты сканировать.
Сканирование конкретных портов
Для сканирования конкретных портов:
nmap -p 22,80,443 localhost
Эта команда сканирует только порты 22, 80 и 443.
Для сканирования диапазона портов:
nmap -p 20-25 localhost
Это сканирует порты с 20 по 25.
Для сканирования всех 65535 TCP-портов:
nmap -p- localhost
Обратите внимание, что сканирование всех портов занимает значительно больше времени.
Использование различных типов сканирования
Nmap поддерживает различные методы сканирования. По умолчанию используется TCP SYN scan (-sS), но для этого требуются права root. Без прав root Nmap использует TCP connect scan (-sT).
Давайте попробуем TCP connect scan явно:
nmap -sT localhost
Для более скрытного сканирования (требуются права root):
sudo nmap -sS localhost
Для сканирования UDP-портов (что часто упускается из виду, но важно для безопасности):
sudo nmap -sU -p 53,161,162 localhost
Это сканирует UDP-порты 53 (DNS), 161 и 162 (SNMP).
Обнаружение ОС и сканирование версий
Для получения более полной информации давайте объединим обнаружение ОС и сканирование версий сервисов:
sudo nmap -sS -O -sV localhost
Опция -O пытается идентифицировать операционную систему (ОС) цели. Это предоставляет ценную информацию для оценки безопасности, поскольку разные операционные системы могут иметь разные уязвимости.
Давайте разберем, что делает каждая опция:
-sS: Выполняет SYN scan (требуются права root)
-O: Пытается идентифицировать операционную систему цели
-sV: Зондирует открытые порты для определения информации о сервисе/версии
Вывод будет включать подробную информацию об операционной системе и версиях сервисов, работающих на цели.
Использование скриптов Nmap
Nmap включает в себя мощный Nmap Scripting Engine (NSE), который может выполнять широкий спектр задач, от расширенного обнаружения сервисов до сканирования уязвимостей.
Давайте запустим базовый скрипт, который проверяет наличие общедоступных сервисов:
nmap --script=default localhost
Для более ориентированного на безопасность сканирования:
nmap --script=vuln localhost
Это запускает скрипты обнаружения уязвимостей против цели, которые могут выявить распространенные проблемы безопасности.
Параметры времени и производительности
При сканировании нескольких целей оптимизация производительности сканирования становится решающей. Мы уже видели опцию -T, но доступны более детальные элементы управления.
nmap -T4 --max-rtt-timeout 200ms --min-rate 1000 127.0.0.1/24
Эта команда:
- Использует «агрессивный» шаблон времени (
-T4)
- Устанавливает максимальное время ожидания round-trip (RTT) в 200 мс
- Устанавливает минимальную скорость 1000 пакетов в секунду
Эти настройки могут значительно ускорить сканирование нескольких хостов, хотя они могут быть менее надежными в перегруженных или высоколатентных сетях.
Объединение всего для комплексного сканирования
Давайте объединим несколько методов для комплексного сканирования нашей локальной сети:
sudo nmap -sS -sV -O -p 1-1000 --script=default -T4 -oA comprehensive_scan 127.0.0.1
Эта команда выполняет:
- SYN scan
- Обнаружение версии сервиса
- Обнаружение ОС
- Сканирует порты 1-1000
- Запускает скрипты по умолчанию
- Использует агрессивное время
- Сохраняет результаты во всех форматах с префиксом "comprehensive_scan"
Давайте рассмотрим результаты:
cat comprehensive_scan.nmap
Это комплексное сканирование предоставляет массу информации о целевой системе, включая открытые порты, работающие сервисы, версии сервисов и потенциальные уязвимости.
Этические соображения и лучшие практики
Прежде чем завершить, важно подчеркнуть, что Nmap следует использовать только в сетях, где у вас есть явное разрешение на сканирование. Несанкционированное сканирование может быть незаконным и может восприниматься как враждебное действие.
Некоторые лучшие практики, которым следует следовать:
- Всегда получайте разрешение перед сканированием любой сети или системы
- Используйте менее агрессивные сканирования, когда это возможно, чтобы минимизировать влияние на сеть
- Помните о возможности ложных срабатываний и ложных отрицательных результатов
- Документируйте свою деятельность по сканированию для справки и подотчетности
- Уважайте конфиденциальность и конфиденциальность обнаруженной информации