Dockerコンテナを利用して、Ubuntu18.04でKali Linuxを使えるようにしました。
普通にKali LinuxのDockerイメージを利用してもいいですが、私はGUIで操作したかったので、あらかじめVNCがインストールされたDockerイメージを利用しました。
ホストであるUbuntu18.04には、DockerもVNCクライアントも導入していないので、それらのインストール方法も書いています。
###参考
基本的にこちらの記事を参考にさせていただきました。
###大まかな手順
- DockerでVNCサーバ入りKali Linuxのコンテナを作成する
- そのKali LinuxでVNCサーバを起動する
- UbuntuでVNCクライアントを起動して、Kali LinuxをGUIで操作する
###Dockerの導入
こちらの記事を参考にさせていただきました。
以下のコマンドを、順に入力していきます。
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Dockerのインストール方法を調べていると『Docker-CE』という単語を目にしました。
『Docker-CE』とは、無償版のDockerのことだそうです。
###Dockerイメージ取得
イメージ取得は以下のコマンドで行います。
$ wget https://github.com/rringler/kali-vnc/archive/master.zip
$ unzip master.zip
$ cd kali-vnc-master
$ docker build -t kali:latest .
取得したイメージは、以下のコマンドで確認できます。
$ sudo docker images
sudoなしでdockerコマンドを実行できる方法があるそうですが、私は面倒でやっていません。
###Dockerでコンテナ作成
以下のコマンドでコンテナを作成します。
$ sudo docker run -it --name kali -p 6080:6080 -p 5091:5091 kali:latest
コンテナを作成すると、Kali Linuxのプロンプトに移ります。
まず、後ほど利用するので、コンテナのIPアドレスを調べてください。
$ hostname -i
###VNCサーバの立ち上げ
以下のコマンドでVNCサーバを起動できます。
コマンドを実行するとパスワードを設定するか聞かれるので、設定してください。
$ vncserver :1
###Remminaのインストール
Ubuntuで利用できるVNCクライアントアプリとして、『Remmina』を利用しました。
以下のコマンドでインストールできます。
$ sudo apt-get install remmina # インストール
$ remmina # 起動
起動するとキーリングパスワードを聞かれますが、私は無視しています(いいのかな...?)。
###VNC接続
VNCサーバの設定は以下のように行います。
- 左上の「+」マークをクリック
- プロトコルに「VNC仮想化」を指定
- サーバー名に「(コンテナのIPアドレス):5901」と指定する
- ユーザ名に「root」を指定
以上を設定できたら、接続をクリックします。
パスワードは先ほど設定したものを入力してください。
###最後に
Dockerを使う練習をかねて行ったので、方法が間違っていたらすみません…。
これからKali Linuxを使ってCTFの勉強を頑張ります!