Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
s3dns — Пассивный DNS-сервер, который обнаруживает открытые облачные хранилища (AWS S3, GCP, Azure) путем разрешения DNS-запросов, трассировки цепочек CNAME и выявления потенциальных захватов поддоменов во время разведки. | Kitploit
Инструменты/GitHubGitHub/olizimmermann/s3dns
OSINT (Разведка открытых источников)РазведкаАнализ уязвимостейСбор информацииТестирование на ПроникновениеБезопасность облачных средПеречисление ПоддоменовАнализ DNS
GitHubolizimmermann/s3dns

s3dns

Пассивный DNS-сервер, который обнаруживает открытые облачные хранилища (AWS S3, GCP, Azure) путем разрешения DNS-запросов, трассировки цепочек CNAME и выявления потенциальных захватов поддоменов во время разведки.

12913321 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт

S3DNS

s3dns — это легковесный DNS-сервер, который помогает обнаруживать облачные бакеты для хранения данных (AWS S3, Google Cloud Storage и Azure Blob) путем обработки DNS-запросов, отслеживания CNAME-записей и сопоставления с известными шаблонами URL-адресов бакетов.

Это удобный инструмент для пентестеров, охотников за багами и аналитиков облачной безопасности, которые хотят выявлять открытые облачные бакеты при анализе DNS-трафика.

Если S3DNS экономит ваше время во время разведки, поставьте ему ⭐️ — это поможет другим найти проект.



🆕 Обновление 2026/03/06

  • Поддержка TCP/53 — S3DNS теперь слушает как по UDP, так и по TCP на порту 53. Клиенты, которые повторяют запрос по TCP после усеченного UDP-ответа, обрабатываются корректно: запрос пересылается вышестоящему DNS-серверу по TCP для получения полного ответа.
  • Увеличенный DNS-буфер — Буфер приема UDP увеличен с 512 до 4096 байт. EDNS0-опции от клиента передаются вышестоящему резолверу без изменений.
  • Кэш ответов — LRU-кэш DNS-ответов с учетом TTL, общий для путей UDP и TCP. Снижает нагрузку на вышестоящий сервер и задержки во время активной разведки. Настраивается через CACHE_SIZE (по умолчанию: 1000 записей; установите 0 для отключения).
  • Ограничение скорости — Ограничение количества запросов на один IP-адрес клиента для предотвращения злоупотреблений. Настраивается через RATE_LIMIT (по умолчанию: 100 запросов/с; установите 0 для отключения).
  • Обнаружение перехвата поддоменов — Когда домен соответствует шаблону облачного хранилища, но возвращает NXDOMAIN, S3DNS помечает его как возможный перехват домена. Это указывает на болтающуюся DNS-запись, указывающую на незарегистрированный бакет, который может зарегистрировать злоумышленник.
  • Проверка диапазонов IPv6 — AAAA-записи теперь также разрешаются и проверяются на принадлежность к известным диапазонам IP-адресов облачных хранилищ. IPv6-префиксы AWS S3 загружаются вместе с IPv4-диапазонами.
  • Лимит глубины CNAME — Рекурсивное отслеживание цепочек CNAME теперь ограничено (по умолчанию: 10 переходов), чтобы предотвратить бесконечные циклы на искусственных или циклических записях. Настраивается через параметр max_cname_depth.

Обновление 2025/08/19

  • Добавлены офлайн-диапазоны IP AWS в виде JSON-файла.
  • Добавлены офлайн-диапазоны IP Azure Storage в виде JSON-файла.
  • Добавлена возможность отключить проверку IP-диапазонов для каждого сервиса с помощью:
    • AZURE_IP_RANGES=false или AWS_IP_RANGES=false (по умолчанию true).
  • Перемещены regex_patterns и жестко заданные шаблоны в папку patterns как YAML-файлы. Вы можете добавлять свои собственные шаблоны.
    • Regex-шаблоны должны начинаться с regex_.
  • Добавлено ещё несколько облачных провайдеров:
    • IBM Cloud Object Storage
    • Oracle Object Storage
    • Alibaba OSS
    • Backblaze B2
    • Linode Object Storage
    • Scaleway Object Storage
    • Vultr Object Storage
    • Cloudflare R2

Обновление 2025/06/21

  • Добавлена поддержка AWS GovCloud.

Обновление 2025/04/16

  • Обновлены regex-шаблоны.
  • Улучшен вывод для лучшей наглядности (отображается исходный домен для CNAME, IP-адрес клиента и индикаторы диапазона IP).
  • Автоматическая загрузка IP-диапазонов от AWS — теперь проверяются и они!
  • Возможность добавить свои собственные IP-диапазоны (вручную настроить шаблоны или IP-диапазоны в классе).

Обновление 2025/04/14

  • Добавлена поддержка regex для бакетов Google Cloud Storage и Azure Blob Storage.

🚀 Возможности

  • Работает как DNS-сервер на порту 53 (UDP и TCP)
  • Обнаруживает потенциальные облачные бакеты в DNS-запросах:
    • AWS S3 (виртуальный хост и стиль пути, включая GovCloud)
    • GCP Buckets
    • Azure Blob Containers
    • DigitalOcean Spaces, Wasabi, IBM COS, Oracle Object Storage, Alibaba OSS, Backblaze B2, Linode, Scaleway, Vultr, Cloudflare R2
  • Рекурсивно отслеживает цепочки CNAME (настраиваемый лимит глубины) для выявления скрытых ссылок на облачные бакеты
  • Помечает потенциальные перехваты поддоменов — шаблоны облачных хранилищ, возвращающие NXDOMAIN
  • Проверяет разрешенные IP-адреса (как A, так и AAAA) на вхождение в известные IP-диапазоны AWS S3 и Azure Storage
  • Кэш ответов с учетом TTL для снижения задержки и нагрузки на вышестоящие серверы во время разведки
  • Ограничение скорости на IP для предотвращения злоупотреблений
  • Логирует все находки в консоль и файл
  • Дружелюбен к контейнерам

⚙️ Как это работает

S3DNS слушает порт 53 (UDP и TCP) для DNS-запросов. Для каждого запроса он:

  1. Извлекает запрошенный домен
  2. Проверяет кэш ответов — если есть валидный кэшированный ответ, он возвращается немедленно
  3. Пересылает запрос реальному DNS-резолверу (например, 1.1.1.1) — по UDP для UDP-клиентов, по TCP для TCP-клиентов
  4. Возвращает валидный DNS-ответ клиенту

Параллельно он:

  • Проверяет шаблоны облачных бакетов (regex и точное совпадение имени хоста)
  • Проверяет разрешенные IP-адреса на вхождение в известные диапазоны AWS S3 и Azure Storage (IPv4 и IPv6)
  • Рекурсивно отслеживает цепочки CNAME до заданной глубины
  • Помечает попадания NXDOMAIN по совпавшим шаблонам как возможные кандидаты на перехват поддомена
  • Логирует все находки в консоль и файл s3dns.log

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


🧱 Предварительные требования

Вам понадобится только одно из следующего:

  • Python 3.11+
  • Docker (опционально, но рекомендуется)

🔧 Установка

Требуется только если вы хотите запускать локально с помощью Python

Клонирование репозитория

git clone https://github.com/olizimmermann/s3dns.git
cd s3dns

Установка зависимостей

(Рекомендуется использовать виртуальное окружение)

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

🧪 Использование

Запуск с Python

Порт 53 требует повышенных привилегий:

sudo python s3dns.py

Если sudo сообщает о недостающем модуле, попробуйте: sudo venv/bin/python s3dns.py

  • Если вы собираете образ самостоятельно, обязательно тегните его так же, как версию на Docker Hub для согласованности: docker build -t ozimmermann/s3dns:latest .

Использование Docker

Самый простой способ начать работу с S3DNS.

docker pull ozimmermann/s3dns:latest
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Сборка и запуск с Docker

docker build -t ozimmermann/s3dns:latest .
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Результаты сохраняются:

  • В терминале и/или
  • В ./bucket_findings/

Устранение неполадок

При использовании S3DNS на той же машине, где вы проводите анализ, может помочь установка флага --network host:

docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --network host \
  --name "s3dns" \
  ozimmermann/s3dns:latest

Поскольку порт 53 требует повышенных привилегий, некоторым пользователям (например, пользователям Mac) может понадобиться sudo:

sudo docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest

🌐 Использование S3DNS в разведке

Укажите DNS-резолвер вашей системы или инструмента на ваш экземпляр S3DNS.

Скачать инструмент