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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Striker — マルチオペレータC2フレームワークで、ネイティブのCおよびPythonエージェント、HTTP(S)チャネル、非同期タスク処理、そしてレッドチーム運用のためのリアクティブWeb UIを備えています。 | Kitploit
ツール/GitHubGitHub/4g3nt47/striker
ペイロード生成コマンド&コントロールレッドチーミングリモートアクセスツール
GitHub4g3nt47/striker

Striker

マルチオペレータC2フレームワークで、ネイティブのCおよびPythonエージェント、HTTP(S)チャネル、非同期タスク処理、そしてレッドチーム運用のためのリアクティブWeb UIを備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Striker C2

Striker はシンプルな Command and Control (C2) プログラムです。

Pasted image 20221022194999

免責事項

image

このプロジェクトは現在活発に開発中です。ほとんどの機能は実験的であり、今後さらに追加される予定です。破壊的な変更が発生する可能性があります。

機能

A) エージェント

  • Linux および Windows ホスト向けのネイティブエージェント。
  • 必要に応じて使用できる、自己完結型の最小限の Python エージェント。
  • HTTP(s) チャネル。
  • 非同期タスク実行。
  • 複数のリダイレクタをサポートし、アクティブなリダイレクタがダウンした場合に他のリダイレクタにフォールバックできます。

B) バックエンド / チームサーバー

  • 複数のオペレーターをサポート。
  • ほとんどの機能は REST API を通じて公開されており、自動化が容易です。
  • 高速な通信のために Web ソケットを使用します。

C) ユーザーインターフェース

  • Svelte と SocketIO によるスムーズで応答性の高い UI。
  • 静的な HTML、JavaScript、CSS ファイルにコンパイルされるため、最も基本的な Web サーバーでもホストでき、設定が簡単です。
  • 他のオペレーターとテキストで通信するためのチームチャット機能。

Striker のインストール

リポジトリをクローンします。

root@kitploit:~
$ git clone https://github.com/4g3nt47/Striker.git
$ cd Striker

コードベースは4つの独立したセクションに分かれています。

1. C2 サーバー / バックエンド

これはオペレーターとエージェントの両方に対するすべてのサーバーサイドロジックを処理します。以下のもので作られた NodeJS アプリケーションです。

  • express - REST API 用。
  • socket.io - Web ソケット通信用。
  • mongoose - MongoDB への接続用。
  • multer - ファイルアップロード処理用。
  • bcrypt - ユーザーパスワードのハッシュ化用。

ソースコードは backend/ ディレクトリにあります。サーバーをセットアップするには:

  1. MongoDB データベースをセットアップします。

Striker はバックエンドデータベースとして MongoDB を使用し、すべての重要なデータを保存します。Debian ベースのディストリビューションではこのガイドに従ってローカルにインストールするか、MongoDB Atlas(データベース・アズ・ア・サービスプラットフォーム)で無料のものを作成できます。

  1. ソースディレクトリに移動します。
root@kitploit:~
$ cd backend
  1. 依存関係をインストールします。
root@kitploit:~
$ npm install
  1. 静的ファイル用のディレクトリを作成します。
root@kitploit:~
$ mkdir static

このフォルダを使用して、サーバー上で静的ファイルをホストできます。また、後述する .env ファイル内で UPLOAD_LOCATION が設定されている場所である必要がありますが、必須ではありません。このディレクトリ内のファイルは /static/ パスで公開アクセス可能になります。

  1. .env ファイルを作成します。

注:< と > で囲まれた値はプレースホルダーです。適切な値(<> を含む)に置き換えてください。ランダムな文字列が必要なフィールドについては、以下を使用して簡単に生成できます。

root@kitploit:~
$ head -c 100 /dev/urandom | sha256sum
root@kitploit:~
DB_URL=<MongoDB接続URL>
HOST=<リッスンするホスト (デフォルト: 127.0.0.1)>
PORT=<リッスンするポート (デフォルト: 3000)>
SECRET=<セッションクッキーの署名とセッションデータの暗号化に使用するランダム文字列>
ORIGIN_URL=<フロントエンドをホストするサーバーの完全なURL。CORS設定に使用>
REGISTRATION_KEY=<サインアップ時の認証に使用するランダム文字列>
MAX_UPLOAD_SIZE=<最大ファイルアップロードサイズ(バイト)>
UPLOAD_LOCATION=<アップロードファイルを保存するディレクトリ (デフォルト: static)>
SSL_KEY=<SSLキーファイル(オプション)>
SSL_CERT=<SSL証明書ファイル(オプション)>

SSL_KEY と SSL_CERT はオプションであることに注意してください。どちらかが定義されていない場合、プレーンな HTTP サーバーが作成されます。これにより、同じホスト上で SSL 対応のリバースプロキシの背後でサーバーを実行する際の不要なオーバーヘッドを回避できます。

  1. サーバーを起動します。
root@kitploit:~
$ node index.js
[12:45:30 PM]  バックエンドデータベースに接続中...
[12:45:31 PM]  HTTPサーバーを起動中...
[12:45:31 PM]  サーバーがポート 3000 で起動しました

2. フロントエンド

これはオペレーターが使用する Web UI です。Svelte で書かれたシングルページ Web アプリケーションで、ソースコードは frontend/ ディレクトリにあります。

フロントエンドをセットアップするには:

  1. ソースディレクトリに移動します。
root@kitploit:~
$ cd frontend
  1. 依存関係をインストールします。
root@kitploit:~
$ npm install
  1. 変数 VITE_STRIKER_API を上記で設定した C2 サーバーの完全な URL に設定した .env ファイルを作成します。
root@kitploit:~
VITE_STRIKER_API=https://c2.striker.local
  1. ビルドします。
root@kitploit:~
$ npm run build

上記のコマンドはすべてを dist/ ディレクトリ内の静的 Web アプリケーションにコンパイルします。すべてのファイルを Web サーバーの Web ルートに移動するか、python の基本的な HTTP サーバーなどでホストすることもできます。

root@kitploit:~
$ cd dist
$ python3 -m http.server 8000
  1. サインアップします。
  • Web ブラウザでサイトを開きます。ログインページが表示されるはずです。
  • Register ボタンをクリックします。
  • ユーザー名、パスワード、および使用中の登録キー(backend/.env の REGISTRATION_KEY を参照)を入力します。

これにより標準ユーザーアカウントが作成されます。一部の機能にアクセスするには管理者アカウントが必要です。最初の管理者アカウントは手動で作成する必要があります。その後、Web UI の Users タブで他のアカウントを昇格または降格できます。

最初の管理者アカウントを作成するには:

  • バックエンドで使用されている MongoDB データベースに接続します。
  • users コレクションを更新し、対象ユーザーの admin フィールドを true に設定します。

これを行うにはいくつかの方法があります。CLI で mongo が利用可能な場合は、次のように実行できます。

root@kitploit:~
$ mongo <MongoDB接続URL>
> db.users.updateOne({username: "<ユーザー名>"}, {$set: {admin: true}})

成功すると次の応答が返ります。

root@kitploit:~
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

これでログインできます :)

3. C2 リダイレクタ

A) ダムパイプリダイレクション

Striker 用に書かれたダムパイプリダイレクタは redirector/redirector.py にあります。明らかに、これはプレーンな HTTP トラフィック、または SSL 検証が無効になっている場合の HTTPS でのみ動作します(C エージェントで INSECURE_SSL マクロを有効にすることで可能)。

次の例では、すべてのインターフェースでポート 443 をリッスンし、ポート 443 の c2.example.org に転送します。

root@kitploit:~
$ cd redirector
$ ./redirector.py 0.0.0.0:443 c2.example.org:443
[*] リダイレクタを 0.0.0.0:443 で開始...
[+] 接続を待機中...

B) Nginx リバースプロキシをリダイレクタとして使用

  1. Nginx をインストールします。
root@kitploit:~
$ sudo apt install nginx
  1. vhost 設定を作成します(例:/etc/nginx/sites-available/striker)。

プレースホルダー:

  • <ドメイン名> - サーバーの完全修飾ドメイン名。SSL 証明書のものと一致する必要があります。
  • <ssl-cert> - 使用する SSL 証明書ファイル。
  • <ssl-key> - 使用する SSL キーファイル。
  • <c2-server> - リクエストを転送する C2 サーバーの完全な URL。

警告:client_max_body_size は backend/.env ファイルの MAX_UPLOAD_SIZE で定義されたサイズと同じかそれ以上に設定しないと、大きなファイルのアップロードが失敗します。

root@kitploit:~
server {
    listen 443 ssl;
    server_name             <ドメイン名>;
    ssl_certificate         <ssl-cert>;
    ssl_certificate_key     <ssl-key>;
    client_max_body_size    100M;
    access_log              /var/log/nginx/striker.log;

    location / {
      proxy_pass              <c2-server>;
      proxy_redirect          off;
      proxy_ssl_verify        off;
      proxy_read_timeout      90;
      proxy_http_version      1.0;
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "upgrade";
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  1. 有効にします。
root@kitploit:~
$ sudo ln -s /etc/nginx/sites-available/striker /etc/nginx/sites-enabled/striker
  1. Nginx を再起動します。
root@kitploit:~
$ sudo service nginx restart

これでリダイレクタがポート 443 で起動します。次のコマンドでテストできます(FQDN が striker.local の場合)。

root@kitploit:~
$ curl https://striker.local

正常に動作すれば、バックエンドが使用する 404 応答が返ります。

root@kitploit:~
{"error":"Invalid route!"}

4. エージェント(インプラント)

A) C エージェント

これらは Striker が使用するインプラントです。主要なエージェントは C で書かれており、agent/C/ にあります。Linux と Windows の両方のホストをサポートしています。Linux エージェントは外部で libcurl に依存しており、ほとんどのシステムにインストールされています。

Windows エージェントには外部依存関係はありません。通信には wininet を使用しており、すべての Windows ホストで利用可能だと思います。

  1. Linux 用ビルド

64 ビットホストの場合、以下で 64 ビット用にビルドします。

root@kitploit:~
$ cd agent/C
$ mkdir bin
$ make

64 ビット環境で 32 ビット用にビルドする場合:

root@kitploit:~
$ sudo apt install gcc-multilib
$ make arch=32

上記はすべてを bin/ ディレクトリにコンパイルします。動作するインプラントを生成するには、次の2つのファイルのみ必要です。

  • bin/stub - 動作するインプラントのテンプレートとして使用されるエージェントスタブ。
  • bin/builder - エージェントスタブをパッチして動作するインプラントを生成するために使用するもの。

ビルダーは次の引数を受け付けます。

root@kitploit:~
$ ./bin/builder 
[-] 使用法: ./bin/builder <url> <auth_key> <delay> <stub> <outfile>

ここで:

  • <url> - 報告先のサーバー。理想的にはリダイレクタですが、サーバーへの直接 URL でも動作します。
  • <auth_key> - C2 に接続する際に使用する認証キー。Web UI の auth keys タブで作成できます。
  • <delay> - コールバック間の遅延(秒)。少なくとも 2 以上に設定する必要があります。ノイズのレベルに応じて調整します。
  • <stub> - 読み取るスタブファイル。この場合は bin/stub。
  • <outfile> - 新しいインプラントの出力ファイル名。

例:

root@kitploit:~
$ ./bin/builder https://localhost:3000 979a9d5ace15653f8ffa9704611612fc 5 bin/stub bin/striker
[*] 文字列を難読化...
[+] 69 個の文字列を難読化しました :)
[*] マーカーのオフセットを検出...
[+] オフセット:
            URL: 0x0000a2e0
       OBFS Key: 0x0000a280
       Auth Key: 0x0000a2a0
          Delay: 0x0000a260
[*] パッチ適用...
[+] 操作が完了しました!
  1. Windows 用ビルド

これには MinGW が必要です。以下で 32 ビットおよび 64 ビットの Windows 開発環境をインストールします。

root@kitploit:~
$ sudo apt install mingw-w64

64 ビット用にビルド:

root@kitploit:~
$ cd agent/C
$ mdkir bin
$ make target=win

32 ビット用にコンパイル:

root@kitploit:~
$ make target=win arch=32

これによりすべてが bin/ ディレクトリにコンパイルされ、ビルダーとスタブがそれぞれ bin\stub.exe および bin\builder.exe として生成されます。

B) Python エージェント

Striker には自己完結型の Python エージェントも付属しています(Python 2.7.16 および 3.7.3 でテスト済み)。これは agent/python/ にあります。このエージェントでは最も基本的な機能のみが実装されています。C エージェントを実行できないが Python がインストールされているホストに便利です。

このディレクトリには2つのファイルがあります。

  • stub.py - ビルダーに渡すペイロードスタブ。
  • builder.py - インプラントを生成するために使用するもの。

使用例:

root@kitploit:~
$ ./builder.py
[-] 使用法: builder.py <url> <auth_key> <delay> <stub> <outfile>
# 以下は `output.py` として動作するペイロードを生成します
$ ./builder.py http://localhost:3000 979a9d5ace15653f8ffa9704611612fc 2 stub.py output.py
[*] エージェントスタブを読み込み中...
[*] 設定を書き込み中...
[+] エージェントのビルドに成功しました: output.py
# 実行
$ python3 output.py

はじめに

上記の手順に従った後、Striker は使用可能な状態になります。使用ガイドをご覧ください。楽しんで、ハッピーハッキング!

サポート

このプロジェクトが気に入ったら、コーヒーをコードに変えるのを手伝ってください!

ツールをダウンロード