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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/clickswave/vuln_apps
脆弱性分析ウェブセキュリティペネトレーションテスト学習と教育APIセキュリティラボと実践
GitHubclickswave/vuln_apps

vuln_apps

分離されたDockerスタック上で、意図的に脆弱性を含むWeb/APIアプリ群を実行し、ローカルでのペネトレーションテストと、正解データとなる脆弱性カタログに基づくスキャナー検出結果の検証を実現します。

リポジトリを見る
1171ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

vuln_apps

セキュリティツール(crossfyre、Burp、ZAP、nuclei など)を向けるための、意図的に脆弱性を持たせたアプリ群です。このフォルダにはアプリのソースコードは一切含まれておらず、スケルトン定義と小さなマネージャーのみがあります。各アプリはそれぞれ分離されたコンテナスタックとして実行されるため、互いに衝突することはありません。

ここにあるものはすべて意図的に脆弱です。ローカルテスト専用です。 インターネットや 信頼できないネットワークに公開しないでください。すべてのポートは 127.0.0.1 にバインドされます。

しくみ

  • docker compose up は 1 つのコンテナ、vuln_apps_manager(コントロールプレーン)を起動します。これ自体が 脆弱性アプリを起動することはありません。
  • アプリ群はマネージャーを通じて操作します。各アプリは apps/<name>/ 配下のスケルトンフォルダ (app.yml マニフェスト + compose.yml)で定義され、マネージャーがそれぞれの 独立した docker compose プロジェクトとして実行します。
  • 各アプリが独立したプロジェクトなので、独自のネットワーク、ボリューム、データベースを 持ちます。両方のアプリが Postgres を使う場合でも、共有されることはありません。
  • 公開されるのは各アプリのWeb/ターゲットポートのみで、127.0.0.1 にバインドされます。データベースや内部層が ホストにバインドされることは決してありません。各アプリの Web サービスは共有の ネットワークにも参加するため、 コンテナ内で実行されているスキャナはホストポートを一切使わずに サービス名(例: )で到達できます。
vuln-net
http://dvwa

クイックスタート

root@kitploit:~
cd vuln_apps
./vam start --all      # ONE command: builds the manager, starts every light app,
                       # and runs each app's first-time setup automatically
./vam status           # what's running + URLs
./vam stop --all       # stop everything

たった 1 つの ./vam start --all で、各アプリに必要な初回セットアップ(DVWA のデータベース作成、bWAPP のインストール、VAmPI のシード)も実行されるため、running と表示された時点で、手動で /setup.php や /install.php を開くことなく、すべてのアプリが利用可能になります。

マネージャーをライブステータスモニターとして起動したままにしたい場合は、先に docker compose up -d を実行し、その後上記のように ./vam ... を使用します。

./vam <cmd> は単なるラッパーです。それなしでもまったく同じことができます:

root@kitploit:~
docker compose run --rm vuln_apps_manager start --all
docker compose run --rm vuln_apps_manager status

マネージャーコマンド

コマンド説明
./vam listすべてのアプリとその状態、URL を一覧表示
./vam start <app...> | --all [--heavy]アプリを起動。--all は --heavy を指定しない限り重量級アプリをスキップ
./vam stop <app...> | --allアプリを停止
./vam restart <app...> | --allアプリを再起動
./vam statusアプリ群のステータステーブル
./vam logs <app> [-f]アプリのログを追跡表示
./vam pull <app...> | --allイメージを事前プル
./vam portsホストポートのマップと衝突チェック
./vam doctor環境とポートの健全性チェック

例: ./vam start juice-shop dvwa, ./vam start crapi --heavy, ./vam logs webgoat -f。

アプリとポート

すべての URL は http://127.0.0.1:<port>(ループバックのみ)です。

アプリポートスタック備考
juice-shop7001Node / Angularモダンな SPA + REST
dvwa7002PHP / MariaDB起動時に DB を自動作成、ログインは admin/password
webgoat7003JavaWebWolf は 7004(OOB キャッチャー)
vampi7005Python / FlaskOWASP API Top 10
dvga7006Python / GraphQL/graphql
bwapp7007PHP起動時に自動インストール、ログインは bee/bug
log4shell7009Java / Springblind-RCE -> OAST
crapi7010Node/Java/Python重量級、mailhog は 7011
faultline8088SvelteKit/Rust/PG/RedisGitHub から取得(下記参照)

予約済みホストポート範囲: 7001-7099。./vam ports はライブマップを表示し、衝突があれば警告します。

新しいアプリの追加

apps/ の下にフォルダを置きます:

root@kitploit:~
apps/<name>/
  app.yml       # name, description, category, stack, url
  compose.yml   # the container(s): image, ports (127.0.0.1 only), any DB
  setup.sh      # optional: one-time init run after start (see below)

アプリ群をクリーンに保つルール:

  • Web/ターゲットポートのみを 127.0.0.1:<空いている 70xx ポート> にバインドします。
  • 単一コンテナのアプリ: サービスは [vuln-net] のみに配置します。プロジェクトごとのネットワークを追加しないでください。Docker のアドレスプールを節約できます(ネットワークが多すぎると Docker が "all predefined address pools have been fully subnetted" というエラーで失敗します)。
  • データベースを持つアプリ: アプリは [default, vuln-net] に、DB は [default] のみ(プライベート、ホストバインドなし)に配置します。各アプリに独自の DB サービスと ボリュームを与えます(共有しないでください)。vuln-net は external: true として宣言します。
  • 初回セットアップ: アプリが一度だけの初期化(DB 作成、インストール、シード)を必要とする場合は、apps/<name>/setup.sh を追加します。マネージャーは start の後に、 マネージャーコンテナ(vuln-net 上にあり、curl を搭載)の内部からそれを実行するため、 curl http://<service>/install.php のようにサービス名で アプリに到達できます。

これだけです。マネージャーが自動的に認識します(./vam list)。

ソースが git リポジトリ(faultline など)にあるアプリの場合は、compose.yml を置く代わりに、app.yml に repo:(クローン URL)と compose:(そのリポジトリ内の compose パス)を記述します。マネージャーは初回起動時に apps/<name>/src/(gitignore 対象)へクローンするため、ソースはここにベンダリングされません。

脆弱性カタログ

vulns/ にはアプリごとの「解答キー」(各ターゲットがどのような脆弱性を持つべきかの定義)が格納されており、スキャナの検出結果を正解データと照合できます。vulns/README.md を参照してください。詳細なローカルカタログは faultline と crapi にあります。上流のアプリは、それぞれの公式の解答キーを参照しています。

crAPI(重量級)

crAPI は Postgres + Mongo + 3 つのアプリ層(約 2 GB)を実行するため、--all ではスキップされます。明示的に ./vam start crapi --heavy で起動してください。初回起動は遅いです。サインアップ OTP とリセットメールは http://127.0.0.1:7011 の mailhog に届きます。

faultline(GitHub から取得)

faultline は Clickswave 独自のフルスタックターゲットです。そのソースはここにはベンダリングされておらず、マネージャーが初回起動時に github.com/clickswave/faultline からクローンします:

root@kitploit:~
./vam start faultline    # clones the repo into apps/faultline/src/, then builds + runs it

初回起動でビルドが行われます(Rust のため遅い)。後で ./vam pull faultline でチェックアウトを更新できます。その後、http://127.0.0.1:8088 を開いてください。デモログイン: [email protected] / password、[email protected] / admin。

注意事項

  • docker compose down はマネージャーのみを停止します。アプリは先に ./vam stop --all で停止してください(アプリは別々のプロジェクトです)。
  • マネージャーはマウントされたソケット経由でホストの Docker デーモンと通信するため、他のコンテナを起動・監視できます。
ツールをダウンロード