[Docker]KaliLinux on VNC (for Mac)
やりたいこと
CTF 用の環境をつくりたい
Kali Linux を GUI で使いたい
Docker 上に環境を作りたい
環境
macOS 14.1.1(Sonoma)
Docker on Desktop がインストール済み
Dockerのインストール
省略
Kali Linux のimageを取得
MacのTerminalを起動
$ sudo systemctl start docker
$ docker pull kalilinux/kali-rolling
または、
「Kitematic」をダウンロードして、
kali-rollingのイメージをダウンロードしても良い
コンテナ起動
$ sudo docker run -itd --rm kalilinux/kali-rolling
Dockerのソフト上でも、
imageとコンテナが作成されている
Kaliのコンテナにログイン
docker exec -it [CONTAINER_ID] zsh
起動中のコンテナIDは、
doker ps
などで確認可能
ツールなどインストール
apt update
apt install -y zsh
apt install -y kali-linux-core kali-defaults kali-tools-web
kaliユーザー作成
「ctrl 」を押しながら
「P」キー → 「Q」キーの順番に押して
コンテナを起動したままログアウトする
adduser kali
usermod -G sudo kali
コンテナにログイン
docker attach [CONTAINER_ID]
GUIとVNCをインストール
・GUI→kali-desktop-xfce
・VNC→x11vnc
をインストール
apt install -y kali-desktop-xfce x11vnc xvfb novnc dbus-x11
諸々インストール済みのコンテナをイメージとして新規保存
今後、再度作る手間を省くためにイメージとして保存しておく
dockerコマンドは「ctrl 」を押しながら「P」キー → 「Q」キーでログアウトして実行
イメージの名前は今回は「kali-xfce 」(適宜お好みで)
docker commit CONTAINER_ID kali-xfce
元のイメージは削除(任意)
docker container stop [CONTAINER_ID]
保存したイメージから再接続する際はここから実行
コンテナ起動
・ポート 5905:5900
・コンテナ名 kali-xfce
・kaliユーザー名 kali
docker run -p "5905:5900" -it --rm kali-xfce zsh -c 'su - kali'
コンテナにログイン状態になる
設定
コンテナにログイン状態で実行
export DISPLAY=:1
Xvfb :1 -screen 0 1280x720x24 &
この状態で、下記のコマンドをそのまま入力して実行
GUIとVNC起動
startxfce4 & x11vnc -display :1 -xkb -forever -shared -repeat -listen 0.0.0.0 -nopw -reopen
VNC Viewerで接続
URL :
localhost:5905
Continue していく
Give access
Remove
以上!
Docker基本操作
ボリュームの永続化
コンテナは終了しちゃうと初期化されるため、
少なくともホームディレクトリだけは永続化する。
docker volume create kali-xfce
noCVNでの接続
できていないので調査必要。
とりあえず、結果は残す
また、これをやるとVNCViewerでのインストールもできなくなるかもしれない。
その場合は、途中保存したイメージからコンテナ作成からやり直すことになるかも?
noVNC サーバー構築
Quick Tutorial: How to Install Git on Kali Linux
kali linuxでVNCサーバーにnovncで接続する
コンテナ上で実行
git clone https://github.com/novnc/noVNC.git
cd noVNC/utils
./novnc_proxy --vnc localhost:5900
実行すると表示されるURLにブラウザからアクセス
http://3e4667ce2ca5:6080/vnc.html?host=3e4667ce2ca5&port=6080
(再現できなかったので、以上のコマンド以外にも何かやらないと、
下記のようにアクセスできないかもしれない。調査必要)
画面開くがTSLの証明がないとかで無理
Tiger VCNでもやってみた
Failed to connect to server #1392
How To Install tigervnc-viewer on Kali Linux
sudo apt -y install tigervnc-viewer
vncviewer
→TigerVNC Viewer v1.13.1
Built on: 2024-01-06 19:53
Copyright (C) 1999-2022 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Can't open display:
で無理。