Сбор информации с помощью Nmap

NmapNmapBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В процессе пентестинга (проверки на проникновение) стадия сбора информации является одной из наиболее важных фаз. Этот практикум (лабораторная работа) посвящен знакомству с использованием инструментов для получения информации. Чем больше информации вы соберете о целевом хосте, тем выше будет вероятность успеха пентестинга. В системе Kali предварительно установлено несколько инструментов для пентестинга. Используя эти инструменты, вы постепенно научитесь основным шагам сбора информации.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/os_version_detection("OS and Version Detection") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/port_scanning -.-> lab-416118{{"Сбор информации с помощью Nmap"}} nmap/target_specification -.-> lab-416118{{"Сбор информации с помощью Nmap"}} nmap/syn_scan -.-> lab-416118{{"Сбор информации с помощью Nmap"}} nmap/os_version_detection -.-> lab-416118{{"Сбор информации с помощью Nmap"}} nmap/service_detection -.-> lab-416118{{"Сбор информации с помощью Nmap"}} end

Сканирование открытых портов на целевом хосте

На этом этапе мы расскажем, как использовать инструменты для сканирования открытых портов на целевом хосте.

В процессе пентестинга (проверки на проникновение) необходимо знать, какие порты открыты на целевом хосте. В Kali Linux есть два предустановленных инструмента для сканирования портов: Nmap и Zenmap. Мы рассмотрим основные способы использования этих двух инструментов.

Сначала запустим среду лабораторной работы. Хост-машина работает под управлением Ubuntu (это рабочий стол, к которому вы в данный момент подключены), на ней установлены виртуальные среды Docker и QEMU. Они обеспечивают платформенную поддержку для контейнера Kali Linux и целевой машины Metasploitable2 соответственно.

В хост-машине LabEx запустите Metasploitable2, дважды кликнув по терминалу xfce на рабочем столе и введя следующую команду в терминале:

sudo virsh start Metasploitable2

Подождите, пока целевая машина запустится. Это может занять от 1 до 3 минут.

Проверьте, запущена ли целевая машина, отправив ей ping (для выхода из режима ping нажмите Ctrl-C):

ping 192.168.122.102

Теперь запустим контейнер Kali и войдем в интерфейс bash, а затем выполним операцию ping, чтобы проверить сетевое соединение:

docker run -ti --network host b5b709a49cd5 bash

Теперь можно выполнить операцию ping для проверки сетеового соединения (для выхода из режима ping нажмите Ctrl-C):

ping 192.168.122.102

Теперь обе среды лабораторной работы запущены, и мы можем приступить к пентестингу.

Примечание: Если вы случайно выйдете из текущего сеанса bash, контейнер Kali автоматически остановится. Вы можете снова выполнить команду docker run -ti --network host b5b709a49cd5 bash на хост-машине, чтобы запустить новый контейнер Kali и войти в bash для продолжения лабораторных операций.

Инструмент для сканирования TCP-портов: Nmap

Nmap - это программа для исследования сетей и проведения безопасности-сканирования. Администраторы систем и обычные пользователи могут использовать эту программу для сканирования больших сетей и получения информации о том, какие хосты работают и какие сервисы они предоставляют.

Nmap поддерживает множество методов сканирования, таких как UDP, TCP Connect(), TCP SYN (полуоткрытое сканирование), FTP-прокси (атака отскока), пассивное сканирование (Idle scan), ICMP, FIN, ACK-сканирование, сканирование Xmas Tree, SYN-сканирование и Null-сканирование.

Nmap имеет четыре основные функции:

  • Обнаружение хостов
  • Сканирование портов
  • Определение версии сервисов
  • Определение операционной системы

Используйте инструмент nmap и введите следующую команду для выполнения сканирования портов и получения информации об открытых портах на целевой машине:

nmap 192.168.122.102

Zenmap: Графический интерфейс для Nmap

Zenmap - это официальный графический интерфейс на основе Nmap, разработанный проектом Nmap. Zenmap - это бесплатный и открытый исходный код графический интерфейс, написанный на Python, который может работать на различных операционных системах (Windows/Linux/Unix/Mac OS и др.). Zenmap призван предоставить более простой способ работы с Nmap. Общие операции можно сохранять в профилях, и пользователи могут выбирать профиль во время сканирования, что позволяет легко сравнивать разные результаты сканирования. Он также предоставляет графическое отображение топологии сети.

Примечание: В среде LabEx используется контейнер Kali, поэтому в данный момент графический интерфейс не может быть использован.

Получение базовой информации о целевом хосте

На этом этапе мы научимся использовать инструменты для получения базовой информации о целевом хосте, например, о его операционной системе.

На данном этапе необходимо собрать как можно больше базовой информации об операционной системе целевого хоста. Это повышает вероятность успеха пентестинга (проверки на проникновение). Сбор информации включает в себя так называемое "отпечаткование" (fingerprinting), а также использование активных инструментов отпечаткования, таких как параметры -O и -sV в nmap. Хотя термин "отпечаткование" может показаться сложным, на самом деле это просто определение версии операционной системы и приложений на целевом хосте, что помогает нам выявить уязвимости на уровне операционной системы и приложений.

Активные инструменты отпечаткования

Для определения операционной системы целевого хоста используйте следующую команду:

nmap -O 192.168.122.102

В терминале Kali выполните эту команду, чтобы посмотреть информацию о целевой машине. IP-адрес целевой машины - 192.168.122.102.

Для получения информации о сервисах, работающих на портах целевого хоста, используйте следующую команду:

nmap -sV 192.168.122.102

Пассивные инструменты отпечаткования

Пассивные инструменты отпечаткования, такие как p0f, не отправляют специальные запросы на целевой хост, а пассивно получают и анализируют данные. Как правило, они незаметны для целевого объекта.

p0f - мощный инструмент для сетевого анализа, который можно использовать для анализа NAT, балансировки нагрузки, приложений-прокси и т.д.

Основная информация, которую может определить p0f:

  • Тип операционной системы, порт
  • Работает ли хост в режиме NAT
  • Работает ли хост за брандмауэром
  • Работает ли хост в режиме балансировки нагрузки

В терминале Kali выполните следующую команду, чтобы использовать p0f для просмотра информации о целевом хосте:

p0f 192.168.122.102

Скрытое сканирование (полуоткрытое TCP-сканирование)

В терминале Kali выполните следующую команду для выполнения скрытого сканирования:

nmap -sS 192.168.122.102

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

TCP Connect-сканирование

В терминале Kali выполните следующую команду для выполнения TCP Connect-сканирования:

nmap -sT 192.168.122.102

Большинство систем записывают информацию о таком сканировании, но оно может предоставить больше информации, чем скрытое сканирование.

Получение информации о сетевых сервисах целевого сайта

На этом этапе мы получим информацию о сетевых сервисах, предоставляемых целевым сайтом.

Получение информации о сетевых сервисах

Сбор более полной информации о сетевых сервисах целевого хоста повышает вероятность успеха пентестинга (проверки на проникновение).

Откройте браузер Firefox и введите в адресной строке http://192.168.122.102. Если все пройдет успешно, вы увидите следующее:

Главная страница целевого сайта LabEx

Сканирование определенных портов на целевом хосте с помощью amap

amap используется для сканирования определенных портов на хосте. В терминале Kali в среде LabEx введите следующую команду для сканирования порта 21 на целевом хосте:

amap -bqv 192.168.122.102 21

Перечисление пользователей с помощью smtp-user-enum

Инструмент smtp-user-enum в основном используется для перечисления пользователей SMTP. В терминале Kali в среде LabEx введите следующую команду для перечисления пользователей SMTP:

smtp-user-enum -M VRFY -u root -t 192.168.122.102

Заключение

В рамках этого практикума (лабораторной работы) мы научились использовать различные распространенные инструменты безопасности для сбора информации о целевом хосте. В ходе работы были рассмотрены следующие аспекты:

  • Использование инструментов для сканирования открытых портов на целевом хосте
  • Получение базовой информации о целевом хосте, например, о его операционной системе
  • Получение информации о сетевых сервисах, предоставляемых целевым сайтом
  • Анализ собранной информации для выявления потенциальных векторов атаки

В процессе лабораторной работы мы научились применять различные инструменты для сбора информации, что является важным этапом в пентестинге (проверке на проникновение). Приобретенные навыки работы с этими инструментами и методами позволяют собирать более ценную информацию о целевом хосте, что, в свою очередь, повышает вероятность успеха пентестинга.