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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Platypus — :hammer: 最新のクロスプラットフォームマシンマネージャー | Kitploit
ツール/GitHubGitHub/wangyihang/platypus
ネットワークセキュリティペネトレーションテストコマンド&コントロールレッドチーミングリモートアクセスツール
GitHubwangyihang/platypus

Platypus

🔨 最新のクロスプラットフォームマシンマネージャー

リポジトリを見る
1.7k2272ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Platypus

GitHub stars GitHub license GitHub Release Downloads Sponsors

Linuxマシンのフリート向けのホスト管理ハブ。所有するすべてのホストにPlatypusエージェントをインストールします。エージェントはTLS + protobuf経由でPlatypusサーバーに接続します。サーバーからは、管理下の各ホストに対してインタラクティブシェル、ファイル管理、ネットワークトンネリングを一元的なコントロールプレーンから行えます。

スクリーンショット

Vercel風のフラットナビUIで、プロジェクトダッシュボード、ホスト/リスナー/セッションブラウザ、マルチホストディスパッチコンソール、管理ユーザーマネージャーを備えています。完全なギャラリーはdocs/screenshots/をご覧ください。ライブアプリから再生成するにはmake screenshotsを実行してください。

プロジェクト概要ダッシュボード

アーキテクチャ

Platypusは2つのバックエンドバイナリとスタンドアロンのデスクトップクライアントとして提供されます:

バイナリ役割
platypus-serverデーモン。TLSイングレスポートでエージェントの着信接続を受け付けます。管理ツール向けにREST + WebSocket APIを公開し、配布用のエージェントバイナリを提供します。

サーバーは純粋にAPIであり、組み込みのWeb UIはありません。複数のデスクトップが同時に同じサーバーに接続できます。

機能

  • エージェントとサーバー間のTLS + protobufチャネル
  • 異なるネットワークのフリートが1つのハブを共有できる複数のイングレスポート
  • ホストごとのインタラクティブシェル(WebSocket経由でストリーミング)
  • チャンク転送によるファイルの読み取り/書き込み/アップロード/ダウンロード
  • ネットワークトンネル: ローカルポートフォワード、リモートポートフォワード、動的SOCKS5
  • ベアラートークン認証のREST API
  • Python SDK
  • config.ymlからのリスナーの自動起動
  • グレースフルシャットダウン(SIGINT/SIGTERMで接続を30秒以内にドレイン)

ドキュメント

  • 中国語 | 中文文档

クイックスタート

ワンクリックデプロイ(推奨)

完全なPlatypusシステム(サーバー、Web UI、MinIOベースのエージェントディストリビューターを含む)を起動する最速の方法は、Docker Composeを使用することです:

root@kitploit:~
git clone https://github.com/WangYihang/Platypus
cd Platypus
docker-compose up -d
  • Web UI: ブラウザでhttps://localhost:9443を開きます(コンテナには自己署名証明書が付属しており、初回アクセス時にブラウザが受け入れを促します)。
  • ログイン: bootstrap_secretは初回起動時にコンテナ内の/app/data/bootstrap.secretに書き込まれます(モード0600)。docker compose exec platypus-server cat /app/data/bootstrap.secretで読み取り、最初の管理者を作成するために一度使用したら、ファイルを削除します。ブートストラップ完了後、シークレットは受け付けられなくなります。
  • エージェントの追加: UIで「エージェントを追加」をクリックすると、プロジェクトCAに署名・固定された一行のcurl ... | shコマンドが取得でき、フリートにエージェントをデプロイできます。

ソースからビルド

Go 1.24+ と protoc が必要です(protobufコードを再生成する場合のみ)。

root@kitploit:~
git clone https://github.com/WangYihang/Platypus
cd Platypus
make build              # → ./build/{platypus-server,platypus-agent}

その他の便利なターゲット:make test、make lint、make snapshot(goreleaserによるクロスプラットフォーム)、make help。

開発(pre-commitフック)

コントリビューターは、各コミット前にgofmt / goimports / go vet / golangci-lintが実行されるようにgitフックをインストールする必要があります:

root@kitploit:~
pip install pre-commit   # または: pipx install pre-commit
make hooks               # 一度だけ: .git/hooks/pre-commit を設定
make pre-commit          # オプション: すべてのファイルに対して今すぐすべてのフックを実行

デスクトップアプリのビルド

Node 22+、Wails CLI依存関係(wails doctor)、およびプラットフォームのWebViewライブラリ(Linuxではwebkit2gtk-4.1、WindowsではWebView2、macOSではWKWebView)が必要です。

root@kitploit:~
make desktop-deps       # 一度だけ: Wails CLI + pnpmパッケージをインストール
make desktop-build      # → desktop/build/bin/platypus-desktop
make desktop-dev        # ホットリロード開発モード

または:スタンドアロンWeb UIを使用(インストール不要)

同じページ、同じ機能(リアルタイムイベントプッシュを除く)、任意のブラウザで動作します:

root@kitploit:~
make web-ui             # → desktop/frontend/dist-web/ (静的バンドル)
make web-ui-serve       # http://localhost:8080 でプレビュー

dist-web/は完全に静的です。GitHub Pages / S3 / nginxにデプロイしてください。ログインフォームから任意のplatypus-serverを指定します。

詳細はdesktop/README.mdにあります。

リリースバイナリからインストール

OS/アーキテクチャに適したアーカイブをReleasesページからダウンロードし、展開して実行します。

Dockerで実行

root@kitploit:~
docker build -t platypus-server .
docker run --rm -p 9443:9443 \
  -e PLATYPUS_DEV=1 \
  -v $(pwd)/config.yml:/config.yml \
  platypus-server

PLATYPUS_DEV=1はオンディスクのKEKフォールバックを有効にし、新規起動が「そのまま動作」します。本番環境では、その環境変数を削除し、代わりにPLATYPUS_CA_KEK(32バイトの16進数、openssl rand -hex 32)を設定してください。そうすることで、CA秘密鍵の暗号化キーが暗号化データベースの隣に書き込まれることがなくなります。

実行

root@kitploit:~
./build/platypus-server                # フォアグラウンド; Ctrl-Cでグレースフルシャットダウン

本番環境では、手動でバックグラウンド実行するのではなく、systemdの下でサーバーを実行してください。

本番環境の注意事項

  • シングルインスタンスのみ。 不透明トークンベリファイアは、プロセスごとのLRUで検証済みトークンをキャッシュします。失効(ログアウト、パスワード変更、AAT失効、ユーザー削除)は同じプロセスで同期的にエントリを削除しますが、現在マルチレプリカデプロイメントにはプロセス間の無効化チャネルがないため、失効したトークンはキャッシュTTL(30秒)の間、他のレプリカで動作し続ける可能性があります。プロセス間の失効が実装されるまで、同じDBに対して複数のplatypus-serverを実行しないでください。サポートされる構成は垂直スケールとHAスタンバイであり、水平ロードバランスレプリカはサポートされていません。
  • 環境変数PLATYPUS_CA_KEK。 CA秘密鍵は、この32バイトの16進数値に対してAES-256-GCMでシールされます。設定されていない場合、PLATYPUS_DEV=1も存在しない限りサーバーは起動を拒否します(PLATYPUS_DEV=1は<data-dir>/ca.kekに開発専用のオンディスクフォールバックを有効にしますが、暗号文とキーが同じボリュームに配置されるため本番環境では安全ではありません)。
  • デスクトップクラスのビューポート、モバイルレイアウトは未対応。 Web UIは1280px以上のビューポートを対象としています。レール/サイドバー/ステータスバーの領域は約300pxを占め、コンテンツ本文は80~100文字の読みやすい領域に残ります。現時点では狭いウィンドウに対するレスポンシブ折りたたみはありません。1024px未満のビューポートではテーブルに水平スクロールバーが表示されます。タブレット/電話のサポートはバックログにあります(UX監査でP4)が、ブロックにはなりません。管理作業はデスクワークです。
  • オブジェクトストアの認証情報。 ディストリビューターが有効な場合(distributor.store.endpointが設定されている場合)、config.ymlにハードコードするのではなく、PLATYPUS_DISTRIBUTOR_STORE_ACCESS_KEY_IDとPLATYPUS_DISTRIBUTOR_STORE_SECRET_ACCESS_KEYを設定してください。バンドルされているconfig.docker.ymlでは、その理由からYAMLフィールドは空白になっています。

使い方

トポロジー

  • Server: 192.168.88.129
    • 統合TLSイングレス(REST API + エージェントリンク + インストーラー): 0.0.0.0:9443
  • 管理ホスト: 192.168.88.130(platypus-agentを実行)

クイックツアー

まず、./platypus-serverを実行します。config.ymlが存在しない場合は、assets/config.example.ymlから生成されます。デフォルトは適切です。

新しい管理ホストを登録するには:

  1. Web UI / デスクトップアプリを開き、プロジェクトに移動し、Add Agentをクリックします。
  2. ターゲットのOS/アーキテクチャとTTLを選択し、Generateをクリックします。
  3. UIに表示されるワンライナーをコピーし、管理ホストで実行します。

サーバーが生成するワンライナーは次のようになります:

root@kitploit:~
curl -fsSL https://<server>:9443/api/v1/install/<one-shot-token> | sh

使い捨てインストールトークンは発行後すぐに期限切れとなり、最初の成功したヒットで消費されます。サーバーが返すスクリプトは:

  • プロジェクトCAを埋め込み、エージェントバイナリのダウンロードがcurl --cacertで検証されるようにします(-kなし、TOFUなし)。
  • 使い捨てPATを注入し、エージェントが登録を完了してmTLSクライアント証明書を取得できるようにします。
  • サーバーにプロジェクトCAが設定されていない場合、オペレーターが明示的にPLATYPUS_INSECURE_DOWNLOAD=1を設定しない限り、実行を拒否します。

注意: レガシーな/agent/<host>:<port>パスに対してcurl http://... URLを手書きしないでください。そのフローは削除されました。インストールコマンドは常にUIを介してレンダリングし、トラストアンカーを保持してください。

デスクトップ / Web

デスクトップアプリ(platypus-desktop)またはWeb UI(make web-ui-serve)を開き、サーバーのURLとシークレットを入力すれば完了です。タブ:セッション(接続しているすべてのエージェント)、ターミナル、ファイル、トンネル、リスナー。

高度な使い方

  • REST API
  • Python SDK

その他の資料

  • KCon 2019のプレゼンテーション
  • GCSIS 2021のプレゼンテーション

コントリビューター

このプロジェクトは、貢献してくださるすべての方々のおかげで成り立っています。

バッカー

すべてのバッカーの皆様に感謝します!🙏 [バッカーになる]

スポンサー

スポンサーになることでこのプロジェクトを支援してください。あなたのロゴがここに表示され、ウェブサイトへのリンクが付きます。[スポンサーになる]

ツールをダウンロード
platypus-agent
管理下の各ホストで実行されるプロセス。TLS + protobuf経由でサーバーに接続します。
platypus-desktopネイティブ (Wails v2) デスクトップGUI。到達可能な任意のサーバーにURLとシークレットで接続します。セッション、ターミナル、リスナー、ファイル、トンネル用のタブ付きUI。詳細はdesktop/を参照。