Введение
Сбор информации — это важнейший первый этап любой оценки безопасности. Прежде чем напрямую взаимодействовать с серверами цели, специалисты по безопасности проводят «пассивную разведку» для сбора общедоступных данных.
Пассивная разведка важна, так как она позволяет сформировать контекст, не создавая заметных сигналов в инфраструктуре цели. Опытные специалисты не начинают с отправки пакетов, если публичные записи уже могут ответить на фундаментальные вопросы: кто владеет доменом, какой регистратор задействован и какие серверы имен управляют пространством имен.
Один из самых фундаментальных методов пассивной разведки — это перечисление Whois. Whois — это широко используемый интернет-реестр, который определяет владельца домена и способы связи с ним. Корпорация по управлению доменными именами и IP-адресами (ICANN) регулирует регистрацию и владение доменными именами, требуя от регистраторов ведения этих публичных записей.
В этой лабораторной работе вы научитесь использовать командную строку Linux для запросов к базам данных Whois. Вы соберете базовые сведения о целевом домене, извлечете контактную информацию администратора и определите авторитетные серверы имен, отвечающие за маршрутизацию трафика цели.
Выполнение Whois-запроса
На этом этапе вы узнаете, как выполнить базовый Whois-запрос для целевого домена. В качестве цели для этого учебного упражнения мы будем использовать ubuntu.com.
Команда whois в Linux — это клиентская утилита, которая делает запросы к службе каталогов Whois. Она извлекает информацию о регистрации домена, включая регистратора, даты создания и истечения срока действия, а также организацию-владельца.
Данные Whois не являются прямой картой работающих систем, но они раскрывают информацию о владении и административных связях. Это полезно для определения области охвата, атрибуции и понимания того, какие внешние провайдеры могут быть частью инфраструктуры цели.
Чтобы сохранить запись о наших находках, мы будем использовать оператор перенаправления вывода (>). Этот оператор берет вывод команды, который обычно отображается на экране, и сохраняет его в файл.
Убедитесь, что вы находитесь в своей рабочей директории по умолчанию (~/project). Выполните следующую команду, чтобы сделать Whois-запрос для ubuntu.com и сохранить весь вывод в файл с именем whois_full.txt:
whois ubuntu.com > whois_full.txt
Поскольку мы перенаправили вывод, вы не увидите ничего на экране. Чтобы убедиться, что команда сработала, и просмотреть первые несколько строк файла, используйте команду head:
head -n 15 whois_full.txt
Вы должны увидеть вывод, похожий на этот, отображающий начальные сведения о регистрации:
Domain Name: UBUNTU.COM
Registry Domain ID: 121365156_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2024-04-27T10:28:21Z
Creation Date: 2004-05-29T18:38:39Z
Registry Expiry Date: 2026-05-29T18:38:39Z
Registrar: MarkMonitor Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2086851750
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: NS1.CANONICAL.COM
Эти необработанные данные содержат массу информации, но читать их вручную может быть утомительно. На следующих этапах мы научимся фильтровать этот файл для поиска конкретных сведений.
Извлечение административных контактов
На этом этапе вы узнаете, как извлечь конкретную контактную информацию из собранных нами необработанных данных Whois.
Во время разведки идентификация административных и технических контактов очень ценна. Эти адреса электронной почты и номера телефонов могут дать представление о структуре организации-цели и часто используются на более поздних этапах оценки (например, при социальной инженерии или поиске ключевого персонала).
Даже когда современные правила конфиденциальности скрывают личные данные, оставшиеся контакты регистратора и службы по борьбе со злоупотреблениями (abuse) все равно дают представление о том, как управляется домен и кто несет за него ответственность.
Для извлечения этой информации мы будем использовать команду grep. grep — это мощная утилита для поиска текста в Linux, которая выводит строки, соответствующие заданному шаблону. Мы будем использовать флаг -i с grep, чтобы сделать поиск нечувствительным к регистру, что означает, что он найдет "Email", "email" или "EMAIL".
Выполните следующую команду для поиска слова "email" в нашем файле whois_full.txt и сохраните результаты в новый файл с именем contacts.txt:
grep -i "email" whois_full.txt > contacts.txt
Теперь давайте просмотрим содержимое файла contacts.txt с помощью команды cat, которая считывает файл и выводит все его содержимое на экран:
cat contacts.txt
Ваш вывод должен выглядеть примерно так, отображая контактные адреса электронной почты, связанные с доменом:
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrant Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
Tech Email: Select Request Email Form at https://domains.markmonitor.com/whois/ubuntu.com
...
Примечание: Из-за современных правил конфиденциальности, таких как GDPR, многие регистраторы теперь скрывают личные адреса электронной почты в публичных записях Whois. Однако вы часто все равно найдете адреса электронной почты для жалоб на злоупотребления или общие административные адреса, которые остаются полезными элементами разведданных.
Идентификация целевых серверов имен
На этом заключительном этапе вы извлечете авторитетные серверы имен для целевого домена.
Серверы имен являются фундаментальной частью системы доменных имен (DNS). Они действуют как интернет-справочник, переводя понятные человеку доменные имена (например, ubuntu.com) в IP-адреса, которые компьютеры используют для связи. Идентификация серверов имен цели показывает, какая компания хостит их DNS-инфраструктуру. Это может выявить, управляют ли они своими серверами самостоятельно или используют стороннего облачного провайдера (например, AWS, Cloudflare или конкретного регистратора).
Это стратегически полезно, так как DNS-провайдеры часто становятся частью истории поверхности атаки. Они могут раскрыть настройки передачи, неправильные конфигурации или подсказки о том, как цель управляет своими внешними сервисами.
Мы снова будем использовать команду grep для фильтрации наших исходных данных Whois. На этот раз мы ищем термин "Name Server".
Выполните следующую команду, чтобы извлечь записи серверов имен из whois_full.txt и сохранить их в файл с именем nameservers.txt:
grep -i "Name Server" whois_full.txt > nameservers.txt
Используйте команду cat для просмотра извлеченных серверов имен:
cat nameservers.txt
Вы должны увидеть вывод, похожий на следующий:
Name Server: NS1.CANONICAL.COM
Name Server: NS2.CANONICAL.COM
Name Server: NS3.CANONICAL.COM
Name Server: ns1.canonical.com
Name Server: ns3.canonical.com
Name Server: ns2.canonical.com
В этом примере серверы имен указывают на CANONICAL.COM. Canonical — это компания, которая разрабатывает и поддерживает Ubuntu. Это говорит нам о том, что Canonical управляет своей DNS-инфраструктурой самостоятельно, а не полагается на сторонний сервис, что является ценным элементом технической разведки.
Резюме
Поздравляем! Вы успешно завершили лабораторную работу по перечислению доменов и Whois.
В этой лабораторной работе вы узнали, как проводить пассивную разведку с помощью встроенных инструментов командной строки Linux. Вы использовали команду whois для запроса к базам данных регистрации публичных доменов и использовали перенаправление вывода (>) для сохранения своих находок. Кроме того, вы попрактиковались в использовании команды grep для анализа больших объемов текста, успешно извлекая конкретные, пригодные для использования разведданные, такие как административные контактные адреса электронной почты и авторитетные серверы имен.
Эти базовые навыки необходимы для составления карты внешнего присутствия цели до начала любого активного сканирования или взаимодействия.



