Cyber Security Academy · Урок

Определение сервисов и операционных систем

Используйте Nmap -sV и -O для определения работающих сервисов и операционных систем.

Урок 2 из 413 шагов

«Определение сервисов и операционных систем» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Почему важна идентификация систем

Знание точной версии службы и OS превращает список открытых портов в практический список целей. Данные о версиях напрямую сопоставляются с номерами CVE и модулями эксплуатации.

Определение версий служб с помощью -sV

nmap -sV проверяет каждый открытый порт с помощью полезных нагрузок, специфичных для службы, и сопоставляет ответы со своей базой данных проб (nmap-service-probes), чтобы определить программное обеспечение и его версию.

sudo nmap -sV -p 22,80,443,3306 192.168.1.100

# 22/tcp  open  ssh     OpenSSH 7.4
# 80/tcp  open  http    nginx 1.18.0
# 3306/tcp open  mysql  MySQL 5.7.38

Уровни интенсивности для -sV

Параметр --version-intensity (0–9) управляет агрессивностью проверок Нмап. Более высокая интенсивность позволяет обнаружить больше служб, но увеличивает время сканирования и создаёт больше сетевого шума.

sudo nmap -sV --version-intensity 9 192.168.1.100
# 9 = try all probes (slowest, most accurate)
# 0 = only most likely probes (fastest)

Определение OS с помощью -O

nmap -O использует идентификацию по особенностям стека TCP/IP — значениям TTL, размерам TCP-окон и параметрам IP, — чтобы предположить используемую OS. Результаты включают процент уверенности.

sudo nmap -O 192.168.1.100

# OS details: Linux 4.15 - 5.6
# Network Distance: 1 hop

# Requires at least one open and one closed port

Агрессивное сканирование -A

Параметр -A одновременно включает определение OS, определение версий, сканирование сценариями и трассировку маршрута. Он полезен для быстрого комплексного сканирования в лабораторных средах.

sudo nmap -A 192.168.1.100

# Combines: -O -sV -sC --traceroute

Получение баннера с помощью Нетката

Получение баннера вручную извлекает баннер службы, который сервер отправляет при установлении соединения. Это простой и малозаметный вариант полной идентификации с помощью Нмап.

# HTTP banner
nc 192.168.1.100 80
GET / HTTP/1.0

# SSH banner
nc 192.168.1.100 22
# Returns: SSH-2.0-OpenSSH_8.9p1

Получение баннера с помощью кёрла

Флаг -I утилиты кёрл получает только заголовки ответа, раскрывая программное обеспечение и версию сервера, а также используемый технологический стек, без загрузки содержимого.

curl -I http://192.168.1.100

# HTTP/1.1 200 OK
# Server: Apache/2.4.52 (Ubuntu)
# X-Powered-By: PHP/8.1.2

WhatWeb для идентификации веб-технологий

WhatWeb определяет веб-технологии: CMS, библиотеки JavaScript, системы аналитики, серверное программное обеспечение и фреймворки. Инструмент специально предназначен для разведки веб-приложений.

whatweb http://target.com

# Output:
# WordPress [v6.2], Apache[2.4.52],
# PHP[8.1], jQuery[3.6.0]

Механизм сценариев NSE для идентификации

Сценарии NSE расширяют возможности Нмап по идентификации систем. Сценарии http-server-header, ssh-hostkey и banner извлекают подробную информацию.

nmap --script=banner 192.168.1.100
nmap --script=http-server-header 192.168.1.100
nmap --script=ssh-hostkey 192.168.1.100

Сопоставление с CVE

Получив версии служб, выполните поиск в Национальной базе данных уязвимостей (NVD) или используйте такие инструменты, как searchsploit, чтобы найти известные эксплойты для точно установленной версии.

searchsploit apache 2.4.49
searchsploit openssh 7.4

# Or search NVD:
# https://nvd.nist.gov/vuln/search

Как защитнику скрывать признаки системы

Защитники могут скрывать баннеры: удалять заголовки Server, настраивать баннеры SSH и использовать стук по портам. Однако безопасность за счёт сокрытия информации лишь повышает порог атаки — это не устранение проблемы.

# Apache: suppress version
ServerTokens Prod
ServerSignature Off

# Nginx
server_tokens off;

Быстрая проверка

Какой параметр Нмап объединяет определение OS, определение версий и сканирование сценариями?

Итоги: идентификация систем

Идентификация систем превращает необработанные списки портов в практическую разведывательную информацию. Сочетайте -sV и -O для автоматического определения, вручную получайте баннеры для малозаметного подтверждения и используйте WhatWeb для анализа веб-стеков. Всегда сверяйте строки версий с базами данных CVE.

Можно начать бесплатно

Изучай Cyber Security Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
76
Уроки
303

Часто задаваемые вопросы

Урок «Определение сервисов и операционных систем» бесплатный?

Да — полный текст урока «Определение сервисов и операционных систем» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Определение сервисов и операционных систем»?

Используйте Nmap -sV и -O для определения работающих сервисов и операционных систем. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Определение сервисов и операционных систем»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Методы сканирования портов Nmap
  2. Определение сервисов и операционных систем
  3. Netcat: швейцарский армейский нож
  4. Скрипты перечисления сети
← Назад к Cyber Security Academy