Определение версий с использованием Nmap
На этом этапе мы узнаем о способностях Nmap определять версии программного обеспечения. Прежде чем приступить, разберемся, почему это важно. Определение операционной системы помогает нам понять, какую операционную систему использует целевая машина. Однако определение версий сосредотачивается на выявлении конкретных версий сервисов, работающих на открытых портах. Это крайне важно, так как многие уязвимости программного обеспечения связаны с определенными версиями. Зная точные версии сервисов, мы можем более точно определить потенциальные риски безопасности.
Понимание определения версий
Определение версий, также известное как определение сервисов, пытается ответить на несколько ключевых вопросов. Во - первых, оно стремится определить, какое приложение работает на открытом порту. Во - вторых, оно пытается узнать конкретную версию этого приложения. Иногда оно может даже выявить уровни патчей или другие дополнительные детали. Эта информация чрезвычайно ценна, так как многие уязвимости безопасности характерны для определенных версий программного обеспечения. Если мы точно знаем, какие версии программного обеспечения работают на цели, мы можем быстро определить потенциальные проблемы безопасности.
Выполнение определения версий
Теперь запустим сканирование для определения версий на нашем локальном сервере. Используем следующую команду:
sudo nmap -sV localhost -p 4444 > scan_results/version_scan.txt
Разберем эту команду. Опция -sV
включает определение версий. Это сообщает Nmap попытаться выяснить версии сервисов, работающих на целевых портах. localhost
- это наша цель, то есть мы сканируем наш собственный локальный компьютер. Опция -p 4444
указывает, что мы сканируем только порт 4444. Символ >
перенаправляет вывод сканирования в файл с именем version_scan.txt
в директории scan_results
. Таким образом, мы можем позже просмотреть результаты.
Анализ результатов определения версий
После выполнения сканирования рассмотрим результаты. Используем команду cat
для отображения содержимого файла:
cat scan_results/version_scan.txt
Вы должны увидеть вывод, похожий на следующий:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-10 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
PORT STATE SERVICE VERSION
4444/tcp open netcat?
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.29 seconds
Обратите внимание, что Nmap пытается определить, какой сервис работает на порту 4444. В этом случае мы используем netcat, который не предоставляет конкретной информации о версии. Вот почему Nmap показывает "netcat?" с вопросительным знаком, указывая, что он не уверен в точном сервисе и его версии.
Настройка интенсивности определения версий
Nmap позволяет вам контролировать, насколько интенсивным будет процесс определения версий. Для этого можно использовать опцию --version-intensity
. Уровень интенсивности может варьироваться от 0 (самое легкое сканирование) до 9 (самое агрессивное сканирование). Запустим более интенсивное сканирование:
sudo nmap -sV --version-intensity 7 localhost -p 4444 > scan_results/intensive_version_scan.txt
Такое сканирование с более высокой интенсивностью отправит больше запросов на цель. Оно будет более активно пытаться определить сервис, работающий на порту. Однако это также займет больше времени. Но плюс в том, что оно может дать более подробные результаты.
Проверим результаты этого интенсивного сканирования:
cat scan_results/intensive_version_scan.txt
Комбинирование определения версий и операционной системы
В реальных ситуациях вам часто понадобится информация как об операционной системе, так и о версиях сервисов на цели. Скомбинируем эти два метода сканирования с помощью следующей команды:
sudo nmap -sV -O localhost -p 4444 > scan_results/combined_scan.txt
Опция -sV
включает определение версий, а опция -O
включает определение операционной системы. Этот комбинированный подход дает вам комплексную информацию как об операционной системе, так и о сервисах, работающих на цели.
Проверим результаты этого комбинированного сканирования:
cat scan_results/combined_scan.txt
Теперь вывод содержит как информацию об операционной системе, так и о версиях сервисов. Это дает более полное представление о целевой системе, что необходимо для тщательной оценки безопасности.
Понимание как операционной системы, так и конкретных версий сервисов, работающих на цели, является важным для эффективного анализа безопасности. На следующем этапе мы рассмотрим, как использовать эти методы в практических сценариях.