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

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

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

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

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

Категории

Все категории
Loading categories
festin — FestIn - Сканер открытых S3-бакетов | Kitploit
Инструменты/GitHubGitHub/cr0hn/festin
OSINT (Разведка открытых источников)Сканеры уязвимостейСбор информацииБезопасность облачных средКраулерАнализ DNS
GitHubcr0hn/festin

festin

FestIn - Сканер открытых S3-бакетов

Репозиторий
2333332 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Логотип Festin

FestIN — мощный инструмент для поиска S3-корзин и обнаружения контента

  • Что такое FestIn
  • Почему Festin
  • Установка
    • Использование Python
    • Использование Docker
  • Все параметры
  • Использование
    • Настройка доменов для поиска
    • Параллельность
    • Настройка HTTP-сканирования
    • Управление результатами
    • Использование прокси
    • Параметры DNS
    • Поддержка полнотекстового поиска
    • Запуск в режиме службы (или режим наблюдения)
  • Пример: Использование FestIn вместе с DnsRecon
    • Шаг 1 - Запустите dnsrecon с нужными параметрами для домена target и сохраните результат
    • Шаг 2 - Подготовьте предыдущий сгенерированный файл для передачи FestIn
    • Шаг 3 - Запустите FestIn с нужными параметрами и сохраните результат - Запуск против target.com с использованием Tor-прокси, параллельностью 5, DNS 212.166.64.1 для разрешения CNAME и сохранением результата в файл target.com.result:
  • Вопросы и ответы
  • Кто использует FestIn
  • MrLooquer
  • Лицензия

Что такое FestIn

FestIn — это инструмент для обнаружения открытых S3-корзин, начиная с доменов.

Он выполняет множество тестов и собирает информацию из:

  • DNS
  • Веб-страницы (краулер)
  • Сама S3-корзина (например, S3-редиректы)

Почему Festin

Существует множество S3-инструментов для перечисления и обнаружения S3-корзин. Некоторые из них отличные, но ни один из них не имеет полного набора функций, которые есть у Festin.

Основные функции, которые делают Festin отличным:

  • Различные методы для поиска корзин: сканирование (crawling), DNS-сканирование и анализ S3-ответов.
  • Поддержка прокси для туннелирования запросов.
  • Учётные данные AWS не требуются.
  • Работает с любым S3-совместимым провайдером, не только с AWS.
  • Позволяет настраивать пользовательские DNS-серверы.
  • Встроенный высокопроизводительный HTTP-краулер.
  • Рекурсивный поиск и обратная связь от трёх движков: домен, найденный DNS-краулером, отправляется в анализатор S3 и HTTP-краулера, и то же самое для S3 и краулера.
  • Работает в режиме «наблюдения», прослушивая новые домены в реальном времени.
  • Сохраняет все обнаруженные домены в отдельный файл для дальнейшего анализа.
  • Позволяет загружать объекты корзин и автоматически помещать их в движок полнотекстового поиска (Redis Search), индексируя содержимое объектов для дальнейшего мощного поиска.
  • Ограничить поиск одним или несколькими доменами.

Установка

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

root@kitploit:~
Требуется Python 3.8 и выше!
root@kitploit:~
$ pip install festin
$ festin -h

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

root@kitploit:~
$ docker run --rm -it cr0hn/festin -h

Все параметры

root@kitploit:~
$ festin -h
usage: __main__.py [-h] [--version] [-f FILE_DOMAINS] [-w] [-c CONCURRENCY] [--no-links] [-T HTTP_TIMEOUT] [-M HTTP_MAX_RECURSION] [-dr DOMAIN_REGEX] [-rr RESULT_FILE] [-rd DISCOVERED_DOMAINS] [-ra RAW_DISCOVERED_DOMAINS]
                   [--tor] [--debug] [--no-print] [-q] [--index] [--index-server INDEX_SERVER] [-dn] [-ds DNS_RESOLVER]
                   [domains [domains ...]]

Festin - the powered S3 bucket finder and content discover

positional arguments:
  domains

optional arguments:
  -h, --help            show this help message and exit
  --version             show version
  -f FILE_DOMAINS, --file-domains FILE_DOMAINS
                        file with domains
  -w, --watch           watch for new domains in file domains '-f' option
  -c CONCURRENCY, --concurrency CONCURRENCY
                        max concurrency

HTTP Probes:
  --no-links            extract web site links
  -T HTTP_TIMEOUT, --http-timeout HTTP_TIMEOUT
                        set timeout for http connections
  -M HTTP_MAX_RECURSION, --http-max-recursion HTTP_MAX_RECURSION
                        maximum recursison when follow links
  -dr DOMAIN_REGEX, --domain-regex DOMAIN_REGEX
                        only follow domains that matches this regex

Results:
  -rr RESULT_FILE, --result-file RESULT_FILE
                        results file
  -rd DISCOVERED_DOMAINS, --discovered-domains DISCOVERED_DOMAINS
                        file name for storing new discovered after apply filters
  -ra RAW_DISCOVERED_DOMAINS, --raw-discovered-domains RAW_DISCOVERED_DOMAINS
                        file name for storing any domain without filters

Connectivity:
  --tor                 Use Tor as proxy

Display options:
  --debug               enable debug mode
  --no-print            doesn't print results in screen
  -q, --quiet           Use quiet mode

Redis Search:
  --index               Download and index documents into Redis
  --index-server INDEX_SERVER
                        Redis Search ServerDefault: redis://localhost:6379

DNS options:
  -dn, --no-dnsdiscover
                        not follow dns cnames
  -ds DNS_RESOLVER, --dns-resolver DNS_RESOLVER
                        comma separated custom domain name servers

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

Настройка доменов для поиска

По умолчанию FestIn принимает начальный домен как параметр командной строки:

root@kitploit:~
> festin mydomain.com

Но вы также можете настроить внешний файл со списком доменов:

root@kitploit:~
> cat domains.txt
domain1.com
domain2.com
domain3.com
> festin -f domains.txt 

Параллельность

FestIn выполняет много тестов для одного домена. Каждый тест выполняется параллельно. По умолчанию параллельность установлена на 5. Если вы хотите увеличить количество параллельных тестов, установите параметр -c

root@kitploit:~
> festin -c 10 mydomain.com 
root@kitploit:~
Будьте осторожны с количеством параллельных тестов, иначе на некоторых сайтах могут возникнуть «тревоги».

Настройка HTTP-сканирования

FestIn содержит небольшой краулер для обнаружения ссылок на S3-корзины. Краулер принимает следующие параметры:

  • Тайм-аут (-T или --http-timeout): настройка тайм-аута для HTTP-соединиений. Если веб-сайт домена, который вы хотите проанализировать, медленный, мы рекомендуем увеличить это значение. По умолчанию тайм-аут составляет 5 секунд.
  • Максимальная рекурсия (-H или --http-max-recursion): это значение устанавливает предел рекурсии краулера. В противном случае FestIn просканирует весь интернет. По умолчанию это значение равно 3. Это означает, что будет следовать только: domain1.com -> [link] -> domain2.com -> [link] -> domain3.com -> [link] -> Достигнута максимальная рекурсия. Остановка.
  • Ограничение доменов (-dr или --domain-regex): установите этот параметр, чтобы ограничить краулер только теми доменами, которые соответствуют этому регулярному выражению.
  • Чёрный список (-B): настройка файла со словами чёрного списка. Каждый домен, соответствующий какому-либо слову в чёрном списке, будет пропущен.
  • Белый список (-W): настройка файла со словами белого списка. Каждый домен, НЕ соответствующий какому-либо слову в белом списке, будет пропущен.

Пример:

root@kitploit:~
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com 
root@kitploit:~
БУДЬТЕ ВНИМАТЕЛЬНЫ: -dr (или --domain-regex) принимает только корректные POSIX-регулярные выражения. 

*mydomain.com* -> не является корректным POSIX-регулярным выражением
.mydomain\.com. -> является корректным POSIX-регулярным выражением

Управление результатами

При запуске FestIn обнаруживает много полезной информации. Не только об S3-корзинах, но и о других проверках, которые мы можем провести. Например:

После использования FestIn мы можем использовать обнаруженную информацию (домены, ссылки, ресурсы, другие корзины...) в качестве входных данных для других инструментов, таких как nmap.

По этой причине FestIn имеет 3 различных режима для сохранения обнаруженной информации, и мы можем комбинировать их:

  • Файл результатов FestIn (-rr или --result-file): этот файл содержит одну JSON-строку на каждую найденную корзину. Каждый JSON включает: исходный домен, имя корзины и список объектов в корзине.
  • Файл отфильтрованных обнаруженных доменов (-rd или --discovered-domains): этот файл содержит один домен на строку. Эти домены обнаружены краулером, DNS или S3-проверками, но сохраняются только те домены, которые соответствуют пользовательским и внутренним фильтрам.
  • Файл необработанных обнаруженных доменов (-ra или --raw-discovered-domains): этот файл содержит все домены, по одному на строку, обнаруженные FestIn без каких-либо фильтров. Этот параметр полезен для последующей обработки и анализа.

Пример:

root@kitploit:~
> festin -rr festin.results -rd discovered-domains.txt -ra raw-domains.txt mydomain.txt 

И, в связке с Nmap:

root@kitploit:~
> festin -rd domains.txt && nmap -Pn -A -iL domains.txt -oN nmap-domains.txt 

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

FestIn включает параметр --tor. При использовании этого параметра вам нужен локальный Tor-прокси, работающий на порту 9050 на 127.0.0.1.

root@kitploit:~
> tor &
> festin --tor mydomain.com 

Параметры DNS

Некоторые тесты, выполняемые FestIn, включают DNS. Он поддерживает следующие параметры:

  • Отключить DNS-обнаружение (-dn или --no-dnsdiscover)
  • Пользовательский DNS-сервер (-ds или --dns-resolver): настройка пользовательского DNS-сервера. Если вы планируете выполнять много тестов, вам следует использовать другой DNS-сервер, отличный от того, который использует ваш браузер.

Пример:

root@kitploit:~
> festin -ds 8.8.8.8 mydomain.com 

Поддержка полнотекстового поиска

FestIn может не только обнаруживать открытые S3-корзины. Он также может загружать всё содержимое и сохранять его в движок полнотекстового поиска. Это означает, что вы можете выполнять полнотекстовые запросы к содержимому корзины!

FestIn использует в качестве движка полнотекстового поиска проект с открытым исходным кодом Redis Search.

Эта функция имеет два параметра:

  • Включить индексацию (--index): чтобы включить индексацию в поисковом движке, установите этот флаг.
  • Конфигурация Redis Search (--index-server): вам нужно настроить этот параметр только в том случае, если ваш сервер работает на другом IP/порту, отличном от localhost:6379.

Пример:

root@kitploit:~
> docker run --rm -p 6700:6379 redislabs/redisearch:latest -d
> festin --index --index-server redis://127.0.0.1:6700 mydomain.com
root@kitploit:~
Обратите внимание: параметр `--index-server` должен иметь префикс **redis://**

Запуск в режиме службы (или режим наблюдения)

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

FestIn поддерживает режим наблюдения. Это означает, что FestIn запустится и будет прослушивать новые домены. Способ «отправить» новые домены в FestIn — это файл доменов. Он отслеживает изменения этого файла.

Эта функция полезна для комбинирования FestIn с другими инструментами, например dnsrecon

Пример:

root@kitploit:~
> festin --watch -f domains.txt 

В другом терминале мы можем написать:

root@kitploit:~
> echo "my-second-domain.com" >> domains.txt 
> echo "another-domain.com" >> domains.txt 

Каждый новый домен, добавленный в domains.txt, будет пробуждать FestIn.

Пример: Использование FestIn вместе с DnsRecon

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

В этом примере выбран домен target.com.

Шаг 1 - Запустите dnsrecon с нужными параметрами для домена target и сохраните результат

root@kitploit:~
>  dnsrecon -d target.com -t crt -c target.com.csv

С помощью этой команды мы узнаем другие домены, связанные с target.com. Это поможет максимизировать наши шансы на успех.

Шаг 2 - Подготовьте предыдущий сгенерированный файл для передачи FestIn

root@kitploit:~
> tail -n +2 target.com.csv | sort -u | cut -d "," -f 2 >> target.com.domains

С помощью этой команды мы создаём файл с одним доменом на строку. Это входные данные, которые требуются FestIn.

Шаг 3 - Запустите FestIn с нужными параметрами и сохраните результат

root@kitploit:~
>  festin -f target.com.domains -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 >target.com.stdout 2>target.com.stderr

В этом примере результирующие файлы:

  • target.com.result.json - Главный файл результатов с одной строкой на каждую найденную корзину. Каждая строка — это JSON-объект.
  • target.com.stdout - Стандартный вывод выполнения команды festin
  • target.com.stderr - Стандартная ошибка выполнения команды festin

Для упрощения обработки нескольких доменов мы предоставляем простой скрипт examples/loop.sh, который автоматизирует это.

Использование FestIn с результатами DnsRecon

Запуск против target.com с параметрами по умолчанию и сохранением результата в файл target.com.result:

root@kitploit:~
> festin target.com -rr target.com.result.json 
Запуск против target.com с использованием Tor-прокси, параллельностью 5, DNS 212.166.64.1 для разрешения CNAME и сохранением результата в файл target.com.result:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

Вопросы и ответы

В: AWS блокирует мой IP

О:

Когда вы выполняете много тестов против AWS S3, AWS заносит ваш IP в чёрный список. Затем каждый раз, когда вы попытаетесь получить доступ к любой S3-корзине с помощью FestIn или вашего браузера, доступ будет заблокирован.

Мы рекомендуем настроить прокси при использовании FestIn.

Кто использует FestIn

MrLooquer

Mr looquer

Они анализируют и оценивают подверженность рискам вашей компании в реальном времени. Веб-сайт

Лицензия

Этот проект распространяется под лицензией BSD

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