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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kali-linux-docker — kali-linux-docker | Kitploit
ツール/GitHubGitHub/nu11secur1ty/kali-linux-docker
脆弱性スキャナーコンテナセキュリティエクスプロイトフレームワークスクリプトと自動化情報収集セキュリティ仮想化ウェブセキュリティペネトレーションテストクラウドセキュリティDevSecOps学習と教育
116年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
nu11secur1ty/kali-linux-docker

kali-linux-docker

kali-linux-docker

リポジトリを見るウェブサイト

公式 Kali Linux Docker

この Kali Linux Docker イメージは、Kali Linux Rolling Distribution の最新版の最小限のベースインストールを提供します。 このイメージにはツールは追加されていないため、自分でインストールする必要があります。 Kali Linux メタパッケージの詳細については、https://www.kali.org/news/kali-linux-metapackages/ を確認してください。


Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker

実験機能 (EXPERIMENTAL) を有効にする必要があります

--squash が docker デーモンに渡されるため、デーモンで実験機能が 有効になっていない場合、build.sh スクリプトは失敗します。

Kali では、これは /etc/docker/daemon.json に次の内容を記述することで行います:

root@kitploit:~
{
    "experimental": true
}

注: これは、新しいイメージを Docker Hub にプッシュする際にイメージサイズを削減するための、Offensive Security 側の要件にすぎません。 個人利用のためにビルドする場合は、build.sh 内の --squash オプションを削除してもかまいません。

Tue May 21 13:59:06 EDT 2019

Kali Linux Docker イメージのセットアップ

言うまでもなく、これを実行するには Docker をインストールする必要があります。OSX で Docker を使う場合は brew を使用でき、他のほとんどのディストリビューションでは、ローカルのパッケージマネージャを使ってインストールできます。インストールとセットアップが完了したら、Docker リポジトリからイメージをプルするだけです:

  • docker と Metasploit + vim + git の実行例
root@kitploit:~
nu11secur1ty:~ # docker pull nu11secur1ty/kali-linux-docker
nu11secur1ty:~ # docker run -t -i nu11secur1ty/kali-linux-docker /bin/bash
root@7e2a35940eff:/# apt update
root@7e2a35940eff:/# apt dist-update
root@7e2a35940eff:/# apt update && apt install metasploit-framework
root@7e2a35940eff:/# apt update && apt install git
root@7e2a35940eff:/# apt update && apt install vim
root@7e2a35940eff:/# service postgresql start
root@7e2a35940eff:/# ss -ant
root@7e2a35940eff:/# msfdb init
root@7e2a35940eff:/# msfconsole

その他のソフトウェア:

  • sqliv2
root@kitploit:~
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2

. 使用方法 link:sqliv2


  • nu11secur1ty パック

. 取得:

root@kitploit:~
git clone https://github.com/nu11secur1ty/nu11secur1ty.git

link:nu11secur1ty

######################################################

独自の Kali Linux Docker イメージをビルドする

事前に用意されたイメージを使うのではなく、独自の Kali イメージをビルドしたい場合は、GitHub の Kali Linux Docker で公開されている次のスクリプトを使うと簡単にビルドできます。これらのイメージは、Linux システムや debootstrap を実行できるその他の OS で最適にビルドできます。

root@kitploit:~
#!/bin/bash
# Install dependencies (debootstrap)
sudo apt-get install debootstrap
# Fetch the latest Kali debootstrap script from git
curl "https://gitlab.com/kalilinux/packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\
sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\
# Import the Kali image into Docker
sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\
sudo rm -rf ./kali-root &&\
# Test the Kali Docker Image
docker run -t -i kalilinux/kali cat /etc/debian_version &&\
echo "Build OK" || echo "Build failed!"

      • 最終リリース:

その他のソフトウェアドキュメント、インストール、Docker イメージの削除


実行中のコンテナに SSH で接続するにはどうすればよいですか

すでに実行中のコンテナに接続するために使用できる docker exec コマンドがあります。

  • docker ps を使用して既存のコンテナの名前を取得します
  • コマンド docker exec -it <container name> /bin/bash を使用して、コンテナ内で bash シェルを取得します
  • 一般的には、docker exec -it <container name> <command> を使用して、コンテナ内で指定した任意のコマンドを実行します。

コンテナ内でコマンドを実行するにはどうすればよいですか?

コンテナ内でコマンドを実行する正しい方法は、docker-compose run <container name> <command> です。たとえば、web コンテナでシェルを取得するには、docker-compose run web /bin/bash を実行します。

一連のコマンドを実行するには、シェルを使用してそれらを単一のコマンドにまとめる必要があります。例: docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'

場合によっては、docker-compose.yml ファイルで定義されていないコンテナを実行したいことがあります。たとえば、新しいコンテナ設定をテストする場合などです。docker run を使用して、指定したイメージで新しいコンテナを起動します: docker run -it <image name> <command>

docker run コマンドは、ボリュームマウント、環境変数、作業ディレクトリなどを指定するためのコマンドラインオプションを受け付けます。

ビルド/ツール操作のためのシェルを取得する

ビルドコンテナにシェルを取得して任意の操作を実行するのが、最も簡単な方法です。compose ファイルで定義した cli コンテナにアクセスするだけです。コマンド docker-compose -f build.yml run cli は、phase2/devtools-build イメージのインスタンスを起動し、bash シェルを実行します。そこから drush、grunt、またはお好みのツールを自由に使用できます。

専用シェルではなくコマンドを実行する

Docker の世界におけるもう 1 つの概念は、単一のコマンドを実行するためだけにコンテナを起動し、コマンドが完了したらコンテナを停止させるというものです。これは、コマンドを頻繁に実行しない場合や、別のコンテナを常時稼働させたくない場合に便利です。この方法でコンテナ上でコマンドを実行することは、ファイルシステムにファイルを生成しないコマンドや、生成する場合でもコンテナにマウントされたボリュームに書き込むコマンドにも適しています。

例の build.yml ファイルで定義されている drush コンテナは、単一の作業ディレクトリで drush を実行し、コマンドだけを引数として受け取るように特別に設計されたコンテナです。このアプローチにより、Drupal サイトで sqlc、cache-rebuild などの任意の drush コマンドをすばやく簡単に実行するための、迅速かつ簡便なメカニズムを提供できます。

また、drush に似た grunt コマンドコンテナや、make/dependency ファイルからサイトをビルドするための単一コマンド drush make を実行する、より特化したコマンドコンテナの例もあります。


ホスト上の webapp フォルダは、コンテナの apache ルートにマウントされます。

貢献 (Contributing)

  • 問題の報告 (Report Issues)
  • プルリクエストを開く (Open a Pull Request)

Docker には、ぶら下がっている (どのコンテナにも関連付けられていない) リソース — イメージ、コンテナ、ボリューム、ネットワーク — をすべてクリーンアップする単一のコマンドがあります:

root@kitploit:~
docker system prune

さらに、停止したコンテナと未使用のすべてのイメージ (ぶら下がっているイメージだけでなく) も削除するには、-a フラグをコマンドに追加します:

root@kitploit:~
docker system prune -a

特定のイメージを 1 つ以上削除する

docker images コマンドを -a フラグ付きで使用して、削除するイメージの ID を特定します。これにより、中間イメージレイヤを含むすべてのイメージが表示されます。削除するイメージを特定したら、その ID またはタグを docker rmi に渡すことができます:

  • 一覧表示:
root@kitploit:~
docker images -a
  • 削除:
root@kitploit:~
docker rmi Image Image

ぶら下がっているイメージを削除する

Docker イメージは複数のレイヤで構成されています。ぶら下がっているイメージ (dangling images) とは、タグ付けされたイメージとの関連性がないレイヤです。これらはもはや役割を果たさず、ディスク領域を消費します。これらは、docker images コマンドにフィルタフラグ -f と値 dangling=true を追加することで特定できます。削除しても問題ないと確認できたら、docker images purge コマンドを使用できます:

注記

root@kitploit:~
タグを付けずにイメージをビルドした場合、そのイメージはタグ付けされたイメージとの関連がないため、ぶら下がっているイメージのリストに表示されます。ビルド時にタグを指定することでこの状況を回避でき、docker tag コマンドでイメージに後からタグを付けることもできます。
  • 一覧表示:
root@kitploit:~
docker images -f dangling=true
  • 削除:
root@kitploit:~
docker images purge

パターンに従ってイメージを削除する

docker images と grep を組み合わせることで、パターンに一致するすべてのイメージを見つけることができます。確認できたら、awk を使用して ID を docker rmi に渡して削除できます。これらのユーティリティは Docker によって提供されるものではなく、すべてのシステムで利用できるとは限らないことに注意してください:

  • 一覧表示:
root@kitploit:~
docker images -a |  grep "pattern"
  • 削除:
root@kitploit:~
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

すべてのイメージを削除する

システム上のすべての Docker イメージは、docker images コマンドに -a を追加することで一覧表示できます。すべてを削除しても問題ないと確認できたら、-q フラグを追加して Image ID を docker rmi に渡すことができます:

  • 一覧表示:
root@kitploit:~
docker images -a
  • 削除:
root@kitploit:~
docker rmi $(docker images -a -q)

終了時にコンテナを削除する

コンテナを作成する時点で、完了後にそれを保持しておきたくないことがわかっている場合は、docker run --rm を実行すると、終了時に自動的に削除されます。

  • 実行して削除:
root@kitploit:~
 docker run --rm image_name

終了したすべてのコンテナを削除する

docker ps -a を使用してコンテナを特定し、ステータス (created、restarting、running、paused、exited) でフィルタリングできます。終了したコンテナのリストを確認するには、-f フラグを使用してステータスに基づいてフィルタリングします。それらのコンテナを削除しても問題ないと確認できたら、-q を使用して ID を docker rm コマンドに渡します。

  • 一覧表示:
root@kitploit:~
docker ps -a -f status=exited
  • 削除:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -q)

複数のフィルタを使用してコンテナを削除する

Docker フィルタは、フィルタフラグを追加の値と共に繰り返すことで組み合わせることができます。これにより、いずれかの条件を満たすコンテナのリストが得られます。たとえば、Created (無効なコマンドでコンテナを実行した場合に発生する可能性のある状態) または Exited のいずれかにマークされたすべてのコンテナを削除する場合は、2 つのフィルタを使用できます:

  • 一覧表示:
root@kitploit:~
docker ps -a -f status=exited -f status=created
  • 削除:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -f status=created -q)

パターンに従ってコンテナを削除する

docker ps と grep を組み合わせることで、パターンに一致するすべてのコンテナを見つけることができます。削除するリストが得られたら、awk と xargs を使用して ID を docker rmi に渡すことができます。これらのユーティリティは Docker によって提供されるものではなく、すべてのシステムで利用できるとは限らないことに注意してください:

  • 一覧表示:
root@kitploit:~
docker ps -a |  grep "pattern”
  • 削除:
root@kitploit:~
docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

すべてのコンテナを停止して削除する

システム上のコンテナは docker ps で確認できます。-a フラグを追加すると、すべてのコンテナが表示されます。削除しても問題ないと確認できたら、-q フラグを追加して ID を docker stop コマンドと docker rm コマンドに渡すことができます:

  • 一覧表示:
root@kitploit:~
docker ps -a
  • 削除:
root@kitploit:~
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

ボリュームの削除

特定のボリュームを 1 つ以上削除する - Docker 1.9 以降

docker volume ls コマンドを使用して、削除するボリューム名を特定します。次に、docker volume rm コマンドで 1 つ以上のボリュームを削除できます:

  • 一覧表示:
root@kitploit:~
docker volume ls
  • 削除:
root@kitploit:~
docker volume rm volume_name volume_name

ぶら下がっているボリュームを削除する - Docker 1.9 以降

ボリュームの目的はコンテナから独立して存在することであるため、コンテナが削除されても、ボリュームは同時に自動的に削除されません。ボリュームが存在し、もはやどのコンテナにも接続されていない場合、それはぶら下がっているボリューム (dangling volume) と呼ばれます。削除しても問題ないことを確認するためにそれらを特定するには、docker volume ls コマンドをフィルタ付きで使用して、結果をぶら下がっているボリュームに限定できます。リストを確認したら、docker volume prune ですべて削除できます:

  • 一覧表示:
root@kitploit:~
docker volume ls -f dangling=true
  • 削除:
root@kitploit:~
docker volume prune

コンテナとそのボリュームを削除する

名前のないボリュームを作成した場合、-v フラグを使用してコンテナと同時に削除できます。これは名前のないボリュームでのみ機能することに注意してください。コンテナが正常に削除されると、その ID が表示されます。ボリュームの削除については言及されないことに注意してください。名前がない場合は、システムから静かに削除されます。名前がある場合は、静かに残ります。

  • 削除:
root@kitploit:~
docker rm -v container_name

まとめ

このガイドでは、Docker でイメージ、コンテナ、ボリュームを削除するために使用される一般的なコマンドのいくつかを説明しました。それぞれで使用できる他の多くの組み合わせやフラグがあります。利用可能なものの包括的なガイドについては、docker system prune、docker rmi、docker rm、docker volume rm に関する Docker ドキュメントを参照してください。このガイドに掲載してほしい一般的なクリーンアップタスクがある場合は、コメントで質問または提案してください。


脆弱性 (Vulnerabilities)

提供パッケージ (Packages providing)

皆さん、頑張ってください! ;)

あなたの Kali Docker イメージをお楽しみください! :)

ツールをダウンロード