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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OneDrive-UDC2 — OneDriveをCobalt Strikeの隠密C2トランスポートとして利用する | Kitploit
ツール/GitHubGitHub/nmht3t/onedrive-udc2
防御ツールペネトレーションテストフレームワークポストエクスプロイトクラウドセキュリティコマンド&コントロールレッドチーミングペイロード開発
GitHubnmht3t/onedrive-udc2

OneDrive-UDC2

OneDriveをCobalt Strikeの隠密C2トランスポートとして利用する

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

人気

すべて見る →

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

すべてのツールを探索

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

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

OneDrive UDC2

OneDrive をトランスポート層として使用する Cobalt Strike のユーザー定義 C2 チャネル。

Architecture

必要なもの

  • OneDrive for Business を持つユーザーが存在する Microsoft Entra ID テナント。
  • Files.ReadWrite.All アプリケーション許可を持つアプリ登録。

セットアップ

1. アプリケーションを登録する

Azure Portal で アプリの登録 に移動し、新しいアプリを作成します:

  • アカウントの種類: シングルテナント。
  • リダイレクト URI: 空のままにします。

概要ページにある テナント ID と クライアント ID を控えておきます。

2. Graph の許可を追加する

API のアクセス許可 で:

  1. Microsoft Graph、次に アプリケーションの許可、次に Files.ReadWrite.All を追加します。
  2. 管理者の同意を与える をクリックします。

3. クライアント シークレットを作成する

証明書とシークレット で、新しいシークレットを作成し、その値をコピーします。

4. OneDrive フォルダーを作成する

ユーザーの OneDrive で、受信トレイ用と送信トレイ用の 2 つのフォルダーを作成します (例: c2inbox と c2outbox)。

5. ドライブ ID とフォルダー ID を取得する

Graph Explorer を開き、そのユーザーとしてサインインし、次を実行します:

root@kitploit:~
GET https://graph.microsoft.com/v1.0/me/drive/root/children

各フォルダーの id と、JSON レスポンス内の任意のエントリから driveId を取得します。

ビルド

root@kitploit:~
cp server/config.json.example server/config.json

server/config.json を記入します:

次にクライアントをビルドします:

root@kitploit:~
make

実行

リレーを起動します (ターミナルが切断されても動作し続けるように screen または tmux を使用してください):

root@kitploit:~
python3 server/relay.py --config server/config.json --ts-addr <teamserver-ip> --ts-port <udc2-port>

Cobalt Strike で、同じポートに UDC2 リスナーを作成し、client/bof.o をロードします。

リレー オプション

状態、スプール、ロック ファイル

リレーは、再起動の間に状態を追跡するために、設定ファイルの隣にいくつかのファイルを作成します:

  • 状態ファイル (config.json.state.json) - 処理済みの受信トレイ ファイル、保留中のアップロード、ビーコン セッション情報を追跡します。--state でカスタム パスを設定できます。
  • スプール ディレクトリ (config.json.state.json.spool/) - まだ OneDrive にアップロードされていないレスポンス データを保持します。リレーがアップロード中にクラッシュした場合、スプールがデータを保持するため、次回起動時に再試行できます。
  • ロック ファイル (config.json.state.json.lock) - 2 つのリレー インスタンスが同じ状態に対して実行されるのを防ぎます。Another relay holds the lock と表示され、他にリレーが実行されていない場合、そのロックはクラッシュによる古いものです。

リレー状態のリセット

リレーのローカル状態が破損した場合、または古いロックが起動を妨げている場合は、--clean を使用して状態ファイルとスプール ディレクトリを消去し、リレーを新規状態で起動します:

root@kitploit:~
python3 server/relay.py --config server/config.json --clean

ロック ファイルは保持されます。別のインスタンスが実行されている間は、リレーはクリーンアップを行いません。次回の通常起動時に再初期化され、30 分より古い受信トレイ ファイルはスキップされます。

状態ファイルとスプール ディレクトリを自分で削除して手動でリセットすることもできます。ロック ファイルが古い場合 (リレーが実行されていない場合) は、それも削除してください。

デモ

POC

参考資料

  • Cobalt Strike UDC2 docs
  • Cobalt Strike ICMP UDC2
  • WKL Slack UDC2
ツールをダウンロード
FieldValue
tenant_idMicrosoft Entra ID テナント ID
client_idアプリケーションのクライアント ID
client_secretクライアント シークレットの値
drive_idOneDrive ドライブ ID
inbox_folder_id受信トレイ フォルダー ID
outbox_folder_id送信トレイ フォルダー ID
FlagDescription
--configconfig.json へのパス (必須)
--ts-addrTeamserver IP
--ts-portUDC2 リスナー ポート
--pollポーリング間隔 (秒) (デフォルト 2.0)
--state状態ファイルへのパス (デフォルト: <config>.state.json)
--debugデバッグ ログを有効にする
--clean状態ファイルとスプール ディレクトリを削除して終了する