
攻撃/防御型Capture the Flag競技におけるネットワークフローを分析するツール
caronte$Caronteは、攻撃/防御形式のCapture The Flagイベントにおけるネットワークフローを分析するツールです。 pcapファイルにキャプチャされたTCPパケットを再構成してTCP接続を再構築し、各接続を分析してユーザー定義のパターンを見つけます。 パターンは正規表現またはプロトコル固有のルールを使用して定義できます。 接続フローはデータベースに保存され、Webアプリケーションで可視化できます。REST APIも提供されています。
curl(ローカル/リモート)またはGUI経由で読み込み可能
curl、fetch、python requestsで複製可能Caronteのインストール方法は2通りあります:
必要な手順は以下のみです:
git clone https://github.com/eciavatta/caronte.gitcaronteフォルダ内でdocker-compose up -dを実行http://localhost:3333を開くまず依存関係をインストールします:
次に、プロジェクトをコンパイルします。プロジェクトは2つの部分で構成されています:
go mod download && go buildでコンパイルcd frontend && yarn install && yarn buildでコンパイルCaronteを実行する前に、認証なしのMongoDBインスタンスを起動します https://docs.mongodb.com/manual/administration/install-community/。 MongoDBポートをパブリックインターフェースに公開しないよう注意してください。
バイナリを./caronteで実行します。利用可能な設定オプションは以下の通りです:
-bind-address サーバーをバインドするアドレス(デフォルト "0.0.0.0")
-bind-port サーバーをバインドするポート(デフォルト 3333)
-db-name 使用するデータベース名(デフォルト "caronte")
-mongo-host MongoDBのアドレス(デフォルト "localhost")
-mongo-port MongoDBのポート(デフォルト 27017)
設定は初回起動時にグラフィカルインターフェースまたはAPIを介して実行時に行います。以下の設定が必要です:
server_address:脆弱なマシンのIPアドレス。pcap内のすべての接続の宛先アドレスである必要があります。各脆弱サービスが独自のIPを持つ場合は、CIDRアドレスも指定可能。IPv4およびIPv6の両方に対応flag_regex:フラグに一致する正規表現。通常は競技ルールページに記載auth_required:trueの場合、アナライザを保護するために基本認証が有効になるaccounts配列:認証されたユーザーの資格情報を含むGo言語で書かれたバックエンドはサービスとして設計されています。Reactで書かれたフロントエンドが使用するREST APIを公開しています。利用可能なAPIとその説明のリストはこちら: https://app.swaggerhub.com/apis-docs/eciavatta/caronte/WIP
以下は、ツールの主な機能を示すスクリーンショットです。




caronteはEmiliano Ciavattaによって作成され、GPL-3.0ライセンスの下で提供されています。