Перейти к содержимому

Domain Intel - пассивная разведка доменов на Python stdlib

Пассивная разведка доменов на Python stdlib: поиск субдоменов, проверка SSL-сертификатов, WHOIS, DNS-записи, проверка доступности домена и массовый анализ нескольких доменов. API-ключи не нужны.

ИсточникOptional - устанавливается через hermes skills install official/research/domain-intel
Путьoptional-skills/research/domain-intel

Ниже приведено полное определение навыка, которое Hermes загружает при его активации. Именно эти инструкции агент видит во время работы навыка.

Пассивная разведка доменов только на Python stdlib. Ноль зависимостей. Ноль API-ключей. Работает на Linux, macOS и Windows.

Навык включает scripts/domain_intel.py - полноценный CLI для всех операций domain intelligence.

Окно терминала
# Поиск субдоменов через Certificate Transparency logs
python3 SKILL_DIR/scripts/domain_intel.py subdomains example.com
# Проверка SSL-сертификата
python3 SKILL_DIR/scripts/domain_intel.py ssl example.com
# WHOIS lookup
python3 SKILL_DIR/scripts/domain_intel.py whois example.com
# DNS-записи
python3 SKILL_DIR/scripts/domain_intel.py dns example.com
# Проверка доступности домена
python3 SKILL_DIR/scripts/domain_intel.py available coolstartup.io
# Массовый анализ
python3 SKILL_DIR/scripts/domain_intel.py bulk example.com github.com google.com
python3 SKILL_DIR/scripts/domain_intel.py bulk example.com github.com --checks ssl,dns

SKILL_DIR - каталог, в котором находится текущий SKILL.md. Весь вывод возвращается в structured JSON.

CommandWhat it doesData source
subdomainsПоиск субдоменов по сертификатным логамcrt.sh (HTTPS)
sslПроверка деталей TLS-сертификатаПрямое подключение к :443
whoisРегистрационные данные, регистратор и датыWHOIS-серверы (TCP:43)
dnsA, AAAA, MX, NS, TXT, CNAME-записиSystem DNS + Google DoH
availableПроверка, зарегистрирован ли доменDNS + WHOIS + SSL signals
bulkНесколько проверок для нескольких доменовВсе источники выше

Когда использовать этот навык вместо встроенных инструментов

Заголовок раздела «Когда использовать этот навык вместо встроенных инструментов»
  • Используйте этот навык для вопросов об инфраструктуре: субдомены, SSL, WHOIS, DNS, доступность домена
  • Используйте web_search для общего исследования компании или сайта
  • Используйте web_extract для получения содержимого веб-страницы
  • Используйте terminal с curl -I для простой проверки доступности URL
TaskBetter toolWhy
”What does example.com do?”web_extractПолучает контент страницы, а не DNS/WHOIS
”Find info about a company”web_searchЭто общее исследование, а не доменная разведка
”Is this website safe?”web_searchНужен web-контекст и репутационные данные
”Check if a URL is reachable”terminal with curl -IЭто простая HTTP-проверка
”Find subdomains of X”This skillПассивный источник именно для этого
”When does the SSL cert expire?”This skillВстроенные инструменты не инспектируют TLS
”Who registered this domain?”This skillWHOIS нет в web search
”Is coolstartup.io available?”This skillПассивная эвристика через DNS + WHOIS + SSL

Чистый Python stdlib: socket, ssl, urllib, json, concurrent.futures. Работает одинаково на Linux, macOS и Windows без дополнительных зависимостей.

  • crt.sh использует HTTPS на порту 443
  • WHOIS использует TCP 43 и может блокироваться в строгих сетях
  • DNS использует Google DoH по HTTPS для MX/NS/TXT
  • SSL checks соединяются с целевым доменом на порту 443

Все запросы пассивные - никакого порт-сканирования и проверки уязвимостей:

  • crt.sh - Certificate Transparency logs
  • WHOIS servers - прямой TCP-доступ к authoritative registrars
  • Google DNS-over-HTTPS - MX, NS, TXT, CNAME
  • System DNS - A/AAAA
  • SSL check - единственная “активная” операция, это TCP-подключение к target:443
  • WHOIS использует TCP 43 и может блокироваться в ограниченных сетях
  • Некоторые WHOIS-серверы скрывают данные по GDPR
  • crt.sh может отвечать медленно для очень популярных доменов
  • Проверка доступности домена эвристическая и не заменяет ответ регистратора

Contributed by @FurkanL0