
ペネトレーションテスター向けの高速かつステルスなAmazon S3バケット列挙ツール。
s3enumは、高速でステルス性の高いAmazon S3バケット列挙ツールです。DNSを利用するためHTTPを使わず、リクエストがS3サーバーアクセスログに記録されません。
元々は2016年にGitHubへの攻撃を目的として作成されました。
go install github.com/koenrh/s3enum@latest
ターゲットのベース名(例: hackerone)、ワードリスト、およびサフィックスリストを指定する必要があります。候補となるバケット名は、ターゲット名と各ワードを組み合わせ(-、_、.、および区切りなしを使用)、さらにサフィックスリストの各エントリをオプションで前置または後置することで生成されます。このリポジトリのサンプルwordlist.txtおよびsuffixlist.txtファイルを使用するか、他の場所からワードリストを入手することもできます。オプションで、ワーカー数を指定することもできます(デフォルトは50)。
$ s3enum \
-wordlist examples/wordlist.txt \
-suffixlist examples/suffixlist.txt \
hackerone
hackerone
hackerone-attachment
hackerone-attachments
hackerone-static
hackerone-upload
デフォルトでは、s3enumは/etc/resolv.confで指定されたネームサーバーを使用します。代わりに、-nameserverオプションを使用して別のネームサーバーを指定することもできます。さらに、複数の名前を同時にテストすることもできます。
s3enum \
-wordlist examples/wordlist.txt \
-suffixlist examples/suffixlist.txt \
-nameserver 1.1.1.1 \
-workers 100 \
hackerone h1 roflcopter
バケット検出は、s3.amazonaws.com 配下のCNAME応答に依存しています。us-east-1 のバケットは s3-1-w.amazonaws.com に解決され、現在は存在しないバケットと区別できません。