Введение
Добро пожаловать в эту лабораторную работу по базовому сканированию уязвимостей с помощью Nmap. Nmap (Network Mapper) — это мощный инструмент с открытым исходным кодом, используемый сетевыми администраторами и специалистами по безопасности для обнаружения сетей и аудита безопасности. Он может определить, какие хосты доступны в сети, какие службы предлагают эти хосты, какие операционные системы они используют, и многое другое.
В этой лабораторной работе вы получите практический опыт работы с Nmap. Вы начнете с установки на систему Ubuntu, затем используете его для сканирования собственной машины (localhost), чтобы найти открытые порты, и, наконец, научитесь интерпретировать результаты сканирования для идентификации запущенных служб и их версий, что является первым шагом в оценке потенциальных уязвимостей.
Установка Nmap в Ubuntu 22.04
На этом шаге вы установите инструмент Nmap на вашу систему Ubuntu 22.04. Прежде чем использовать любое программное обеспечение, вы должны убедиться, что оно установлено. Мы будем использовать менеджер пакетов apt, который является стандартом для дистрибутивов Linux на основе Debian, таких как Ubuntu.
Сначала рекомендуется обновить список пакетов вашей системы. Это гарантирует, что вы получите последние доступные версии программного обеспечения. Откройте терминал и выполните следующую команду:
sudo apt update
Вы увидите вывод, поскольку apt получает последнюю информацию о пакетах из репозиториев.
Далее установите Nmap с помощью команды apt install. Флаг -y автоматически отвечает "да" на любые запросы, делая установку неинтерактивной.
sudo apt install -y nmap
После завершения установки вы можете проверить, был ли Nmap установлен правильно, проверив его версию.
nmap --version
Вы должны увидеть вывод, похожий на следующий, подтверждающий установку и показывающий установленную версию.
Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.1f libz-1.2.11 libpcre-8.39 nmap-libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select
Теперь, когда Nmap установлен, вы готовы выполнить свое первое сканирование.
Выполнение сканирования портов localhost для идентификации открытых служб
На этом шаге вы выполните базовое сканирование портов на вашей локальной машине, чтобы определить открытые порты и связанные с ними службы. Сканирование localhost (IP-адрес которого 127.0.0.1) — это безопасный способ попрактиковаться в использовании Nmap, поскольку вы сканируете только свою собственную систему.
Сканирование портов проверяет наличие открытых "дверей" на компьютере, которые службы используют для связи по сети. По умолчанию Nmap сканирует 1000 наиболее распространенных портов TCP.
Чтобы выполнить базовое сканирование на вашей локальной машине, выполните следующую команду в терминале:
nmap localhost
Nmap теперь просканирует вашу машину и сообщит о результатах. Вывод будет выглядеть примерно так. Обратите внимание, что лабораторная среда была предварительно настроена для запуска службы на порту 8000.
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000087s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
3001/tcp open nessus
8000/tcp open http-alt SimpleHTTPServer 0.6 (Python 3.10.12)
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
Давайте разберем этот вывод:
PORT: Номер порта и протокол (например,8000/tcp).STATE: Состояние порта.openозначает, что служба активно принимает соединения на этом порту.SERVICE: Общепринятое название службы, обычно работающей на этом порту (например,sshдля порта 22).
Из этого сканирования вы определили, что порты 22 и 8000 на вашей машине открыты.
Интерпретация результатов сканирования Nmap на предмет потенциальных уязвимостей
На этом шаге вы научитесь интерпретировать результаты сканирования Nmap для получения более подробной информации, что крайне важно для выявления потенциальных уязвимостей. Знание того, что порт открыт, полезно, но знание точного программного обеспечения и его версии, работающих на этом порту, гораздо более мощно.
Открытый порт сам по себе не является уязвимостью. Риск исходит от службы, работающей на этом порту. Если служба устарела или неправильно настроена, ее можно использовать для атаки.
Чтобы узнать больше о службах, вы можете использовать функцию определения версий Nmap с флагом -sV. Это позволит проверить открытые порты для определения информации о службе и ее версии.
Выполните следующую команду для выполнения сканирования версий на localhost:
nmap -sV localhost
Теперь вывод будет более подробным. Обратите особое внимание на столбец VERSION.
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
3001/tcp open ssl/nessus?
8000/tcp open http SimpleHTTPServer 0.6 (Python 3.10.12)
Nmap done: 1 IP address (1 host up) scanned in 6.54 seconds
Как вы можете видеть, Nmap теперь определил конкретную версию работающих служб. Например, на порту 8000 это не просто общий веб-сервис (http-alt), а конкретно SimpleHTTPServer 0.6 (Python 3.10.12).
Имея эту информацию о версии, аналитик по безопасности (или злоумышленник) может искать в онлайн-базах данных уязвимостей (например, CVE) известные эксплойты, затрагивающие "SimpleHTTPServer 0.6 (Python 3.10.12)". Это фундаментальный процесс базового сканирования уязвимостей.
Резюме
Поздравляем с завершением этой лабораторной работы! Вы успешно сделали первые шаги в мир сетевого сканирования с помощью Nmap.
В этой лабораторной работе вы научились:
- Устанавливать инструмент Nmap в системе Ubuntu с помощью
apt. - Выполнять базовое сканирование портов на
localhostдля обнаружения открытых портов. - Использовать сканирование с определением версий (
-sV) для идентификации конкретного программного обеспечения и его версий, работающих на этих портах. - Понимать основной принцип интерпретации результатов сканирования для выявления потенциальных областей уязвимости.
Это фундаментальные навыки для любого специалиста в области кибербезопасности, системного администрирования или сетевой инженерии. Мы призываем вас продолжать изучать множество других функций Nmap, таких как мощный скриптовый движок (NSE) для более продвинутого сканирования.



