
リクエストごとにIPをローテーションするためにAWS API Gatewayを使用するBurp Suite用の拡張機能
Burp Suite用の拡張機能で、AWS API Gatewayを使用してリクエストごとにIPを変更します。
詳細情報: AWSを使用したIPベースのブロックの回避 - Rhino Security Labs
AWS API Gatewayを使用して送信元IPを隠蔽するこの方法は、現在AWSのペネトレーションテストポリシーに従って禁止されているとみなされています: https://aws.amazon.com/security/penetration-testing/
この拡張機能を使用すると、複数のリージョンに簡単にAPI Gatewayを立ち上げることができます。ターゲットホストへのBurp SuiteのトラフィックはすべてAPI Gatewayエンドポイント経由でルーティングされ、リクエストごとにIPが異なるようになります。(IPが再利用される可能性はありますが、非常に低く、使用するリージョンが多いほどその可能性は低くなります)。
これは、IPに基づくブルートフォース保護、IPに基づくAPIレート制限、IPに基づくWAFブロックなど、さまざまな種類のIPブロックを回避するのに役立ちます。
BAppストアでこのバージョンが利用可能で、そこから直接インストールできます: https://portswigger.net/bappstore/2eb2b1cb1cf34cc79cda36f0f9019874
起動されたリソースやエンドポイント、潜在的なエラーを確認したい場合は、Burpの出力コンソールを確認できます。
AWSアカウントでAPI GWを作成するためのヘルパースクリプトを使用します。boto3が必要ですが、Burp用に設定する必要はなく、有効なAWSプロファイルが設定されている必要があります。
使用方法: createapigws.py [オプション]
オプション:
--profile TEXT 使用するAWSプロファイル [デフォルト: pentest1]
--state-file TEXT API GW状態ディレクトリ。スクリプトはSTATE_FILEとSTATE_FILE.jsonを作成します。 [デフォルト: api_gateways.txt]
--create TEXT ターゲットURLを指定: https://example.com
--delete
--help このメッセージと終了情報を表示します。
createapigws.pyからの状態ファイルパスをAPI GWファイルフィールドに入力します。createapigws.pyスクリプトを使用します。

Jythonがインストールされていることを確認し、Burp拡張機能オプションからIPRotate.pyを追加してください。

この拡張機能をリリースした後、AWS API Gatewayを使用してIPアドレスを隠す他の研究があることが指摘されました。この手法を使用した素晴らしい研究とツールが@ustayready、@ryHanson、@rmikehodgesによって公開されています。
ぜひチェックしてみてください: