
Мониторинг облачного ландшафта
Наша миссия в этом проекте — предоставить всегда актуальную и свободно доступную карту облачного ландшафта для каждого крупного поставщика облачных услуг.
Мы решили начать со сбора данных SSL-сертификатов машин AWS EC2 и GCP, учитывая ценность этих данных для исследователей безопасности. Однако в ближайшем будущем мы планируем расширить проект, включив в него больше данных и провайдеров. Ваши отзывы и предложения невероятно ценны для нас, поэтому, пожалуйста, не стесняйтесь обращаться к нам в Twitter или Discord и сообщите, какие области, по вашему мнению, мы должны развивать в первую очередь!
Данные SSL организованы в CSV-файлы со следующими свойствами, собранными для каждого найденного сертификата:
Итак, что можно сделать с этими данными?
Ищите доменные имена вашей цели (например, example.com) и находите совпадения в полях Общее имя и Альтернативное имя субъекта собранных сертификатов. Все IP-диапазоны сканируются ежедневно, и набор данных обновляется соответствующим образом, поэтому вы с большой вероятностью найдете эфемерные хосты до того, как они будут удалены.
Ищите название компании вашей цели (например, Example, Inc.), находите совпадения в поле Организация и изучайте связанные поля Общее имя и Альтернативное имя субъекта. Результаты, вероятно, будут включать поддомены знакомых вам доменов, и если вам повезет, вы можете найти новые корневые домены, расширяя область исследования.
Если сертификат выдан для wildcard (например, *.foo.example.com), велика вероятность, что там есть и другие поддомены, которые можно найти с помощью брутфорса. И вы знаете, насколько эффективной может быть эта техника. Вот несколько словников, которые помогут вам в этом!
💡 Примечание: не забывайте следить за ежедневными обновлениями набора данных, чтобы получать уведомления о появлении новых ресурсов!
Ищите IP-адрес (например, 3.122.37.147), чтобы найти связанные с ним имена хостов, и изучайте поля Общее имя, Альтернативное имя субъекта и Организация, чтобы получить больше информации об этом адресе.
Когда веб-сайт скрыт за прокси-сервисами безопасности, такими как Cloudflare, Akamai, Incapsula и другими, можно выполнить поиск имени хоста (например, example.com) в наборе данных. Этот поиск может раскрыть реальный IP-адрес, что позволит обойти прокси. Мы обсуждали аналогичную технику в нашем блоге, который можно найти здесь!
Каждый IP-адрес в наборе данных соответствует HTTPS-серверу, работающему на порту 443. Вы можете использовать эти данные для масштабных исследований, не тратя время на их самостоятельный сбор.
Если вы используете эти данные для интересного проекта или исследования, мы будем рады услышать об этом!
Кроме того, ниже вы найдете подробное описание нашего процесса сбора данных и того, как вы можете реализовать ту же технику для сбора информации с ваших собственных IP-диапазонов.

.prefixes[] | select(.service=="EC2") | .ip_prefix. Другие сервисы исключены из этого рабочего процесса, так как они не поддерживают пользовательские SSL-сертификаты, что делает их данные нерелевантными для нашего набора..prefixes[].ipv4Prefix.file-splitter. Этот узел перебирает входные данные от mapcidr и запускает отдельные задания для каждого диапазона. При выполнении этого рабочего процесса на нескольких машинах (скажем, 30) они параллельно обрабатывают эти задания, что значительно сокращает общее время выполнения. Эта эффективность позволяет нам запускать рабочий процесс ежедневно, поддерживая данные в актуальном состоянии.zgrab2 оказался самым быстрым и надежным вариантом. Огромное спасибо команде !Все вклады/идеи/предложения приветствуются! Не стесняйтесь создавать новый тикет через GitHub issues, написать нам в твиттере @trick3st или присоединиться к обсуждению на Discord.
Мы верим в ценность экспериментов; шаблонные решения редко бывают эффективными. Запишитесь на демонстрацию Trickest, чтобы настроить этот рабочий процесс под ваши задачи, получить доступ ко множеству других рабочих процессов или создать собственные с нуля!
| IP-адрес | Общее имя | Организация | Страна | Населенный пункт | Провинция/Штат | Альтернативное DNS-имя субъекта | Альтернативный IP-адрес субъекта | Самоподписанный |
|---|
| 1.2.3.4 | example.com | Example, Inc. | US | San Francisco | California | example.com | 1.2.3.4 | false |
| 5.6.7.8 | acme.net | Acme, Inc. | US | Seattle | Washington | *.acme.net | 5.6.7.8 | false |