
Использование журналов Live CT для автоматизированного мониторинга активов

Читайте блог здесь : https://medium.com/@Asm0d3us/weaponizing-live-ct-logs-for-automated-monitoring-of-assets-39c6973177c7
В Bugbounty «Если ты не первый, то ты последний» — нет такого понятия, как серебряная или бронзовая медаль. Разведка играет очень важную роль, и если вы сможете обнаружить/идентифицировать недавно добавленный актив раньше других, то ваши шансы найти/сообщить об уязвимости безопасности на этом активе и получить за это вознаграждение будут выше, чем у других.
Лично я уже довольно давно отслеживаю CT-логи на предмет доменов/поддоменов, и это дало мне много успешных результатов. Вдохновением для этого послужил «Sublert: от yassineaboukir», который проверяет crt.sh на поддомены и может выполняться периодически. Однако я использую несколько иной подход: вместо периодического просмотра crt.sh я извлекаю домены из потоков журналов CT в реальном времени. Таким образом, мои шансы найти новый актив раньше других выше.
Я предполагаю, что вы уже настроили рабочее пространство Slack.
Теперь создайте канал с именем «subdomain-monitor» и настройте входящий вебхук.
Отредактируйте файл config.yaml и вставьте туда URL вашего Slack-вебхука. Должно выглядеть примерно так

Вы можете указать ключевые слова и домены для сопоставления в файле domains.yaml. Вы можете указать имена.
Для сопоставления поддоменов :
Примечание: обратите внимание на точку перед [ . ]
Возьмем «.facebook.com» в качестве примера. Домены, извлеченные из CT-логов в реальном времени, будут сопоставляться со словом «.facebook.com». При совпадении они будут записаны в наш выходной файл (found-domains.log). Стоит отметить, что это даст некоторые ложные срабатывания, такие как «test.facebook.com.test.com», «example.facebook.company», но мы можем отфильтровать их позже с помощью магии регулярных выражений.
Допустим, вы хотите отслеживать и записывать домены/поддомены, содержащие слово «hackerone». Тогда наш файл domains.yaml будет выглядеть примерно так.

Теперь все извлеченные домены/поддомены, содержащие слово «hackerone», будут сопоставлены и записаны (и вам будет отправлено уведомление в Slack для них).
Итак, мы закончили с первоначальной настройкой. Давайте установим необходимые зависимости и запустим наш инструмент.
$ pip3 install -r requirements.txt
$ python3 certeagle.py

Совпавшие домены будут выглядеть так:

Уведомления Slack будут выглядеть так:

Выходные файлы:
Программа будет продолжать работать, все совпавшие домены будут сохранены в каталоге output в файле found-domains.log.

Строгое предупреждение: не отслеживайте активы какой-либо организации без предварительного согласия.
Пишите мне в личку : @0xAsm0d3us
Если вы считаете, что моя работа принесла пользу вашим существующим знаниям, вы можете купить мне кофе здесь (а кто не любит хорошую чашку кофе?')