Разведка в Kali с Nmap и DNS

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

Введение

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

Вы используете подготовленные локальные службы DNS и HTTP для небольшого рабочего процесса Nmap. Разрешите цель, сканируйте только назначенные порты, определите службы и сохраните вывод для анализа.

Разрешите цель и просканируйте выбранные порты

На этом шаге вы разрешите явно предоставленную учебную цель и выполните сканирование небольшого набора портов методом TCP connect.

Войдите в Kali и выберите общую рабочую папку:

kali
cd /home/labex/project

Разрешённая цель — training-target.test, обслуживаемая локальным учебным DNS-сервером. Разрешите запись A способом из предыдущей работы:

dig @127.0.0.1 -p 5353 +short training-target.test A

Ответ — 127.0.0.1, петлевой адрес контейнера. В область работ входят только порты 8000, 8081 и 9999 этого адреса. Не сканируйте хост, шлюз или публичные системы.

Nmap обнаруживает сведения о хостах и службах. Параметр -sT использует обычные попытки TCP-соединения, поэтому сканирование работает от обычной учётной записи учащегося. -p ограничивает запрошенный набор портов; запятые разделяют номера. -oN сохраняет обычный читаемый вывод в следующий за ним файл:

nmap -sT -p 8000,8081,9999 -oN ports.txt 127.0.0.1

Дождитесь завершения. Порты 8000 и 8081 должны быть open, а 9999 — closed. Открытый означает, что служба принимает TCP-соединения; закрытый — цель ответила, но на порту нет принимающей соединения службы. Результат filtered означает, что Nmap не определила состояние, поскольку пробы или ответы блокировались.

Прочитайте сохранённый отчёт:

cat ports.txt

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

Определите службы и извлеките записи открытых портов

На этом шаге вы используете пробы версий служб и сохраните краткий набор находок.

Параметр -sV просит Nmap опросить открытые службы для получения сведений о приложении. Это определение служб и версий, а не Nmap Scripting Engine (NSE); само по себе оно не подтверждает уязвимость. Ограничьте пробы двумя открытыми учебными портами:

nmap -sT -sV -p 8000,8081 -oN services.txt 127.0.0.1

Предоставленные службы — HTTP-серверы Python. Результаты должны определять HTTP и могут включать сведения Python или версии сервера. Точные версии инструмента и интерпретатора могут меняться при обслуживании среды.

Прочитайте сохранённый отчёт версий:

cat services.txt

Сравните свидетельства о службе с условными именами в ports.txt. Нестандартный порт тоже может обслуживать HTTP; номер порта не является идентификатором приложения.

Извлеките строки открытых портов уже изученной фильтрацией текста. Пробелы вокруг open фокусируют совпадение на столбце состояния:

grep ' open ' services.txt > open-services.txt
cat open-services.txt

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

Резюме

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