
WindowsベースのC2調査ツールで、Spotifyプレイリストをコマンドチャネルとして使用し、Telegramで出力を配信します。これにより、Spotify Web APIを必要とせずにクラウド支援型のコマンド通信を実証します。
Spotifyプレイリストを通じてコマンドを実行し、Telegram経由でコマンド出力を受信します。
SpotifyC2は、Windowsベースのサイバーセキュリティ研究プロジェクトであり、一般にアクセス可能なクラウドサービスをコントローラーとクライアント間の通信チャネルとしてどのように利用できるかを示しています。
従来のサーバーと通信する代わりに、クライアントは定期的にSpotifyプレイリストをポーリングし、プレイリストタイトルをコマンドとして解釈します。コマンドをローカルで実行した後、結果の出力は設定されたTelegram Botに配信されます。
このプロジェクトは、教育的および防御的なセキュリティ研究のために、正当なWebサービスを使用したクラウド支援コマンドチャネルの概念を探求します。
このプロジェクトは、サイバーセキュリティ研究、許可された実験環境、検出エンジニアリング、および教育目的のみを目的としています。
Operator
│
▼
Spotify Playlist Title
│
▼
Spotify oEmbed API
│
▼
SpotifyC2 Client
│
Execute Command
│
Capture stdout
│
▼
Telegram Bot API
│
▼
Operator Receives Output
Spotify Playlist
│
▼
Poll Spotify every 20 seconds
│
▼
Read Playlist Title
│
▼
Extract Command
│
▼
Execute with _popen()
│
▼
Capture Command Output
│
▼
URL Encode Response
│
▼
Send Output to Telegram Bot
SpotifyC2
│
├── main.c
│
├── GetCommandFromSpotify()
│ プレイリストメタデータをダウンロード
│ プレイリストタイトルを抽出
│
├── RunCommand()
│ Windowsコマンドを実行
│ stdoutをキャプチャ
│
├── SendToTelegram()
│ コマンド出力を送信
│ Telegram Bot APIを使用
│
├── SaveData()
│ libcurlコールバック
│ ダウンロードデータを保存
│
└── URLEncode()
送信前に出力をエンコード
コンパイル前に以下の定数を編集してください:
#define PLAYLIST_ID "YOUR_PLAYLIST_ID"
#define TELEGRAM_BOT_TOKEN "YOUR_BOT_TOKEN"
#define TELEGRAM_CHAT_ID "YOUR_CHAT_ID"
#define SLEEP_SECONDS 20
Visual Studioでプロジェクトを開きます。
libcurlのインクルードパスとライブラリパスを追加します。
以下の設定でコンパイル:
x64
Release
プロジェクトをビルドします。
Spotify Playlist
│
▼
Playlist Title
│
▼
Client Polls Spotify
│
▼
Execute Command
│
▼
Collect Output
│
▼
Telegram Bot
│
▼
Operator
SpotifyC2は以下を研究するために開発されました:
このソフトウェアは、教育目的、サイバーセキュリティ研究、脅威エミュレーション、および許可されたセキュリティテストのためにのみ提供されます。
これは研究者がクラウドベースの通信技術を理解し、防御的な検出を開発するのを支援することを目的としています。明示的な許可なしに、このソフトウェアをシステムやネットワークに導入または使用しないでください。
MITライセンス
SpotifyC2
SpotifyとTelegramを使用した、サイバーセキュリティ教育と防御研究のための軽量なクラウド支援コマンドチャネル研究プロジェクト。