Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ColonelClustered — Java製のBurpプラグインで、サーバーレスポンスの実際の内容に基づいてレスポンスに対してテキストクラスタリングを実行し、外れ値やグループを特定します。たとえばIntruderの実行結果からなどです。 | Kitploit
ツール/GitHubGitHub/hoodoer/colonelclustered
脆弱性分析ウェブプロキシと傍受ウェブアプリケーション悪用ウェブセキュリティファジングペネトレーションテストユーティリティとフレームワーク機械学習
GitHubhoodoer/colonelclustered

ColonelClustered

Java製のBurpプラグインで、サーバーレスポンスの実際の内容に基づいてレスポンスに対してテキストクラスタリングを実行し、外れ値やグループを特定します。たとえばIntruderの実行結果からなどです。

リポジトリを見る
12115日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Colonel Clustered - レスポンス類似度クラスタリング (v1.0.1)

HTTPレスポンスをクラスタリングして外れ値を発見するためのBurp Suite拡張機能。

はじめに

これは私が何年も前から作りたいと考えていたプラグインです。単純に、Burp Intruderでのファジング攻撃の結果を分析する方法に多少イライラしていたからです。ファジング攻撃では通常、サーバーレスポンスの変化を探します。そしてその違いは、ステータスコード、レスポンスタイム、レスポンスサイズを見ることで探します。これらはすべて、レスポンスの内容を間接的に測る指標です。もちろん、ペンテスターとして何千ものサーバーの内容を読んでレスポンス内容の違いを探す時間はありません。しかし、それは間違いなくアルゴリズムにやらせることができます。

そこでこのプラグインの出番です。テキストクラスタリング技術を使用してレスポンスの内容を分析し、類似性に基づいてクラスタに分類します。これにより、Intruderファジング攻撃の結果を別の視点から見ることができ、異なるサーバーレスポンスを素早く特定できます。

仕組み

Colonel Clusteredは、レスポンスのクラスタリングを実行するために2つの異なるアルゴリズムを提供します。デフォルトのアルゴリズムは比較的高速で、外れ値の発見に優れたオプションの詳細分析アルゴリズムがありますが、スケールしません。まあ、どちらもスケールしません。このプラグインに5万件のレスポンスを投げるのは躊躇します。高速/デフォルトのアルゴリズムは計算量がO(n^2)であるのに対し、詳細分析アルゴリズムはO(n^3)です。Intruderの結果を処理に送る際は、この点を覚えておいてください。

  1. コンテンツ認識トークン化: 拡張機能はまず各レスポンスのContent-Typeヘッダーを検査し、最もインテリジェントなトークン化戦略を適用します:

    • HTML: すべてのタグとスクリプトを除去し、可視テキストに対して文字ベースの5-gramを生成します。これには、テンプレート化されたコンテンツ内の軽微な変動(IDなど)に対する耐性を確保するための数字のサニタイズが含まれます。
    • JSON: すべてのキーとそのネストされたパスをトークンとして抽出し、値は無視します。配列については、含まれるすべてのオブジェクトの構造を分析します。
    • Text: プレーンテキストコンテンツに対して文字ベースの5-gramを生成し、テンプレート耐性のために数字をサニタイズします。
    • Binary/Other: コンテンツがテキストベースでない場合、バイナリデータ内の類似性を見つけるために5バイトn-gramのセットを生成します。
  2. 事前グループ化: 何千ものレスポンスでも高速を維持するため、拡張機能は1回のパスで完全に同一のレスポンスをすべてグループ化します。各レスポンスのトークンセットのハッシュを計算し、同じハッシュを共有するすべてのアイテムをグループ化します。これにより、高コストなクラスタリングアルゴリズムは、はるかに小さい一意のレスポンスボディのセットに対してのみ実行すればよくなります。

  3. デュアルクラスタリングアルゴリズム: Colonel Clusteredは2つの異なるクラスタリングアルゴリズムを提供します:

    • Fast Scan (デフォルト): 高性能なDBSCANベースのアルゴリズムが、複数のリクエスト/レスポンスを拡張機能に送信すると自動的に実行されます。

      • 自動Epsilonチューニング: Kneedleアルゴリズムを使用して最適なepsilon(密度半径)を自動的に決定し、データセットの特性に適応します。
      • 外れ値検出 (minPts=2): minPtsは2に固定されており、一意であるか、他の1つのアイテムとのみ類似性を共有するレスポンスを特定するのに非常に効果的で、敏感な外れ値検出を保証します。
    • Deep Analysis (手動トリガー): 元の、より計算集約的な階層クラスタリングアルゴリズムは、「Deep Analysis」ボタンから利用できます。このオプションは、より詳細で潜在的に異なるクラスタリングの視点を必要とするシナリオ向けに設計されており、クラスタの結束力を向上させるためにAverage Linkageを利用します。

      • 一意のレスポンス間のJaccard距離を使用して類似度行列を構築します。
      • 最も類似したクラスタを反復的にマージし、最適なしきい値を決定するためにマージ距離を記録します。
  4. 外れ値の統合: クラスタリング後、単一の一意のメンバーのみを含む結果グループは外れ値と見なされます。そのような外れ値はすべて、UI内の単一の便利な「Outliers」グループに統合されます。

これら2つのアルゴリズムは、レスポンスサイズがレスポンスの違いの信頼できない指標である場合でも、内容が異なるサーバーレスポンスを自動的に特定する簡単な方法を提供するはずです。

使用方法

  1. 拡張機能のロード:

    • Burp SuiteのExtensionsタブに移動します。
    • Addをクリックし、ColonelClustered.jarファイルを選択します。
    • 「Col. Clustered」という名前の新しいタブが表示されるはずです。
    • 注: できれば近いうちにこれをBAPPストアに入れたいと思っています。承認されたらREADMEを更新します。
  2. 分析用のレスポンス送信:

    • Intruderの結果やProxy履歴など、Burp内の任意のツールに移動します。
    • 1つ以上のリクエスト/レスポンスアイテムを選択します。
    • 右クリックして**「Send to Colonel Clustered」**を選択します。
    • デフォルトのFast Scanが自動的に開始され、分析を監視するためのプログレスバーが表示されます。
  3. Deep Analysisの実行 (オプション):

    • より詳細な階層クラスタリングが必要な場合は、**「Deep Analysis」**ボタンをクリックします。
    • 注: 多数のアイテムを分析している場合、スキャン開始前にパフォーマンス問題の可能性について警告が表示されます。
    • プログレスバーが表示され、分析を監視できます。
  4. Quad-Pane UIでの結果分析:

    • 「Colonel Clustered」タブは、結果を素早くナビゲートするための4ペインのレイアウトを使用します。
    • 左上 (Clusters): このペインには、特別な「Outliers」グループを含む、見つかったクラスタが表示されます。各エントリには、そのクラスタ内のアイテム数が表示されます。
    • 左下 (Cluster members): 上のペインでクラスタを選択すると、そのすべてのメンバーがこのテーブルに表示されます。テーブルにはいくつかの列があります:
      • Request/Response Pair: アイテムの元のインデックス。
      • Status Code: HTTPレスポンスステータスコード。
      • Length: レスポンスボディの長さ(バイト単位)。
      • Content-Type: レスポンスのContent-Typeヘッダー。
    • ソート: テーブル内の任意の列ヘッダーをクリックすると、そのクラスタ内のアイテムをソートでき、最大/最小のレスポンスを簡単に見つけたり、ステータスコードでグループ化したりできます。
    • 右上と右下 (Viewers): テーブル内の任意の行を選択すると、その完全なリクエストとレスポンスが右側のビューアに表示されます。

スクリーンショット

image image

ソースからのビルド

このプロジェクトはGradleを使用しています。プラグインをビルドするにはJDKバージョン17がインストールされている必要があります。

  1. リポジトリをクローンします:
    git clone <repository-url>
    cd ColonelClustered
    
  2. fat JARをビルドします:
    ./gradlew build
    
  3. コンパイルされたJARはbuild/libs/ColonelClustered.jarに配置されます。

連絡先

Drew Kirkpatrick
@hoodoer
[email protected]

Blackthorne Consultingで私を見つけることができます。

ライセンス

このプロジェクトはUnlicenseの下でパブリックドメインに公開されています。詳細はLICENSEファイルを参照してください。

ツールをダウンロード