Agartha
ペイロード注入(LFI、RCE、SQLi、オプションでBCheck対応)、認証問題(アクセスマトリックス、HTTP 403)、JavaScriptとしてコピー、Bambdas
Agarthaは、高度なペイロード生成とアクセス制御評価を専門としています。インジェクション攻撃、認証/認可の問題に関連する脆弱性を的確に特定します。動的ペイロードジェネレーターは、SQLインジェクション、ローカルファイルインクルージョン(LFI)、リモートコード実行(RCE)など、さまざまなインジェクションベクトルに対応した広範なワードリストを構築します。さらに、この拡張機能は包括的なユーザーアクセスマトリックスを構築し、潜在的なアクセス違反や権限昇格パスを明らかにします。また、HTTP 403バイパスチェックの実行を支援し、認証設定の誤りを明らかにします。さらに、HTTPリクエストをJavaScriptコードに変換して、XSS問題の調査を容易にします。
まとめ:
- ペイロードジェネレーター:インジェクション攻撃用の包括的なワードリストを動的に構築し、さまざまなエンコードやエスケープ文字を組み込んでセキュリティテストの効果を高めます。これらのワードリストは、SQLインジェクション(SQLi)、ローカルファイルインクルージョン(LFI)、リモートコード実行(RCE)などの重要な脆弱性をカバーし、さらにBurpのBCheckフレームワークとのシームレスな統合のためにBCheck構文もサポートしています。
- ローカルファイルインクルージョン、パストラバーサル:攻撃者がサーバーのファイルシステム上のファイルにアクセスできる脆弱性を特定するのに役立ちます。
- リモートコード実行、コマンドインジェクション:潜在的なコマンドインジェクションポイントを検出し、コード実行の脆弱性に対する堅牢なテストを可能にします。
- SQLインジェクション:積み重ねクエリ、ブールベース、ユニオンベース、時間ベースのSQLインジェクション脆弱性の発見を支援します。
- 認証マトリックス:包括的なアクセスマトリックスを構築することで、このツールは潜在的なアクセス違反や権限昇格パスを明らかにします。この機能は、認証と認可の問題に対処することでセキュリティ態勢を強化します。
- Web スパイダー機能を使用してサイトマップ/URLリストを生成でき、ユーザーのセッションから自動的に可視リンクをクロールします。
- 403バイパス:HTTP 403 Forbidden応答などの一般的なアクセス制限に対処します。URL操作やリクエストヘッダー変更などの手法を利用して、実装された制限をバイパスします。
- JavaScriptとしてコピー:HTTPリクエストをJavaScriptコードに変換し、さらなるXSS悪用などに使用します。
- Bambdasスクリプトジェネレーター:ユーザー入力に基づいてBambdas互換スクリプトの自動生成をサポートします。手動コーディングが不要になり、カスタムスクリプトの迅速な作成とBambdasエンジンとの統合を実現します。
使用方法の簡単なチュートリアルです。
インストール
最初に「Jython」ファイルをダウンロードし、環境を設定してください:
- Burpメニュー > Extender > Options > Python Environment > Jythonスタンドアロンjarファイルの場所を指定
Agarthaは公式ストアからインストールできます:
- Burpメニュー > Extender > BApp Store > Agartha
手動インストールの場合:
- Burpメニュー > Extender > Extensions > Add > Extension Type: Python > Extension file(.py): 「Agartha.py」ファイルを選択
以上で、メインウィンドウに「Agartha」タブが表示され、右クリックメニューにも登録されます。パス:
- 「Extensions > Agartha」、以下の3つのサブメニューがあります:
ローカルファイルインクルージョン / パストラバーサル
UnixおよびWindowsの両方のファイル構文をサポートし、任意のパスに対する動的なワードリスト生成を可能にします。さらに、Webアプリケーションファイアウォール(WAF)の実装をバイパスする試みも行い、さまざまなエンコードやその他の手法を使用します。
- 「Depth(深さ)」 :ワードリスト生成におけるディレクトリトラバーサルの範囲を指定します。指定したレベル以下のワードリストを作成できます。デフォルト値は5です。
- 「Waf Bypass(WAFバイパス)」 :nullバイトの使用、さまざまなエンコード手法、その他のWebアプリケーションファイアウォールを回避する方法など、すべてのバイパス機能を有効にするかどうかを指定します。

リモートコード実行 / コマンドインジェクション
指定されたコマンドに基づいて、コマンド実行用の動的なワードリストを生成します。UnixおよびWindows環境の両方に対して、さまざまなセパレーターとターミネーターを組み合わせます。
- 「URL Encoding(URLエンコード)」 :出力をエンコードします。

SQLインジェクション
積み重ねクエリ、ブールベース、ユニオンベース、時間ベースなど、さまざまなタイプのSQLインジェクション攻撃用のペイロードを生成します。ユーザー入力は不要で、目的のSQL攻撃タイプとデータベースを選択するだけで、異なる組み合わせのワードリストを生成します。
- 「URL Encoding(URLエンコード)」 :出力をエンコードします。
- 「Waf Bypass(WAFバイパス)」 :nullバイトの使用、さまざまなエンコード手法、その他のWebアプリケーションファイアウォールを回避する方法など、すべてのバイパス機能を有効にするかどうかを指定します。
- 「Union-Based(ユニオンベース)」 :ペイロード生成に深さの指定が必要です。指定した値以下のワードリストを作成できます。デフォルト値は5です。
- 残りの項目は、データベースの種類とさまざまな攻撃ベクトルに関するものです。

BCheckコードジェネレーター
BCheckは、カスタムスキャンチェックを作成およびインポートするためのBurp Suiteのフレームワークです。ユーザー定義のチェックはBurp Scannerの組み込みルーチンと並行して実行され、特定の脆弱性やテストニーズに合わせてスキャンをカスタマイズできます。BCheckを使用することで、Burpのスキャン機能を拡張し、より的を絞った効率的な評価のためにワークフローを合理化できます。
コードを自動生成できるようになりました:
- 上の青いボックスの「Generate the Payloads(ペイロードを生成)」ボタンをクリックすると、従来のワードリストを作成でき、BurpのIntruderやRepeaterで手動使用できます。
- また、赤いボックスの「Generate payloads for BCheck(BCheck用のペイロードを生成)」ボタンをクリックすると、同じペイロードがBCheck構文でフォーマットされ、スキャンで使用できる状態で生成されます。
Bambdasスクリプトのサイズが大きくなると、特にスキャン中にパフォーマンスの問題が発生する可能性があることに注意してください。スクリプトが大きいと、応答性が低下し、メモリ使用量が増加し、タスクの実行に遅延が生じる可能性があります。
「Generate payloads for BCheck」ボタンをクリックすると、BCheckコードが自動的にクリップボードにコピーされます。
次に、Burp Suiteメニューから「Extensions > BChecks > New > Blank」に移動し、生成されたコードを貼り付けます。
ペイロードがBCheckに統合されました。HTTPリクエストを手動で送信またはスキャンするか、BCheckコントロールを組み込んだBurpスキャンを開始して、ツールが生成したインジェクションペイロードを自動的にテストできます。
- 手動スキャン:HTTPリクエストを右クリックし、「Send to BChecks Editor」を選択します。次に、生成されたBCheck項目をクリックし、「Run test」を選択します。
- 自動スキャン:HTTPリクエストを右クリックし、「Open Scan Launcher」を選択し、「Scan configuration > Select from library > Audit checks – BChecks only」に進みます。ダイアログを閉じると、スキャンは定義したBCheckのみで実行されます。
微調整のアドバイス:生成されたコードはテンプレートとして機能し、アプリケーションやサーバーによって動作が異なる可能性があるため、調整が必要な場合があります。
フィルターの調整(HTTP応答コードや応答内のキーワードの指定など)は、誤検出を減らし、結果をより正確でノイズの少ないものにするのに役立ちます。
認可マトリックス / ユーザーアクセステーブル
この部分は、ユーザーセッションとURLの関係を分析してアクセス違反を特定することに焦点を当てています。ツールは、事前定義されたユーザーセッションに関連するすべてのURLを体系的に訪問し、HTTP応答をテーブルに格納します。基本的にアクセスマトリックスを作成し、認証および認可の問題を特定するのに役立ちます。最終的に、どのユーザーがどのページコンテンツにアクセスできるかが明らかになります。
- 任意のリクエストを右クリックし、「Extensions > Agartha > Auth Matrix」に移動してユーザーセッションを定義できます。
- 次に、ユーザー(HTTPヘッダー/セッション所有者)がアクセスできるURLアドレスを指定する必要があります。自動クロールにはWeb「Spider」機能を利用するか、手動でURLリストを提供できます。
- その後、「Add User(ユーザー追加)」ボタンを使用してユーザーセッションを追加します。
- 実行準備が整いました。「Run(実行)」ボタンをクリックするだけで、テーブルが対応する内容で埋められます。
もう少し詳細:
- このフィールドは、提供するセッションのユーザー名を入力する場所です。最大4人の異なるユーザーを追加でき、各ユーザーには見やすさを向上させるために一意の色が割り当てられます。
- 「Add User」ボタンを使用すると、ユーザーセッションをマトリックスに追加できます。
- HTTPリクエストメソッドは「GET」、「POST」、またはプロキシ履歴に基づく「Dynamic」に変更できます。
- 「Reset」ボタンはすべての内容をクリアします。
- 「Run」ボタンはタスクを実行し、結果をユーザーアクセスマトリックスに表示します。
- 「Warnings」セクションは、問題を識別しやすくするために異なる色で潜在的な問題を強調表示します。
- 「Spider (SiteMap)」ボタンは、ユーザーのヘッダー/セッションに基づいて自動的にURLリストを生成します。可視のURLは次のテキストボックスに表示され、必要に応じて変更できます。
- 「Crawl Depth」は、Spiderがリンクを検出するためにクロールするサブリンクの最大数を定義します。
- リクエストヘッダーを指定するフィールドで、ここで定義されたセッションを使用してすべてのURLにアクセスします。
- ユーザーが訪問できるURLアドレスを指定します。このリストは手動で作成するか、「Spider」クローラー機能を利用して作成できます。各ユーザーに対して訪問可能なURLリストを必ず提供してください。
- 提供されたすべてのURLがここにリストされ、対応するユーザーセッションを使用してアクセスが試行されます。
- 最初の列は認証試行なしのシナリオを表します。すべてのCookie、トークン、および潜在的なセッションパラメーターがHTTP呼び出しから削除されます。
- 残りの列は以前に生成されたユーザーに対応し、それぞれのURL所有者を示す一意の色でマークされます。
- セルのタイトルには、各ユーザーセッションのHTTP応答「コード:長さ」が表示され、各アクセス試行の応答詳細が一目でわかります。
- 確認したいセルをクリックするだけで、HTTPの詳細が下部に表示されます。
潜在的なセッション終端(ログオフ、サインアウトなど)や特定のファイルタイプ(CSS、画像、JavaScriptなど)は、「Spider」とユーザーのURLリストの両方から除外されることに注意してください。
「RUN」をクリックすると、ツールはユーザーとURLのマトリックスを異なる色で埋めます。ユーザー固有の色に加えて、赤、オレンジ、黄色のセルがアクセスの可能性のある問題を示します。
- 赤は重大なアクセス違反を示し、応答が同じコンテンツ長の「HTTP 200」を返す場合にハイライトされます。
- オレンジは注意を要する中程度の問題を示し、応答が異なるコンテンツ長の「HTTP 200」を返す場合にマークされます。
- 黄色は応答が「HTTP 302」ステータスを返すことを示し、リダイレクトを意味します。