Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
festin — FestIn - 公開S3バケットスキャナー | Kitploit
ツール/GitHubGitHub/cr0hn/festin
OSINT (オープンソースインテリジェンス)脆弱性スキャナー情報収集クラウドセキュリティクローラーDNS分析
GitHubcr0hn/festin

festin

FestIn - 公開S3バケットスキャナー

リポジトリを見る
233335年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Festin ロゴ

FestIN - パワフルなS3バケットファインダー&コンテンツ発見

  • FestInとは
  • なぜFestInか
  • インストール
    • Pythonを使う
    • Dockerを使う
  • 全オプション
  • 使い方
    • 検索ドメインの設定
    • 同時実行数
    • HTTPクロール設定
    • 結果の管理
    • プロキシの使用
    • DNSオプション
    • 全文検索サポート
    • サービス(監視モード)として実行
  • 例:FestIn + DnsReconの組み合わせ
    • ステップ1 - ターゲットドメインに対してdnsreconを希望のオプションで実行し、出力を保存
    • ステップ2 - 前の生成ファイルをFestInに与える準備
    • ステップ3 - 希望のオプションでFestInを実行し、出力を保存 - torプロキシを使用、同時実行数5、DNS 212.166.64.1でCNAME解決、結果をtarget.com.resultファイルに保存してtarget.comに対して実行:
  • よくある質問
  • FestInの利用者
  • MrLooquer
  • ライセンス

FestInとは

FestInは、ドメインから出発してオープンなS3バケットを発見するためのツールです。

以下の多くのテストを実行し、情報を収集します:

  • DNS
  • Webページ(クローラー)
  • S3バケット自体(S3リダイレクションなど)

なぜFestInか

S3バケットの列挙と発見のためのS3ツールは多数あります。その中には優れたものもありますが、FestInが持つ完全な機能リストを持つものはありません。

FestInを優れたものにする主な機能:

  • さまざまな手法 でバケットを検出:クロール、DNSクロール、S3応答分析。
  • プロキシ サポート でリクエストをトンネリング。
  • AWS 認証情報は不要。
  • AWSだけでなく、任意のS3互換プロバイダー で動作。
  • カスタムDNSサーバー を設定可能。
  • 統合された高性能 HTTPクローラー。
  • 3つのエンジンによる 再帰的 検索とフィードバック: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:~
同時実行テストの数が多いと、一部のWebサイトで「アラーム」が発生する可能性があるため注意してください。

HTTPクロール設定

FestInには、S3バケットへのリンクを発見するための小さなクローラーが組み込まれています。クローラーは以下のオプションを受け入れます:

  • タイムアウト(-T または --http-timeout):HTTP接続のタイムアウトを設定します。分析したいドメインのWebサイトが遅い場合は、この値を増やすことをお勧めします。デフォルトのタイムアウトは 5秒 です。
  • 最大再帰深度(-H または --http-max-recursion):この値はクロールの再帰に制限を設定します。そうしないと FestIn がインターネット全体をスキャンすることになります。デフォルト値は3です。つまり、以下のようにのみ追跡します:domain1.com -> [リンク] -> domain2.com -> [リンク] -> domain3.com -> [リンク] -> 最大再帰深度に到達。停止。
  • ドメイン制限(-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):このファイルには、見つかったバケットごとに1行のJSONが含まれます。各JSONには、元のドメイン、バケット名、およびバケットのオブジェクトのリストが含まれます。
  • フィルタリングされた発見ドメインファイル(-rd または --discovered-domains):このファイルには1行に1つのドメインが含まれます。これらのドメインはクローラー、DNS、またはS3プローブによって発見されますが、ユーザーおよび内部フィルターに一致するドメインのみが保存されます。
  • 生の発見ドメインファイル(-ra または --raw-discovered-domains):このファイルには、FestInによって発見されたすべてのドメインがフィルターなしで1行に1つ含まれます。このオプションは後処理と分析に便利です。

例:

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 が組み込まれています。このパラメーターを使用するには、127.0.0.1 のポート 9050 でローカルのTorプロキシが実行されている必要があります。

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

DNSオプション

FestInが実行する一部のテストにはDNSが含まれます。以下のオプションをサポートしています:

  • DNS発見の無効化(-dn または --no-dnsdiscover)
  • カスタムDNSサーバー(-ds または --dns-resolver):カスタムDNSサーバーを設定します。多くのテストを実行する予定がある場合は、ブラウザで使用するDNSサーバーとは異なるDNSサーバーを使用する必要があります。

例:

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

全文検索サポート

FestInはオープンなS3バケットを発見するだけでなく、すべてのコンテンツをダウンロードして全文検索エンジンに保存することもできます。つまり、バケットのコンテンツに対して全文クエリを実行できるのです!

FestInは全文検索エンジンとしてオープンソースプロジェクト Redis Search を使用します。

この機能には2つのオプションがあります:

  • インデックス化の有効化(--index):検索エンジンへのインデックス化を有効にするには、このフラグを設定する必要があります。
  • Redis Search設定(--index-server):サーバーがlocalhost:6379とは異なるIP/ポートで実行されている場合にのみ、このオプションを設定する必要があります。

例:

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に新しいドメインを「送信」する方法は、ドメインファイルを使用することです。このファイルの変更を監視します。

この機能は、dnsrecon などの他のツールと FestIn を組み合わせるのに便利です。

例:

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を希望のオプションで実行し、出力を保存

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

このコマンドで、1行に1つのドメインを含むファイルを生成します。これが 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 - 見つかったバケットごとに1行のメイン結果ファイル。各行は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 
torプロキシを使用、同時実行数5、DNS 212.166.64.1でCNAME解決、結果をtarget.com.resultファイルに保存してtarget.comに対して実行:
root@kitploit:~
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 

よくある質問

Q: AWSが私のIPを禁止する A:

AWS S3に対して多くのテストを実行すると、AWSはあなたのIPをブラックリストに追加します。その後、FestIn またはブラウザで 任意の S3バケットにアクセスしようとするたびに ブロックされます。

FestIn を使用する際は、プロキシを設定することをお勧めします。

FestInの利用者

MrLooquer

Mr looquer

彼らはリアルタイムで企業のリスクエクスポージャーを分析・評価します。 Webサイト

ライセンス

このプロジェクトは BSDライセンス の下で配布されています。

ツールをダウンロード