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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
purpleteam-s2-containers — ステージ2のコンテナ | Kitploit
ツール/GitLabGitLab/purpleteam-labs/purpleteam-s2-containers
脆弱性スキャナーコンテナセキュリティ動的分析 (サンドボックス)ウェブセキュリティペネトレーションテストクラウドセキュリティDevSecOps学習と教育Archived
GitLabpurpleteam-labs/purpleteam-s2-containers

purpleteam-s2-containers

ステージ2のコンテナ

リポジトリを見る
1235年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

purpleteam ロゴ

purpleteam ステージ2コンテナ


purpleteam のステージ2コンテナ




これらのコンテナは、Build User 設定 (Job) の入力(具体的には定義した testSession の数)に基づいて、purpleteam CLI に供給された動的に起動されます。

以下の設定は、purpleteam バックエンドを local 環境で実行する場合に関係します。cloud ではすべて自動で行われます。

このリポジトリをクローンしてください。

環境変数の定義

app-slave (Zap)

テストでは、app-slave ディレクトリ内で直接 .env ファイルを使用します。

ZAP_API_KEY

ZAP_API_KEY 環境変数に値を割り当てていることを確認してください。

ZAP_API_KEY は任意の値に設定できますが、app-slave で定義するだけでなく、app-scanner プロジェクト設定にも追加するようにしてください。app-scanner プロジェクトでは、ステージ2コンテナで実行されている Zap に対して認証するために Zap API キーを設定する必要があります。app-scanner プロジェクトでは、以下で設定する必要があります: { "slave": { "apiKey": <zap-api-key-here> } }

HOST_ZAP_LOG4J_PROPERTIES_PATH と ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET

Zap のデバッグログが必要な場合は、LOG4J デバッグ設定用の環境変数も追加する必要があります。

.env ファイル

.env ファイルを使用する場合、これらすべての環境変数を追加すると、次のようになります:

ZAP_API_KEY=<zap-api-key-here>
HOST_ZAP_LOG4J_PROPERTIES_PATH=<絶対パス>/purpleteam-s2-containers/app-slave/log4j.properties>
ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET=/home/zap/.ZAP/log4j.properties

デバッグ

app-slave (Zap)

デバッグログ

上記で説明した環境変数を設定している場合:

local 環境で実行される app-slave (Zap) コンテナのデバッグログを有効にするには、volumes 配列と、source キーに環境変数 HOST_ZAP_LOG4J_PROPERTIES_PATH を含む要素のコメントを解除します。

実際のログを表示する方法は以下を参照してください。

Zap との連携

テストの実行中に Zap と連携(Zap UI へのクエリ)できます。これは過去に app-scanner をデバッグする際に Zap の状態を確認するために役立ちました。

  1. appslave_zap_[n] コンテナが実行中であることを確認します:
    docker stats
    
  2. appslave_zap_[n] コンテナがバインドされているホストポートを確認します:
    docker container ls
    
    これは docker-compose.yml で定義されているように、8080 から 8091 までの任意のポートになる可能性があります。 コンテナ内の Zap がリッスンしているポートは常に 8080 です。
  3. ブラウザで FoxyProxy を使用して、localhost:[zap-host-port] へのプロキシを設定します。 FoxyProxyDetails_Zap-min オプション:FoxyProxy に次の URL パターンを設定します:zap:8080/* FoxyProxyURLPattern_Zap-min URL パターンを使用すると、FoxyProxy をオンにしたまま、「事前定義されたパターンと優先順位に基づいてプロキシを使用する」を選択できます。それができない場合は、作成した特定のプロキシを選択するだけです。
  4. http://zap:8080/ にアクセスします。 リクエストはホストポートを介してプロキシされ、FoxyProxy 設定で指定されたホストポートのコンテナ内の zap プロセスによって応答されます。

selenium-standalone

デバッグログ

local 環境で実行される Selenium コンテナのデバッグログを有効にするには、environment 配列と、chrome および/または firefox の SE_OPTS=-debug 要素のコメントを解除します。

実際のログを表示する方法は以下を参照してください。

Selenium コンテナ内のブラウザを表示する

以下に、このプロジェクトから実行される任意の Selenium コンテナ内のブラウザを表示するために必要な手順を示します。

docker-compose.yml の設定:

  • コンテナイメージを -debug イメージに置き換えます。-debug イメージはコメントアウトされている可能性があるため、通常のイメージをコメントアウトして、末尾に -debug が付いたイメージのコメントを解除するだけで問題ありません。
  • コンテナ内の VNC サーバーにアクセスできるように、5900 ポート範囲のコメントを解除します。外部ポートとして範囲(例:5900-5901)を指定すると、複数のコンテナに同時に VNC 接続できます。この例では、同時に2つのセッションを開くことを許可しています。2つ以上 VNC 接続する必要がある場合は、外部ポート範囲を広げてください。

VNC クライアントの設定:

  1. コンテナ内の VNC サーバーへの接続を開くには、VNC クライアントが必要です。Linux Mint では Remmina Remote Desktop Client を使用して成功しました。Software Manager から Remmina-plugin-vnc をインストールしてください。

  2. Remmina Remote Desktop Client を起動します。

  3. 新しいエントリを作成します。複数の Selenium コンテナに同時に VNC 接続する場合は、次のようにそれぞれ設定できます:

    キー値
    名前seleniumstandalone_chrome_1
    プロトコルVNC - Virtual Network Computing
    Basic タブ
    サーバー127.0.0.1:5900
    パスワードsecret
    色深度True color (24 bit) # これだけが動作しました
    品質低(最速)
    キー値
    名前seleniumstandalone_chrome_2
    プロトコルVNC - Virtual Network Computing
    Basic タブ
    サーバー127.0.0.1:5901
    パスワードsecret
    色深度True color (24 bit) # これだけが動作しました
    品質低(最速)

詳細については SeleniumHQ github を参照してください。

Selenium コンテナ内のブラウザを表示する

Selenium コンテナが実行中になったら(確認にはターミナルで docker stats を実行し続けると便利です)、docker container ls を使用して各 Selenium コンテナがどの外部ポートを使用しているかを確認できます。Docker は VNC クライアントエントリに割り当てたポートを認識しないため、特定の VNC クライアントエントリの名前が同じ名前の Selenium コンテナと一致しない可能性があります。そのため、docker container ls でポートマッピングを確認することをお勧めします。

複数のテストセッションがある場合、どの Selenium コンテナがどのテストセッションに使用されているかを関連付けるには、実行中の app-scanner ログを確認する必要があるかもしれません。また、app-scanner がログレベル debug に設定されていることを確認し、以下のログメッセージの一部またはすべてを確認できるようにする必要があるかもしれません:

[app.parallel] cucCli process with PID "28" has been spawned for test session with Id "lowPrivUser"

[app.parallel] cucCli process with PID "34" has been spawned for test session with Id "adminUser"

[pid-28,world] seleniumContainerName is: seleniumstandalone_chrome_1

[pid-34,world] seleniumContainerName is: seleniumstandalone_chrome_2

この例では、Build User 設定(Job)に2つのテストセッションが設定されています。1つは id が lowPrivUser、もう1つは id が adminUser です。この例では、lowPrivUser テストセッションは PID 28 のプロセスを持ち、adminUser テストセッションは PID 34 のプロセスを持っています。 その後の2つのログメッセージで、PID を関連付けることで、lowPrivUser テストセッションが seleniumstandalone_chrome_1 という名前のコンテナを実行し、adminUser テストセッションが seleniumstandalone_chrome_2 という名前のコンテナを実行していることがわかります。 どのテストセッションがどの seleniumstandalone_chrome_[n] コンテナを実行するかは保証されないため、確実に確認する必要がある場合はこの関連付け手法を使用してください。

Selenium コンテナに VNC 接続するには、Remmina を起動したら、上記で作成した VNC エントリを1つ以上ダブルクリックします。ブラウザが操作されているのを見ることができるはずです... app-scanner の Cucumber テストステップがその時点まで進んでいる場合に限ります。 もちろん、テストを遅くしたり、一時停止したり、デバッガでステップ実行したりすることもできます。これらの詳細は purpleteam wiki のワークフローページにあります。

コンテナログのリダイレクトと表示

local 環境では、docker stats を実行し続けると、どのコンテナが実行中で、いつ起動・停止されているかを確認できます。これにより、以下のコマンドに使用するコンテナ名も取得できます。

ステージ2コンテナのログを表示するには、コンテナの stdout(および Docker が stdout と stderr を統合するため stderr)を tail します:

docker logs --follow [コンテナ名]

これらのログをファイルにも送信する場合:

docker logs --follow [コンテナ名] |tee output.log$(date '+%Y-%m-%d_%T')

ターミナルで表示せずにログをファイルに送信する場合:

docker logs --follow [コンテナ名] > output.log$(date '+%Y-%m-%d_%T')
ツールをダウンロード