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

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

Введение

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

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

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

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

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

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

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

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

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

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

Перечисление служб выходит за рамки простого поиска открытых портов; оно направлено на определение точного программного обеспечения и версии, работающих на этих портах. nmap предоставляет механизм сценариев под названием 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-запросов с помощью dnsrecon

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

DNS (система доменных имен) преобразует доменные имена, такие как 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-перечисление для 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_results.txt в каталоге /root. Введите следующую команду и нажмите Enter:

    dnsrecon -d example.com > /root/dns_results.txt 2>&1
    

    Символ > перенаправляет вывод в указанный файл, а 2>&1 захватывает стандартный поток ошибок в тот же файл. dnsrecon может выводить детали сканирования в стандартный поток ошибок, поэтому сохранение обоих потоков вывода гарантирует, что /root/dns_results.txt будет содержать полные результаты, а не пустой файл.

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

    cat /root/dns_results.txt
    

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

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

Резюме

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