
A Burp Suite extension for identifying injection flaws (LFI, RCE, SQLi), authentication/authorization issues, and HTTP 403 access violations. It supports dynamic payload generation, including BCheck syntax, and can automatically generate Bambdas scripts. Additionally, it offers "Copy as JavaScript" to convert HTTP requests for enhanced XSS testing.
Agarthaは、高度なペイロード生成とアクセス制御評価を専門としています。インジェクション攻撃、認証/認可の問題に関連する脆弱性を的確に特定します。動的ペイロードジェネレーターは、SQLインジェクション、ローカルファイルインクルージョン(LFI)、リモートコード実行(RCE)など、さまざまなインジェクションベクトルに対応した広範なワードリストを構築します。さらに、この拡張機能は包括的なユーザーアクセスマトリックスを構築し、潜在的なアクセス違反や権限昇格パスを明らかにします。また、HTTP 403バイパスチェックの実行を支援し、認証設定の誤りを明らかにします。さらに、HTTPリクエストをJavaScriptコードに変換して、XSS問題の調査を容易にします。
まとめ:
使用方法の簡単なチュートリアルです。
最初に「Jython」ファイルをダウンロードし、環境を設定してください:
Agarthaは公式ストアからインストールできます:
手動インストールの場合:
以上で、メインウィンドウに「Agartha」タブが表示され、右クリックメニューにも登録されます。パス:
「Auth Matrix(認証マトリックス)」
「403 Bypass(403バイパス)」
「Copy as JavaScript(JavaScriptとしてコピー)」
UnixおよびWindowsの両方のファイル構文をサポートし、任意のパスに対する動的なワードリスト生成を可能にします。さらに、Webアプリケーションファイアウォール(WAF)の実装をバイパスする試みも行い、さまざまなエンコードやその他の手法を使用します。

指定されたコマンドに基づいて、コマンド実行用の動的なワードリストを生成します。UnixおよびWindows環境の両方に対して、さまざまなセパレーターとターミネーターを組み合わせます。

積み重ねクエリ、ブールベース、ユニオンベース、時間ベースなど、さまざまなタイプのSQLインジェクション攻撃用のペイロードを生成します。ユーザー入力は不要で、目的のSQL攻撃タイプとデータベースを選択するだけで、異なる組み合わせのワードリストを生成します。

BCheckは、カスタムスキャンチェックを作成およびインポートするためのBurp Suiteのフレームワークです。ユーザー定義のチェックはBurp Scannerの組み込みルーチンと並行して実行され、特定の脆弱性やテストニーズに合わせてスキャンをカスタマイズできます。BCheckを使用することで、Burpのスキャン機能を拡張し、より的を絞った効率的な評価のためにワークフローを合理化できます。 コードを自動生成できるようになりました:
Bambdasスクリプトのサイズが大きくなると、特にスキャン中にパフォーマンスの問題が発生する可能性があることに注意してください。スクリプトが大きいと、応答性が低下し、メモリ使用量が増加し、タスクの実行に遅延が生じる可能性があります。
「Generate payloads for BCheck」ボタンをクリックすると、BCheckコードが自動的にクリップボードにコピーされます。
次に、Burp Suiteメニューから「Extensions > BChecks > New > Blank」に移動し、生成されたコードを貼り付けます。
ペイロードがBCheckに統合されました。HTTPリクエストを手動で送信またはスキャンするか、BCheckコントロールを組み込んだBurpスキャンを開始して、ツールが生成したインジェクションペイロードを自動的にテストできます。
微調整のアドバイス:生成されたコードはテンプレートとして機能し、アプリケーションやサーバーによって動作が異なる可能性があるため、調整が必要な場合があります。
フィルターの調整(HTTP応答コードや応答内のキーワードの指定など)は、誤検出を減らし、結果をより正確でノイズの少ないものにするのに役立ちます。
この部分は、ユーザーセッションとURLの関係を分析してアクセス違反を特定することに焦点を当てています。ツールは、事前定義されたユーザーセッションに関連するすべてのURLを体系的に訪問し、HTTP応答をテーブルに格納します。基本的にアクセスマトリックスを作成し、認証および認可の問題を特定するのに役立ちます。最終的に、どのユーザーがどのページコンテンツにアクセスできるかが明らかになります。
もう少し詳細:
潜在的なセッション終端(ログオフ、サインアウトなど)や特定のファイルタイプ(CSS、画像、JavaScriptなど)は、「Spider」とユーザーのURLリストの両方から除外されることに注意してください。
「RUN」をクリックすると、ツールはユーザーとURLのマトリックスを異なる色で埋めます。ユーザー固有の色に加えて、赤、オレンジ、黄色のセルがアクセスの可能性のある問題を示します。
このタスクはバルク処理を伴い、どのHTTPリクエストメソッドが使用されるかに言及する価値があります。ツールはHTTP呼び出しを実行するための3つの異なるオプションを提供します:
HTTP 403 Forbiddenステータスコードは、サーバーがリクエストを理解したが、それを許可することを拒否したことを示します。基本的に、「あなたが誰かは認識しているが、このリソースにアクセスする権限がない」という意味です。このステータスは、「権限不足」、「認証が必要」、「IP制限」などの問題を指すことがよくあります。
このツールは、URL操作やリクエストヘッダー変更などのさまざまな手法を使用して、一般的なアクセス禁止エラーに対処します。これらの戦略は、アクセス制限をバイパスし、目的のコンテンツを取得することを目的としています。
2つの異なる使用例に言及する価値があります:
HTTPリクエストをツールに送信する方法は2つあります。
アクセスしようとしているページは特権ユーザーグループに属しており、権限昇格が可能かどうかを確認するためにセッション識別子を保持しています。
「RUN」ボタンをクリックするだけでタスクが実行されます。
以下の図は、URLにアクセス問題がある可能性があり、「赤」色が警告を示していることを示しています。
試行回数は特定のターゲットURLに依存することに注意してください。
この機能は、HTTPリクエストをJavaScriptコードに変換することを可能にし、XSS脆弱性の悪用やヘッダー制限のバイパスに特に役立ちます。
この機能を使用するには、任意のHTTPリクエストを右クリックし、「Extensions > Agartha > Copy as JavaScript」を選択します。
クリップボードに自動的に保存され、参考のための追加の注釈も含まれます。例:``` Http request with minimal parameters:
Http request with header fields:
JavaScriptコードは元のユーザーセッション内で実行され、ブラウザによって多くのヘッダーフィールドが自動的に設定されることに注意してください。ただし、場合によってはサーバーが特定の必須ヘッダーフィールドを要求することがあります。例えば、'Content-Type'が正しくないとリクエストが失敗する可能性があります。そのため、サーバーの要件と互換性を持たせるためにコードを調整する必要があるかもしれません。
<br/><br/>
## Bambdas Code Generator
BambdasはBurp Suite内で直接実行される軽量スクリプトで、ユーザーがさまざまなタスクを迅速にカスタマイズおよび自動化できます。カスタムのマッチアンドリプレースルールの定義、動的なテーブル列の追加、フィルターの適用、特定のテストワークフローに合わせたインターフェースの調整に使用できます。
<img width="1000" alt="Bambdas Code Generator" src="https://assets.kitploit.com/production/public/readmes/5162/1f24e30531216aea02630b65422c79753e12e44148338735a51450ba4d42be03.png">
説明、もう少し詳しく:
1. スクリプト作成GUIでは、ここで一般設定を選択できます。例:
- スコープ内アドレスまたはすべてのドメインアドレスのみを処理する。
- 特定のファイル拡張子を非表示にするかどうか。
- グループ3の最初の部分にあるスコープセクションで定義されたURLの色。
- すでにテスト済みのURLの色(グループ3の2番目の部分)。
- 主にグループ2で定義されたフィルターの色。
- 表示する過去の日数。
- スクリプトで処理する過去の日数。
2. 2番目のセクションのオプションは主にHTTPリクエストとレスポンスの処理に関するものです:
- 検索条件をURL、リクエスト、またはレスポンスのいずれに適用するかを指定するオプションを提供します。いずれかを選択すると、対応する下のオプションが有効になります。例えば、「脆弱なJavaScript関数」を検索したい場合、これはHTTPレスポンスでのみ可能です。
- 特定のHTTPメソッドを非表示にするオプション。
- 「HTMLコメントの検索」、「ダウンロード可能ファイル拡張子」、「脆弱なJS関数」は通常、HTTPレスポンス内で検索されます。
- 「価値のあるキーワード」検索は、URL、リクエスト、レスポンスに適用できます。
- 「SQLi疑惑識別子、XSS疑惑識別子、LFI疑惑識別子、SSRF疑惑識別子、Open Redirect疑惑識別子、RCE疑惑識別子」は、URLまたはリクエストで検索できます。「価値のあるキーワード」がフリーテキストを検索するのに対し、これらのオプションはパラメータを特異的に検出します。
3. 3番目のセクションのオプションは主にスコープの定義、すでにテスト済みのURL、非表示にしたいURLのためのものです。
- テストスコープの定義セクションでテストするURLを定義できます。「/」と入力するとアプリケーション全体がスコープ内とみなされます。「/users」のように特定のパスを追加すると、そのディレクトリとその内容のみがスコープ内になります。「テストスコープの色」オプションはこのセクションに適用されます。
- 「すでにテスト済みURL」セクションには、すでにテストされたURLのリストが含まれます。「テスト済みアイテムの色」オプションはここに適用されます。
- 「ブラックリストURL」セクションには、プロキシ履歴から非表示にしたいURLが含まれます。
**定義の例**:
- /
- ルートパス — すべてを含む。
注:テストおよびテスト済みスコープ定義に加えて、ブラックリストURLセクションにも適用できます。この場合、一致条件が定義されていない限りすべてを除外します。
- /portal/users
- このパスとそのサブパスを具体的に含む。例:
- /portal/users?id=1
- /portal/users/?id=1
- /portal/users/dashboard
- /admin/\*/users/\*/class
- アスタリスク(*)はID、UUIDなどのプレースホルダーとして機能し、パスの残りの部分が含まれます。
- /api/v\*/user
- アスタリスク(*)はワイルドカードとして機能し、**v**に続く任意の文字シーケンスに次の'/'まで一致します。例:
- /api/v1/user
- /api/v2/user
- /health-check
- このパスとそのサブパスを具体的に含む。例:
- /health-check
- /health-check/Monitor
- /health-check/?Level=Info
4. 最後に、4番目のセクションは「Run」ボタンをクリックして生成されたスクリプトが表示され、スクリプトが使用可能になります。一般的に、このスクリプトは2つの方法で追加できます:
- 一時的(プロジェクトベース):アプリケーションメニューから、Proxy > HTTP History > Bambda Mode > Apply & Close。
- 永続的(アプリケーション全体):アプリケーションメニューから、Extensions > Bambda Library > New > Blank > View filter + HTTP history > Save & Close。
**注意**:特に大規模なプロジェクトですべてのオプションを有効にすると、システムリソースの使用量が大幅に増加し、処理時間が長くなる可能性があります。作成したスクリプトが妥当な時間内に完了しない場合は、スクリプトを見直すとよいでしょう。
<img width="1000" alt="Bambdas Code Generator" src="https://assets.kitploit.com/production/public/readmes/5162/cb116ad18bc53ebf770b5bc1cb2b920cc9ef3a4569fab9b12d5fb9979823a58c.png">
**オプションの優先順位**:最も優先度が高いのは「テスト済みアイテムの色」、次に「テストスコープの色」、最後に「パラメータ/キーワードの色」です。
上の図は以下のことを示しています:
- **ピンク**はテストスコープ(グループ3の最初の部分)を示します。
- **黄色**はテスト済みスコープ(グループ3の2番目の部分)を示します。
- **シアン**は検索条件(グループ2)に一致した部分を強調表示します。さらに、各HTTP呼び出しの「Notes」セクションでどの条件に一致したかを確認できます。
すでに作成したスクリプトを後で更新または変更する場合、いくつかの重要な点があります:
- スクリプトを永続的(アプリケーション全体)に設定した場合、次の手順でリロードする必要があります:
Bambda Script mode > Load
<img width="800" alt="Bambdas Code Generator" src="https://assets.kitploit.com/production/public/readmes/5162/5a840779ef9b2df5ac22e94d8ebf6771a677d5d45d49f35cae6f4b3a2e820cd2.png">
- スクリプトを一時的(プロジェクトベース)として使用する場合、通常2つのオプションがあります:
1. 変更したスクリプトをその時点から有効にしたい場合、追加の手順は不要で「Apply」をクリックするだけです。
2. 変更したスクリプトをプロキシ履歴全体に適用したい場合、Bambdaモードを再度有効にするか、スクリプト内のブール型パラメータresetScreenを切り替える必要があります:
```
// 'true'は色/メモをクリア
// 'false'はスクリプトを実行
boolean resetScreen = false; // or true
```
<img width="800" alt="Bambdas Code Generator" src="https://assets.kitploit.com/production/public/readmes/5162/cf2dac03f0dd6f1db5d8950b0162eda9e18862b1fb9da7a57f4cc119ec233c57.png">
<br/><br/>
[別のチュートリアルリンク](https://www.linkedin.com/pulse/agartha-lfi-rce-auth-sqli-http-js-volkan-dindar)