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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/oliverwiegers/pentest_lab
ウェブセキュリティペネトレーションテスト学習と教育ラボと実践
GitHuboliverwiegers/pentest_lab

pentest_lab

docker-composeを使用したローカル侵入テストラボ。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ペンテストラボ

もう積極的には開発していませんが、バグ修正やIssue・プルリクエストの確認は行います。 助けていただけると幸いです :)

このローカルペンテストラボは、docker composeを利用して複数の被害者サービスとKali Linuxが動作する攻撃者サービスを立ち上げます。初めてこのラボを実行する場合、さまざまなDockerイメージのダウンロードに時間がかかります。

スクリーンキャスト

実行したコマンド:

  • ./lab.sh --help
  • ./lab.sh --check-dependencies
  • ./lab.sh --up --all-services
  • ./lab.sh --info
  • ./lab.sh --overview all
  • ssh root@kali -o "UserKnownHostsFile /dev/null"
  • ./lab.sh --down

使用法

必要な依存関係がすべてインストールされていれば、ラボはすぐに動作するはずです。起動時に依存関係のチェックが実行されます。

ラボの起動

root@kitploit:~
git clone https://github.com/oliverwiegers/pentest_lab
cd pentest_lab
./lab.sh -u

デフォルトでは、ラボは全ての被害者サービスと1つのレッドチームサービスを起動します。他のサービスを起動したり追加したりできます。詳細は以下をご覧ください。

使用法の詳細については、./lab.sh -h | --helpで表示されるヘルプメッセージをご覧ください。

依存関係

  • bash
  • find
  • sed
  • yq (The Python version. Not yq-go.)
  • docker
  • docker-compose

ラボには起動時に実行される組み込みの依存関係チェックがあります。手動で実行することもできます:./lab.sh -C。

Heimdall

img

使いやすくするために、Heimdallインターフェースが追加され、localhost:7000で公開されています。ローカルマシンに公開され、ブラウザでアクセスできるすべてのサービスがここにリストされます。インターフェースに加えた変更は自動的に./etc/heimheimdallに保存されます。このディレクトリはラボを停止する際に./etc/heimdall.tarに変換されます。このtarアーカイブは起動時に展開されます。./etc/heimdall.tarと./etc/heimdallはどちらもデフォルトでgitの管理対象外です。

使用されている壁紙はこちらで見つけられます。

サービス

このラボには以下の4種類のサービスがあります。

  • red_team
  • blue_team
  • victim
  • monitoring

デフォルトのレッドチームサービス(Kaliサービス)はかなり基本的なKaliインスタンスです。ただし、kali-tools-webメタパッケージがインストールされています。Webアプリケーションテストラボでは、基本的なWebテストツールが有用と思われます。これは、イメージをビルドするDockerfile(./dockerfiles/kaliにあります)を編集することで変更できます。Kaliサービスはデフォルトでこれらのdotfilesをインストールします。これもDockerfileを調整することで変更可能です。

被害者サービス

  • juice-shop
  • hackazon
  • tiredful-api
  • WebGoat
  • bwapp
  • DVWA
  • XVWA
  • ninjas

モニタリングサービス

img img

モニタリングサービスはブルーチームサービスでもありますが、別のカテゴリに分けられています。

このスタックはログとパフォーマンスの観測機能を提供します。

個々のインスタンスの詳細については以下を参照してください。

現在のモニタリング設定は以下のサービスで構成されています:

  • Grafana - ログとメトリクスを可視化します。
  • Loki - DockerログをGrafanaに転送します。
  • Prometheus - メトリクスをGrafanaに転送します。
  • cAdvisor - コンテナのリソース使用量とメトリクスを収集し、Prometheusに転送します。

Grafana

Grafanaインスタンスは、ログ用とメトリクス用の2つのダッシュボードを提供します。

  • ログダッシュボード
  • メトリクスダッシュボード

これらはかなり基本的なものです。Grafanaインターフェースからダッシュボードを追加することでさらに追加できます。これらのダッシュボードはgrafanaボリュームが削除されると失われます。ダッシュボードを永続的に追加するには、GrafanaのProvisioning Docsを参照してください。プロビジョニングに使用されるディレクトリは./etc/grafana/にあります。

Grafanaインターフェースを介して設定を変更するには、adminとしてログインする必要があります。認証情報はデフォルトのadmin:adminです。 #hacktheplanet

Loki

LokiがDockerログを収集できるように、このラボはLoki Docker DriverをDockerプラグインとしてインストールします。

Prometheus / cAdvisor

Prometheusがクラスタ内で実行中のコンテナのパフォーマンスメトリクスにアクセスできるように、cAdvisorが使用されます。

サービスの追加

追加のサービスを追加するには、docker-compose.ymlファイルに関するある程度の知識が必要です。このリポジトリのルートにあるdocker-compose.ymlはラボ起動時に自動生成されます。このプロセスは./etc/services以下にあるyamlファイルを使用します。

root@kitploit:~
➜  pentest_lab tree ./etc/services
./etc/services
├── blue_team
│   └── endlessh.yml
├── default.yml
├── monitoring
│   ├── cadvisor.yml
│   ├── grafana.yml
│   ├── loki.yml
│   └── prometheus.yml
├── red_team
└── victim
    ├── beginner
    │   ├── bwapp.yml
    │   ├── dvwa.yml
    │   ├── hackazon.yml
    │   ├── tiredful.yml
    │   ├── webgoat.yml
    │   └── xvwa.yml
    ├── expert
    │   └── juice-shop.yml
    └── intermediate
        └── ninjas.yml

どのサービスを起動するかは、./lab.shを対応するオプションで呼び出すことで制御されます。サービスを恒久的に無効にするには、.ymlファイル拡張子を削除してください。

victimサービスの例は以下の通りです:

root@kitploit:~
bwapp:
  labels:
    class: 'victim'
    cluster: 'pentest_lab'
    level: 'beginner'
  image: raesene/bwapp
  ports:
    - '8080:80'
  networks:
    pentest_lab:
      ipv4_address: 10.5.0.100
  hostname: bwapp
  volumes:
    - bwapp-data:/var/lib/mysql

注意:サービスが最初の使用時に何らかのインストールを必要とする場合は、docker inspect <image_name>を使用してDockerイメージがデータを保存する場所を確認し、そのディレクトリを指すボリュームを追加してください。上記の例では以下のようになります:

root@kitploit:~
  volumes:
    - bwapp-data:/var/lib/mysql

これにより、ラボを再起動するたびにサービスを再セットアップする必要がなくなります。ただし、ラボをリセットして完全に最初からやり直したい場合は、./lab.sh -p | --pruneを使用できます。これにより、ラボが所有するすべてのリソースが削除されます。

IP範囲

静的IPアドレスを使用した理由は、KaliボックスがSSHログインを簡単にするために変更されないIPアドレスを持つ必要があるためです。詳しくは下のTips/Tricksセクションを参照してください。

  • レッドチームサービスは10.5.0.5から始まります
    • Kaliサービスは10.5.0.5です。
  • ブルーチームサービスは10.5.0.50から始まります
  • 被害者サービスは10.5.0.100から始まります
  • モニタリングサービスは10.5.0.200から始まります

サービス情報

サービスを追加し、このラボを実行する人にとって有用な追加情報がある場合は、その情報を./etc/services_infoに追加できます。このファイルの内容は、./lab.sh -iを実行することでそのまま1行ずつ表示されます。

Tips/Tricks

SSH

Kaliサービスへの簡単な接続のために、以下の内容を$HOME/.ssh/cofigに追加することができます:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new

これにより、ssh [email protected] -o "UserKnownHostsFile /dev/null"の代わりにssh kaliを実行できます。

tmuxユーザーの場合、以下を追加すると自動的にtmuxセッションにアタッチします:

root@kitploit:~
Host kali
    User root
    Hostname 10.5.0.5
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking accept-new
    RequestTTY yes
    RemoteCommand tmux -L tmux new-session -As hacktheplanet
ツールをダウンロード