Разведка в Kali Linux с помощью Nmap и DNS

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

Введение

В этой лабораторной работе вы освоите основы разведки (reconnaissance) с использованием Kali Linux, сосредоточившись на методах сетевого сканирования и выполнения DNS-запросов. Этот практический опыт поможет вам научиться определять открытые порты и активные службы на целевой системе с помощью nmap — мощного инструмента сетевого сканирования, а также собирать информацию о DNS с помощью dnsrecon.

Данная работа разработана специально для начинающих и содержит пошаговые инструкции в безопасной среде виртуальной машины LabEx, развернутой на независимом облачном хосте. Вы научитесь выполнять сканирование портов, использовать скрипты для перечисления сервисов, запрашивать записи DNS и сохранять полученные данные для дальнейшего анализа. При открытии терминала вы будете автоматически подключены к оболочке контейнера Kali Linux и сможете сразу приступить к практике без необходимости ручного запуска или настройки окружения.

Установка и запуск базового сканирования Nmap

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

Когда вы откроете терминал в среде LabEx, вы автоматически окажетесь в консоли контейнера Kali Linux. Вам не нужно запускать контейнер вручную — всё уже подготовлено к работе.

Прежде чем начать, давайте разберемся, что делает nmap. Название nmap расшифровывается как Network Mapper. Это инструмент для обнаружения хостов и служб в сети путем отправки пакетов и анализа ответов. Открытые порты обычно указывают на работающие службы, такие как веб-серверы или SSH, которые могут стать точками входа для дальнейшего анализа.

Теперь давайте установим nmap и выполним базовое сканирование. Внимательно следуйте этим инструкциям:

  1. Сначала обновите список пакетов, чтобы гарантированно установить актуальную версию nmap. Введите следующую команду в терминале и нажмите Enter:

    apt update

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

  2. Затем установите nmap, введя следующую команду:

    apt install -y nmap

    Флаг -y автоматически подтверждает установку, не запрашивая вашего согласия. Дождитесь завершения процесса; обычно это занимает совсем немного времени.

  3. После установки nmap выполним базовое сканирование localhost (вашего собственного контейнера с IP-адресом 127.0.0.1), который является безопасной целью для тренировки. Введите команду:

    nmap localhost

    Эта команда сканирует наиболее распространенные порты на localhost. Через несколько секунд вы увидите результат, похожий на этот (данные могут отличаться):

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    В этом выводе фраза Host is up подтверждает, что цель доступна. В таблице перечислены открытые порты, их состояние (open означает, что порт доступен) и связанная с ними служба (например, http на порту 80). Эта информация помогает понять, какой функционал активен в системе.

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

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

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

Перенаправление вывода в Linux позволяет записывать результаты работы команды в файл вместо вывода их на экран терминала. Для этого используется символ >, который записывает данные в указанный файл, перезаписывая его, если он уже существует. Мы сохраним результаты в директории /root внутри контейнера Kali Linux.

Следуйте этим инструкциям, чтобы сохранить результаты сканирования:

  1. Выполните повторное сканирование localhost и перенаправьте вывод в файл с именем nmap_scan.txt в папке /root. Введите команду:

    nmap localhost > /root/nmap_scan.txt

    Символ > перенаправляет данные команды nmap localhost в файл /root/nmap_scan.txt. Вы не увидите результатов в терминале, так как они записываются в файл. Подождите несколько секунд до завершения операции.

  2. Чтобы убедиться, что данные успешно сохранены, просмотрите содержимое файла с помощью команды:

    cat /root/nmap_scan.txt

    Вы должны увидеть результат, аналогичный предыдущему сканированию:

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE
    80/tcp   open  http
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    Это подтверждает, что отчет о сканировании успешно сохранен в /root/nmap_scan.txt. Сохранение логов — это стандартная практика при проведении разведывательных мероприятий.

На этом этапе вы освоили перенаправление вывода nmap в файл. Этот навык пригодится нам при переходе к более сложным методам сканирования.

Перечисление сервисов с помощью скриптов Nmap

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

Перечисление сервисов идет дальше простого поиска открытых портов; его цель — выяснить точное название и версию ПО. В nmap встроен движок скриптов NSE (Nmap Scripting Engine), который включает готовые скрипты для обнаружения деталей сервисов. Для определения версий мы будем использовать флаг -sV.

Давайте проведем перечисление сервисов на localhost:

  1. Запустите сканирование nmap с определением версий. Введите команду:

    nmap -sV localhost

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

    Starting Nmap 7.91 ( https://nmap.org ) at ...
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00010s latency).
    Not shown: 997 closed ports
    PORT     STATE SERVICE VERSION
    80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
    ...
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

    В колонке VERSION теперь указана конкретная версия службы, например, Apache httpd 2.4.41. Эта информация бесценна, так как позволяет искать специфические эксплойты для данной версии.

  2. Сохраните результаты этого сканирования в файл service_scan.txt в директории /root:

    nmap -sV localhost > /root/service_scan.txt
  3. Подтвердите сохранение, проверив содержимое файла:

    cat /root/service_scan.txt

Теперь вы умеете использовать nmap для глубокого анализа сервисов. На следующем этапе мы перейдем к разведке DNS с помощью другого инструмента.

Установка и выполнение DNS-запросов с помощью dnsrecon

На этом этапе мы переключим внимание на DNS-разведку с использованием dnsrecon — инструмента для сбора информации о доменах. Перечисление DNS помогает обнаружить поддомены, почтовые серверы и другие детали инфраструктуры, которые необходимы для понимания сетевого присутствия цели.

DNS (Domain Name System) переводит доменные имена, такие как example.com, в IP-адреса. Записи DNS содержат информацию об IP-адресах хостов (записи A), почтовых серверах (записи MX) и многом другом. dnsrecon опрашивает эти записи, чтобы раскрыть структуру домена. В качестве безопасной цели мы будем использовать example.com.

Следуйте инструкциям для установки и использования dnsrecon:

  1. Обновите список пакетов:

    apt update
  2. Установите dnsrecon:

    apt install -y dnsrecon
  3. После установки выполните базовое перечисление DNS для example.com. Введите команду:

    dnsrecon -d example.com

    Опция -d указывает целевой домен. Вы увидите результат, похожий на этот:

    [*] Performing General Enumeration of Domain: example.com
    [*] DNSSEC is not configured for example.com
    [*] SOA ns.icann.org 199.4.138.53
    [*] NS ns.icann.org 199.4.138.53
    [*] A example.com 93.184.216.34
    [*] AAAA example.com 2606:2800:220:1:248:1893:25c8:1946
    [*] MX example.com 0 .
    [*] TXT example.com "v=spf1 -all"
    [*] Enumeration Complete.

    Разберем основные типы записей в выводе:

    • SOA (Start of Authority): Содержит административную информацию о зоне.
    • NS (Name Server): Список серверов, отвечающих за домен.
    • A (Address): Связывает доменное имя с IPv4-адресом.
    • AAAA (IPv6 Address): Связывает доменное имя с IPv6-адресом.
    • MX (Mail Exchanger): Указывает почтовые серверы домена.
    • TXT (Text): Содержит произвольный текст, часто используемый для верификации (например, запись SPF v=spf1 -all).
  4. Сохраните результаты DNS-разведки в файл dns_results.txt в директории /root:

    dnsrecon -d example.com > /root/dns_results.txt
  5. Проверьте сохраненный файл:

    cat /root/dns_results.txt

Вы познакомились с основами работы в dnsrecon и научились извлекать важную информацию о доменной структуре.

Резюме

В этой лабораторной работе вы освоили ключевые методы разведки с использованием инструментов Kali Linux. Вы начали с установки и применения nmap для базового сканирования портов на локальной цели (localhost), научились определять открытые порты и работающие службы. Затем вы изучили перечисление сервисов с помощью скриптов nmap для получения данных о версиях ПО и провели DNS-разведку с помощью dnsrecon для анализа записей домена example.com. Эти базовые навыки сетевого сканирования и сбора информации являются фундаментом для проведения тестирований на проникновение и аудита сетевой безопасности.