Выполнение сканирования Nmap и сохранение результатов в различных форматах

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

Введение

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

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

Выполнение первого сканирования с помощью Nmap и сохранение результатов

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

Основы Nmap

Nmap (сокращение от Network Mapper) — это мощный, широко используемый бесплатный и открытый инструмент. Его основная цель — обнаружение сетевых ресурсов и аудит безопасности. Он работает путем отправки исходных IP - пакетов в целевую сеть или на целевой хост. На основе полученных ответов Nmap может получить много информации. Он может показать, какие хосты доступны в сети, какие сервисы они предоставляют (например, веб - серверы, почтовые сервера и т.д.), какая операционная система запущена на них и многие другие важные характеристики. Эта информация очень ценна, когда вы пытаетесь понять безопасность сети.

Создание каталога для результатов сканирования

Сначала откройте окно терминала. По умолчанию терминал должен находиться в каталоге /home/labex/project. Нам нужен отдельное место для хранения всех результатов сканирования Nmap. Это упрощает организацию и управление данными. Поэтому создадим каталог для этих целей с помощью следующей команды:

mkdir -p /home/labex/project/scans

Флаг -p в команде mkdir очень полезен. Он гарантирует, что каталог будет создан, даже если родительские каталоги не существуют. В нашем случае родительский каталог уже существует, но это хорошая практика использовать этот флаг, если в будущем вы захотите создать более сложную структуру каталогов. Если команда выполнится успешно, вы не увидите никакого вывода. Это нормально и означает, что каталог был создан.

Выполнение базового сканирования с помощью Nmap

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

Теперь выполним базовое сканирование с помощью Nmap и сохраним вывод в текстовый файл. Выполните следующую команду:

nmap -p 9999 localhost -oN /home/labex/project/scans/initial_scan.txt

Разберем эту команду, чтобы понять, что делает каждая часть:

  • nmap: Это команда для запуска инструмента Nmap. Она сообщает системе, что мы хотим использовать Nmap для сетевого сканирования.
  • -p 9999: Опция -p используется для указания порта, который мы хотим сканировать. В этом случае мы сканируем порт 9999.
  • localhost: Это цель нашего сканирования. Поскольку мы используем localhost, мы сканируем свой собственный компьютер.
  • -oN /home/labex/project/scans/initial_scan.txt: Опция -oN используется для сохранения вывода в "нормальном" формате. Путь /home/labex/project/scans/initial_scan.txt указывает, где будет сохранен выходной файл.

После выполнения команды вы должны увидеть вывод, похожий на следующий:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE  SERVICE
9999/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Просмотр сохраненных результатов сканирования

Теперь, когда мы выполнили сканирование и сохранили результаты в файл, проверим, были ли результаты правильно записаны. Мы можем сделать это, просмотрев содержимое сохраненного файла с помощью команды cat:

cat /home/labex/project/scans/initial_scan.txt

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

Понимание результатов сканирования

Результаты сканирования содержат несколько важных частей информации:

  • Когда было выполнено сканирование: Это помогает отслеживать временную шкалу ваших сетевых разведывательных действий.
  • Цель, которая была отсканирована: В нашем случае это был localhost.
  • Состояние хоста: Он показывает, доступен ли хост (достижим) или недоступен.
  • Состояние указанного порта: Он может быть открыт, закрыт или отфильтрован. Открытый порт означает, что на этом порту работает какой - то сервис, закрытый порт означает, что на нем нет работающего сервиса, а отфильтрованный порт означает, что порт блокируется брандмауэром или другим устройством безопасности.
  • Сервис, обычно связанный с этим портом: Например, порт 80 обычно связан с HTTP - сервисами.
  • Статистика о продолжительности сканирования: Это дает вам представление о том, сколько времени заняло сканирование.

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

Сохранение результатов сканирования Nmap в формате XML

На этом этапе мы научимся сохранять результаты сканирования Nmap в формате XML. XML (Extensible Markup Language, расширяемый язык разметки) представляет собой структурированный формат данных. Он похож на хорошо организованную шкаф - архив, где каждая часть информации имеет свою помеченную ячейку. Эта структура позволяет другим инструментам и скриптам по безопасности легко обрабатывать данные. В мире кибербезопасности, где автоматизация является ключевым аспектом, иметь данные в формате, который можно легко интегрировать в автоматизированные рабочие процессы, имеет огромную ценность.

Понимание различных форматов вывода

Nmap, мощный инструмент для сканирования сетей, поддерживает несколько форматов вывода. Каждый формат имеет свои уникальные характеристики и области применения.

  1. Нормальный вывод (-oN): Это человекочитаемый формат. На предыдущем этапе мы использовали этот формат для просмотра результатов сканирования в удобном для нас виде. Он представляет информацию в простом текстовом виде.
  2. XML - вывод (-oX): Как уже упоминалось, XML представляет собой структурированный формат. Он организует данные иерархически с использованием тегов и элементов. Это делает его идеальным для того, чтобы другие программы могли разобрать и извлечь определенную информацию.
  3. Grep - совместимый вывод (-oG): Этот формат разработан для того, чтобы его можно было легко обрабатывать с помощью командной строки, например, с использованием инструмента grep. Если вы хотите быстро найти определенные шаблоны в результатах сканирования, grep - совместимый вывод очень полезен.
  4. Вывод для новичков (-oS): Это формат, который более подходящ для новичков. Однако он редко используется в профессиональных оценках безопасности.

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

Выполнение сканирования Nmap с выводом в формате XML

Теперь выполним еще одно сканирование на локальном хосте (localhost) на порту 9999. Но на этот раз мы сохраним вывод в формате XML. Вот команда:

nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml

Разберем эту команду, чтобы понять, что делает каждая часть:

  • nmap: Это команда для запуска инструмента Nmap. Она является началом всех наших операций по сканированию сети.
  • -p 9999: Опция -p используется для указания порта, который мы хотим сканировать. В этом случае мы сканируем порт 9999.
  • localhost: Это цель нашего сканирования. localhost относится к вашему локальному компьютеру. Таким образом, мы сканируем порт 9999 на своем собственном компьютере.
  • -oX /home/labex/project/scans/advanced_scan.xml: Опция -oX сообщает Nmap сохранить вывод в формате XML. Путь /home/labex/project/scans/advanced_scan.xml указывает, где будет сохранен XML - файл.

При выполнении этой команды вы должны увидеть вывод, похожий на то, что вы видели на этапе 1. Но теперь результаты также сохраняются в формате XML в указанном файле.

Просмотр XML - вывода

Давайте посмотрим на содержимое только что созданного XML - файла. Мы можем использовать команду cat для отображения содержимого файла:

cat /home/labex/project/scans/advanced_scan.xml

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nmaprun>
<nmaprun scanner="nmap" args="nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml" start="1635598800" startstr="Sat Oct 30 12:00:00 2023" version="7.80" xmloutputversion="1.04">
<scaninfo type="syn" protocol="tcp" numservices="1" services="9999"/>
<verbose level="0"/>
<debugging level="0"/>
<host starttime="1635598800" endtime="1635598800">
<status state="up" reason="localhost-response" reason_ttl="0"/>
<address addr="127.0.0.1" addrtype="ipv4"/>
<hostnames>
<hostname name="localhost" type="user"/>
<hostname name="localhost" type="PTR"/>
</hostnames>
<ports>
<port protocol="tcp" portid="9999">
<state state="closed" reason="conn-refused" reason_ttl="0"/>
<service name="unknown" method="table" conf="3"/>
</port>
</ports>
<times srtt="97" rttvar="5000" to="100000"/>
</host>
<runstats>
<finished time="1635598800" timestr="Sat Oct 30 12:00:00 2023" elapsed="0.07" summary="Nmap done at Sat Oct 30 12:00:00 2023; 1 IP address (1 host up) scanned in 0.07 seconds" exit="success"/>
<hosts up="1" down="0" total="1"/>
</runstats>
</nmaprun>

Преимущества XML - вывода

Формат XML имеет несколько преимуществ:

  1. Структурированные данные: Информация в XML организована иерархически. Каждый элемент имеет четкую связь с другими элементами, что позволяет легко понять структуру данных.
  2. Читаемость машинами: Другие программы и скрипты могут легко разобрать XML - данные. Это позволяет без труда интегрировать их с различными инструментами в вашем рабочем процессе по безопасности.
  3. Интеграция: XML - вывод можно импортировать в другие инструменты по безопасности, такие как Metasploit, OpenVAS или настраиваемые панели мониторинга безопасности. Это позволяет комбинировать результаты сканирования Nmap с другими инструментами анализа безопасности.
  4. Преобразование данных: Вы можете преобразовать XML - данные в другие форматы, такие как HTML или PDF. Это полезно для создания отчетов, которые легко поделиться и представить.
  5. Извлечение данных: Используя инструменты для разбора XML, вы можете извлечь определенную информацию из XML - файла. Например, вы можете извлечь все открытые порты или детали определенного хоста.

Практические применения

В реальной оценке безопасности сохранение результатов сканирования в формате XML может быть очень полезным. Вот несколько практических применений:

  • Импорт в системы управления уязвимостями: Вы можете импортировать XML - вывод в систему управления уязвимостями, чтобы получить комплексное представление о уязвимостях безопасности сети.
  • Создание настраиваемых отчетов с использованием преобразований XSLT: XSLT (Extensible Stylesheet Language Transformations, расширяемый язык преобразования стилевых таблиц) можно использовать для преобразования XML - данных в настраиваемые отчеты. Это позволяет представить информацию в наиболее подходящем для ваших нужд виде.
  • Обработка с помощью автоматических скриптов для извлечения определенной информации: Вы можете написать автоматические скрипты для разбора XML - файла и извлечения определенной информации, например, всех хостов с открытыми портами для определенного сервиса.
  • Обмен структурированными данными с членами команды или клиентами: XML - данные можно легко поделиться с другими. Члены команды или клиенты могут использовать структурированные данные для собственного анализа.
  • Создание базы данных сетевых разведывательных данных: Вы можете хранить XML - файлы в базе данных, чтобы сохранить запись о своих сетевых разведывательных действиях в течение времени.

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

Резюме

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

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