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

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Certificate transparency и история DNS в разведке

crt.sh, логи CT и пассивный DNS, чтобы нанести на карту хосты и инфраструктуру своей области, а чат NotHoly коррелирует записи.

Средний3 мин чтенияАвтор: NotHoly

Каждый TLS-сертификат, который выдаёт публичный CA, записывается в публичные логи certificate transparency, логи CT. Имена в этих сертификатах, включая внутренне выглядящие поддомены, может искать кто угодно. Соедините CT с историей DNS, записью о том, куда имя указывало со временем, и вы нанесёте инфраструктуру цели на карту, не послав ей запроса. Чат NotHoly помогает связать части: один IP, один сертификат, один шаблон.

Запрашивайте логи CT через crt.sh

crt.sh это веб-интерфейс к логам CT, и он также говорит на JSON, так что его можно скриптовать.

bash
curl -s 'https://crt.sh/?q=%25.example.com&output=json' \
  | jq -r '.[].name_value' | anew ct.txt

%25 это закодированный в URL процент, SQL-подстановка, так что это возвращает каждое имя, встреченное в сертификате под example.com. Часть строк приходит как wildcard-записи, со звёздочкой и точкой в начале; оставьте или уберите по вкусу. CT часто вскрывает хосты, которых вообще нет в брутфорсе DNS или краулинге, потому что сертификат выдали до того, как хост вышел в сеть.

Читайте, что связывает сертификат

Один сертификат может перечислять много имён в поле subject alternative name, SAN. Когда хост dev, хост staging и хост admin делят один сертификат, они обычно делят одно развёртывание. Вытащите набор SAN хоста напрямую.

bash
echo | openssl s_client -connect api.example.com:443 2>/dev/null \
  | openssl x509 -noout -text | grep -A1 'Subject Alternative Name'

Имена, напечатанные рядом с вашим хостом, это сильные зацепки. Они в области только если сидят под корнями, которые вам разрешено тестировать, поэтому сверьте каждое с листом области.

Добавьте историю DNS

Текущая запись имени это один снимок. История DNS показывает IP и почтовые серверы, которые оно использовало раньше, что может вскрыть origin за CDN или старый сервер, который ещё работает. Провайдеры пассивного DNS держат эти данные, и у многих есть бесплатный уровень. Разрешайте текущие записи сами через dnsx.

bash
dnsx -l ct.txt -a -resp -silent -o resolved.txt

Сравните сегодняшние IP с историческим набором. IP, который CDN уже не прикрывает, но который всё ещё отвечает, достоин осторожного и находящегося в области взгляда, потому что это может быть origin, который CDN должен был скрыть.

Коррелируйте в чате

Вставьте имена сертификатов, разрешённые IP и любую историю в чат NotHoly.

text
Вот хосты, их текущие IP и исторические IP.
Сгруппируй по общему IP и общему сертификату, отметь любой
origin-IP вне диапазонов CDN и выпиши группы
инфраструктуры, которые можно вывести. Отметь неясное.

Модель группирует записи и называет свою неуверенность, что удерживает вас от перечитывания совпадения. Подтвердите каждую группу своим разрешением, прежде чем считать её фактом, потому что исторические данные могут устареть.

Область и приватность

CT и история DNS публичны, но хосты, которые они вскрывают, не все ваши, чтобы их трогать. Сертификат может называть общую платформу или партнёра, так что оставьте только имена под корнями, которые вам разрешено тестировать. Находка origin-IP не расширяет вашу область; если он вне области, вы записываете и останавливаетесь.

Частые вопросы

Можно найти поддомены, которые брутфорс DNS пропускает?

Да. CT показывает имена из сертификатов, которые выдали, но у которых, возможно, никогда не было публичной записи DNS, или которые позже убрали из DNS. Это один из самых урожайных пассивных источников, поэтому он стоит рано в разведке.

Запрос к crt.sh пассивен?

Запрос к crt.sh касается crt.sh, а не вашей цели, так что он пассивен по отношению к цели. Разрешение этих имён через dnsx шлёт DNS-запросы, так что относитесь к этому шагу как к лёгкой активной работе и держите его в области.

CT и DNS дают инфраструктуру; следующий источник это код. Переходите к разведке GitHub и поиску по коду. Назад к краулингу и сбору URL.

Источники

  1. crt.sh, certificate transparency search
  2. Certificate Transparency project
  3. RFC 6962, Certificate Transparency
  4. dnsx, repository

Ещё по теме: OSINT и разведка

OSINT и разведка

OSINT с нуля: ИИ как второй пилот

Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.

Начальный2 мин чтения

OSINT и разведка

Краулинг и сбор URL: gospider, gau, qsreplace

Соберите URL и параметры своей области: gospider, hakrawler, waybackurls и gau, затем фильтр через qsreplace и чат NotHoly.

Начальный2 мин чтения