Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
C3 — Custom Command and Control (C3)。既存の攻撃用ツールキットとの統合を提供しつつ、カスタムC2チャネルを迅速にプロトタイピングするためのフレームワーク。 | Kitploit
ツール/GitHubGitHub/reverseclabs/c3
ペネトレーションテストフレームワークエクスプロイトフレームワークIDS/IPS回避横移動ポストエクスプロイトネットワークセキュリティコマンド&コントロールレッドチーミングペイロード開発
GitHubreverseclabs/c3

C3

Custom Command and Control (C3)。既存の攻撃用ツールキットとの統合を提供しつつ、カスタムC2チャネルを迅速にプロトタイピングするためのフレームワーク。

1.8k2917ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

C3

C3

Build C3 (MSVC)/badge.svg?branch=master)

Build C3 (Clang)/badge.svg?branch=master)

C3(カスタムコマンド&コントロール)は、レッドチームが難解なコマンド&コントロールチャネル(C2)を迅速に開発して利用できるようにするツールです。これは、リリース時点でサポートされているExternalC2を介して、商用のCobalt Strike(CS)製品など、他のレッドチームツールを拡張するフレームワークです。レッドチームは、実装したいC2のみに集中でき、残りはC3とCSツールの堅牢性に任せることができます。この効率性と信頼性により、レッドチームは(プロフェッショナルレベルの安定性とセキュリティを保証しながら)重要なクライアント環境で安全に運用できると同時に、安全な実験とカスタマイズされた戦術・技法・手順(TTP)の迅速な展開が可能になります。これにより、レッドチームは適応力のある現実世界の攻撃者をエミュレートおよびシミュレートできます。

使用方法

詳細なチュートリアルについては、こちらのブログ記事を参照してください。

貢献ガイド(Channel開発チュートリアル)については、このページを参照してください。

サポートされているチャネル

外部チャネル

チャネル名貢献者
Mattermost@mariuszbit
Asana@tvgdb2
GitHub@sunn_y_k
Dropbox@adm1nPanda
Cisco WebEx Teams@tvgdb2
JIRA
Discord
GoogleDrive
Slack
EWS Tasks
OneDrive 365 Rest File (非機能)
OneDrive 365 Rest Task (非機能)

内部チャネル

サービス貢献者
MSSQL@checkymander
UNC Share File
LDAP
Printer Jobs

検知

  • C3のハンティング(リリースブログ)
  • 攻撃検知の基礎 C2とデータ流出ラボ - Dropbox
  • 攻撃検知の基礎 探索と横移動ラボ - UNC Share File
  • C2プリンタピボットの使用と検知
  • Black Hat USA 2021 - 私はハッカー、ここから出してくれ!難解なCommand & Controlチャネルを使ったネットワーク分離の突破
  • 回避型カスタムCommand & Controlの追跡 - Guide M - ROOTCON
  • YARAルール - C3リフレクティブDLLの使用
  • Sigmaルール - C3 DLLの起動
  • Relay Rumbler - C3リレーバイナリ設定パーサー

用語集

C3で最も一般的に使用される用語:

  • Relays - C3ネットワークのスタンドアロンコンポーネント。Interfacesを使用して通信します。RelaysにはGate Relays(またはGateways)とNode Relaysの2種類があります。
  • Gateway - 1つのC3ネットワークを制御する特別なRelayです。C3ネットワークは動作可能なGatewayなしでは運用できません。GatewayはNode Relaysから攻撃者のインフラストラクチャに戻るブリッジです。また、サードパーティのC2サーバ(Cobalt StrikeのTeamserverなど)と通信する役割も担います。Gatewaysは常に攻撃者が管理するインフラストラクチャ内でホストされるべきです。
  • Node Relay - 侵害されたホスト上で起動される実行ファイル。Node RelaysはDevicesを介して、相互間またはへの通信を行います。

ビルド

C3をコンパイルするために必要なパッケージをインストールするには、以下の個別コンポーネントをVisual Studio環境に追加する必要があります。これは、VS setup.exe(例:"c:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe")を使用し、「変更」を選択して以下の個別コンポーネントを追加することで実現できます。

  • .NET 7.0
  • .NET Core 3.1 Runtime (サポート終了)
  • MSVC v142 - VS 2019 C++ x64/x86 build tools
  • (任意) C++ Clang tools for Windows for clang builds
  • (任意) MSBuild support for LLVM (clang-cl) toolset

これらのコンポーネントがインストールされたら、Visual Studio開発者コマンドプロンプトを起動し、CreateBuild.batファイルを実行します。出力はBuildsディレクトリに生成されるはずです。

ツールをダウンロード
Gateway
  • Interface - C3ネットワーク内でのデータ送受信を容易にするものに付けられる高レベルな名前。常に何らかのRelayに接続され、Relayの機能を拡張することを目的としています。現在、InterfacesにはChannels、Peripherals、Connectorsの3種類があります。
  • Devices - ChannelsとPeripheralsの総称。この抽象化は、Node Relaysで使用できるInterfacesを一般化するために作られました。
  • Channel - 2つのRelays間でデータを転送するために使用されるInterface。Channelsはペアで動作し、1対多の送信には対応していません(Negotiation Channelsを参照)。
  • Negotiation Channel - 複数のRelaysとの通常のChannel接続を確立できる特別なChannel。ネゴシエーションプロセスは完全に自動化されています。Negotiation Channelsはネゴシエーションプロトコルのみをサポートし、それ以外の送信には使用できません。
  • Gateway Return Channel (GRC) - RelayがGatewayにデータを送り返すために使用する、設定済みのChannel。GRCは別のRelayを経由するルートの場合もあります。Node Relay上の最初のChannel(初期チャネル)は、そのNode RelayのGRCとして自動的に設定されます。
  • C3 Minimal MTU - すべてのC3チャネルが送信できることが要求されるデータの最小部分。現在、C3 Minimal MTUは64バイトです。64バイト未満のチャンクに完全なパケットが含まれていない限り、受信側のRelayはそれを無視し、送信側のRelayは最後のデータ部分を再送信しようとします。
  • Peripherals - コマンド&コントロールフレームワークのサードパーティインプラント。PeripheralsはControllerを介してネイティブコントローラと通信します。例:Cobalt StrikeのSMBビーコン。
  • Connectors - サードパーティのコマンド&コントロールフレームワークとの統合。たとえば、Cobalt StrikeのTeamserverがexternalc2_startコマンドを通じて公開する「External C2」インターフェース。
  • Binders - PeripheralsとConnectorsの総称。
  • Device ID - Relay上の1つのDeviceを一意に識別する動的ID。
  • Agent ID - Node Relayを一意に識別する動的ID。同じ実行ファイルからインスタンス化されたNode Relaysは異なるAgent IDsを持ちます。
  • Build ID - すべてのRelayに組み込まれている静的ID。再起動後も変わりません。
  • Route ID - Agent IDとDevice IDのペア。Node Relayへの1つの「経路」を記述するために使用されます(Node Relaysには複数のRoutes経由で到達できる場合があります)。
  • Route - Node Relayへの「経路」。すべてのRelayは、特定のRelayに到達するために使用されるChannelのDevice IDsとともに、すべての子Relays(孫、曽孫など)のテーブルを保持します(Route IDを参照)。GatewayからのパケットがNode Relayに到着すると、ルーティングテーブルを使用して、受信者にパケットを送信する適切なChannelを選択します。
  • Update Delay Jitter - Interfaceの連続する更新間の遅延(Channelsの場合、OnReceiveFromChannelメソッドの呼び出し)。指定された時間範囲でランダム化するように設定できます。