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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OST-C2-Spec — オープンソースC&C仕様 | Kitploit
ツール/GitHubGitHub/rasta-mouse/ost-c2-spec
エクスプロイト横移動ポストエクスプロイトコマンド&コントロールレッドチーミング
GitHubrasta-mouse/ost-c2-spec

OST-C2-Spec

オープンソースC&C仕様

リポジトリを見る
28318191年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

ドラフト: ディスカッション のリクエスト

概要

この文書は、OST C&C 仕様書バージョン 1 の概要を提供します。 また、メッセージとそれらのメッセージ内のフィールドの詳細な説明を提供することを目的としています。

はじめに

この仕様書の背後にある動機は、逐語的に実装できる、または単にプロジェクト開発者へのインスピレーションとして役立つ C&C メッセージングプロトコル(タスキング、構造化出力、ピアツーピアルーティングを含む)を提供することです。 この文書は C&C が何であるかを説明することを意図したものではありません。 読者は C&C が何であり、何に使用されるかを理解していることを前提としています。

キーワード "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、"OPTIONAL" は、[RFC2119] に記載されているとおりに解釈されるものとします。

環境に関する前提

この仕様書は以下の前提を置きます。

  • メッセージは暗号化されていないネットワーク上で送信されます。
  • インプラントペイロードには、通信先のチームサーバーが使用する公開 RSA キーが埋め込まれます。

用語集

以下は、この文書全体で使用される用語のリストです。

  • インプラントメタデータ: インプラントがチームサーバーに自身について報告する情報。

  • タスクリクエスト: インプラントに実行させるために与えられるタスク。

  • タスクレスポンス: 特定のタスクのステータスと出力(あれば)。

  • セッションキー: インプラントがメッセージを暗号化するために使用する一意の暗号化キー。

タスクメッセージ

タスクヘッダー

各タスクリクエストおよびレスポンスメッセージは、以下の 16 バイトのヘッダーを持たなければなりません(MUST)。```text | Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | -------------------------------------------------------------| | 0 | Type | Code | Flags | Label | | -------------------------------------------------------------| | 1 | Identifier | Length | | -------------------------------------------------------------|

- **Type**: 1バイト整数。このタスクの「タイプ」です。[[Task Types and Codes](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-types-and-codes)] を参照してください。
- **Code**: 1バイト整数。指定されたTypeに対する「サブコード」です。[[Task Types and Codes](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-types-and-codes)] を参照してください。
- **Flags**: 2バイト整数。メッセージの状態を表すビット単位のフラグのセットです。[[Task Flags](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#task-flags)] を参照してください。
- **Label**: 4バイト整数。同じタスクに関連する複数のメッセージを関連付けるための一意のラベルです。
- **Identifier**: 4バイト整数。断片化されたメッセージを正しい順序で構築するために使用される連続識別子です。
- **Length**: 4バイト整数。タスクデータの全長です。

## タスクタイプとコード```text
|------------------|--------------------------|
| Type             | Code                     |
|------------------|--------------------------|
| 0 - NOP          | 0                        |
|------------------|--------------------------|
| 1 - Exit         | 0                        |
|------------------|--------------------------|
| 2 - Set          | 0 - Sleep/Jitter         |
|                  | 1 - SpawnTo              |
|                  | 2 - BlockDLLs            |
|                  | 3 - PPID                 |
|------------------|--------------------------|
| 3 - File         | 0 - Copy                 |
|                  | 1 - Move                 |
|                  | 2 - Delete               |
|                  | 3 - Upload               |
|                  | 4 - Download             |
|------------------|--------------------------|
| 4 - Directory    | 0 - Print                |
|                  | 1 - Change               |
|                  | 2 - Create               |
|                  | 3 - Copy                 |
|                  | 4 - Move                 |
|                  | 5 - List                 |
|                  | 6 - Delete               |
|------------------|--------------------------|
| 5 - WhoAmI       | 0                        |
|------------------|--------------------------|
| 6 - Process      | 0 - List                 |
|                  | 1 - Kill                 |
|                  | 2 - Inject Spawn         |
|                  | 3 - Inject Explicit      |
|------------------|--------------------------|
| 7 - Registry     | 0 - Query                |
|                  | 1 - Add                  |
|                  | 2 - Delete               |
|------------------|--------------------------|
| 8 - RPortFwd     | 0 - Start                |
|                  | 1 - Data                 |
|------------------|--------------------------|
| 9 - Environment  | 0 - Get                  |
|                  | 1 - Set                  |
|------------------|--------------------------|
| 10 - SOCKS       | 0 - Connect              |
|                  | 1 - Data                 |
|                  | 2 - Close                |
|------------------|--------------------------|
| 11 - Tokens      | 0 - List                 |
|                  | 1 - Make                 |
|                  | 2 - Steal                |
|                  | 3 - Use                  |
|                  | 4 - Revert               |
|                  | 5 - Delete               |
|                  | 6 - Purge                |
|------------------|--------------------------|
| 12 - Run         | 0                        |
|------------------|--------------------------|
| 13 - ItemStore   | 0 - List                 |
|                  | 1 - Add                  |
|                  | 2 - Delete               |
|                  | 3 - Purge                |
|------------------|--------------------------|
| 14 - LocalExec   | 0 - .NET                 |
|                  | 1 - BOF                  |
|                  | 2 - Managed PowerShell   |
|                  | 3 - Unmanaged PowerShell |
|------------------|--------------------------|
| 15 - PrintScreen | 0                        |
|------------------|--------------------------|
| 16 - RemoteExec  | 0 - WinRM                |
|                  | 1 - WMI                  |
|                  | 2 - PsExec               |
|                  | 3 - SSH                  |
|------------------|--------------------------|
| 17 - Link        | 1 - Link SMB             |
|                  | 2 - Link TCP             |
|------------------|--------------------------|
| 18 - Unlink      | 0                        |
|------------------|--------------------------|
| 19 - P2P         | 0 - Acknowledge          |
|                  | 1 - PassThru             |
|------------------|--------------------------|
| 20 - Jobs        | 0 - List                 |
|                  | 1 - Kill                 |
|---------------------------------------------|

タスクフラグ

一部のフラグは相互に排他的であり、一緒に設定してはなりません(MUST NOT)。 フラグが設定されていない場合、タスクは正常に完了したとみなされるべきであり(SHOULD)、関連する出力(ある場合)は断片化されません(NOT fragmented)。```text

ValueDescription
0No flags
1Task Error
2Task Running (as job)
4Message is fragmented, more to follow
8Message is fragmented, no more to follow
## タスクデータ

タスクデータはヘッダーに追加され、特定のタスクタイプとコードに応じたバイナリ構造で構成されます。  各タスク要求および応答メッセージタイプは、[[メッセージ定義](https://github.com/rasta-mouse/ost-c2-spec?tab=readme-ov-file#message-definitions)]で定義されています。

不要な場合、タスク要求または応答にデータを付与することは必須ではありません。

## 暗号化タスクメッセージ

送信前に、タスクヘッダーとタスクデータが結合され、インプラントのセッションキーでAES暗号化されます。```text
| Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| ------------------------------------ |
|  0   |            Iv                 |
|  8   |                               |
| ------------------------------------ |
|  16  |          Checksum             |
|  24  |                               |
|  32  |                               |
|  40  |                               |
| ------------------------------------ |
|  48  |           Data                |
|  ..  |                               |
| ------------------------------------ |
  • Iv: 16バイトの初期化ベクター。
  • Checksum: 32バイトのHMAC256チェックサム。
  • Data: 暗号化されたデータ。

メッセージ交換

インプラント登録

インプラントは、タスクデータを受信または送信する前に、チームサーバーに自身を登録しなければなりません(MUST)。

IMPLANT-METADATA の生成

インプラントは [IMPLANT-METADATA] メッセージを生成し、チームサーバーの公開RSA鍵で暗号化して、チームサーバーに送信します。

IMPLANT-METADATA の受信

ツールをダウンロード