Разведка в Kali с использованием Nmap и DNS

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

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

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kali(("Kali")) -.-> kali/KaliGroup(["Kali"]) kali/KaliGroup -.-> kali/term_ops("Kali Terminal") kali/KaliGroup -.-> kali/file_ctrl("File Management") kali/KaliGroup -.-> kali/pkg_ops("Package Management") kali/KaliGroup -.-> kali/nmap_ops("Nmap Tool") kali/KaliGroup -.-> kali/bash_code("Bash Scripting") subgraph Lab Skills kali/term_ops -.-> lab-552298{{"Разведка в Kali с использованием Nmap и DNS"}} kali/file_ctrl -.-> lab-552298{{"Разведка в Kali с использованием Nmap и DNS"}} kali/pkg_ops -.-> lab-552298{{"Разведка в Kali с использованием Nmap и DNS"}} kali/nmap_ops -.-> lab-552298{{"Разведка в Kali с использованием Nmap и DNS"}} kali/bash_code -.-> lab-552298{{"Разведка в Kali с использованием Nmap и DNS"}} end

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

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

Когда вы откроете терминал в среде LabEx VM, вы будете автоматически подключены к оболочке контейнера Kali Linux. Нет необходимости вручную запускать контейнер или входить в оболочку; среда уже настроена для вас.

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

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

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

    apt update

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

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

    apt install -y nmap

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

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

    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 для базового сканирования портов. Вы сделали первый шаг в разведке (reconnaissance), идентифицировав открытые порты на безопасной цели. На следующем шаге мы разовьем это, сохранив результаты сканирования для дальнейшего анализа. Убедитесь, что вам удобно запускать команду nmap, прежде чем двигаться дальше.

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

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

Перенаправление вывода (output redirection) в Linux позволяет сохранять результаты команды в файл вместо отображения их в терминале. Это делается с помощью символа >, который записывает вывод в указанный файл, перезаписывая его, если он уже существует. Мы сохраним результаты в каталоге /root внутри контейнера Kali Linux, который является вашей рабочей областью по умолчанию.

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

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

    nmap localhost > /root/nmap_scan.txt

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

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

    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. Сохранение вывода в файлы — это практичный способ отслеживать ваши результаты во время задач разведки (reconnaissance).

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

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

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

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

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

  1. Запустите сканирование nmap с обнаружением версии на localhost. Введите следующую команду в терминале и нажмите Enter:

    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

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

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

    nmap -sV localhost > /root/service_scan.txt

    Как и прежде, символ > перенаправляет вывод в указанный файл. Вы не увидите результаты в терминале, так как они сохраняются непосредственно в /root/service_scan.txt.

  3. Подтвердите, что вывод был сохранен, просмотрев содержимое файла. Введите следующую команду и нажмите Enter:

    cat /root/service_scan.txt

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

Этот шаг показал вам, как использовать nmap для перечисления служб, предоставляя более глубокое понимание служб, работающих на цели. На следующем шаге мы изучим разведку DNS (DNS reconnaissance) с использованием другого инструмента. Убедитесь, что вы понимаете, как запускать сканирование с обнаружением версии и сохранять вывод, прежде чем двигаться дальше.

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

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

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

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

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

    apt update

    Это обновляет список пакетов. Подождите, пока процесс завершится; вы увидите вывод, указывающий на ход обновления.

  2. Установите dnsrecon, введя следующую команду и нажав Enter:

    apt install -y dnsrecon

    Флаг -y автоматически подтверждает установку. Подождите, пока установка завершится; это должно занять всего несколько секунд. Вы увидите вывод, показывающий ход установки.

  3. После установки запустите базовое перечисление DNS (DNS enumeration) на example.com. Введите следующую команду и нажмите Enter:

    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.

    Этот вывод показывает различные записи DNS для example.com, предоставляя представление о его конфигурации:

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

    dnsrecon -d example.com > /root/dns_results.txt

    Символ > перенаправляет вывод в указанный файл. Вы не увидите результаты в терминале, так как они сохраняются непосредственно в /root/dns_results.txt.

  5. Подтвердите, что вывод был сохранен, просмотрев содержимое файла. Введите следующую команду и нажмите Enter:

    cat /root/dns_results.txt

    Вы должны увидеть те же результаты перечисления DNS (DNS enumeration), что и выше, теперь сохраненные в файле.

Этот шаг познакомил вас с разведкой DNS (DNS reconnaissance) с помощью dnsrecon, показав, как собирать важную информацию о домене. На следующем шаге мы объединим все ваши результаты в один сводный файл. Убедитесь, что вы видите сохраненные результаты DNS, прежде чем продолжить.

Итог

В этой лабораторной работе вы изучили основные методы разведки (reconnaissance), используя инструменты Kali Linux для сбора информации о целевой системе. Вы начали с установки и использования nmap для выполнения базового сканирования портов на безопасной локальной цели (localhost), идентифицируя открытые порты и связанные службы, такие как веб-сервер Apache, который мы установили. Затем вы сохранили эти результаты в файл для документирования. Далее вы изучили перечисление служб (service enumeration) с помощью скриптов nmap, чтобы раскрыть подробную информацию о версии, а затем разведку DNS (DNS reconnaissance) с использованием dnsrecon для запроса доменных записей для example.com. Эти фундаментальные навыки в сканировании сети и сборе информации имеют решающее значение для тестирования на проникновение (penetration testing) и аудита сетевой безопасности (network security auditing).