やりたいこと
WSL2上にKali Linuxをインストールして、GUI操作したい。
公式のドキュメントがわかりやすいので、半ば日本語訳のような記事
目次
- やりたいこと
- 目次
- 環境
- 0. Windows Terminalのインストール
- 1. WSLの有効化
- 2. Kali Linuxのインストール
- 3. アップデート
- 4. ツールのインストール
- 5. Win-Kexのインストールと起動
- 6. 参考
環境
- OS: Windows11 Pro
- WSL: Version2
- Kernel version: 5.10.102.1
- Windows Terminal: 1.14.2282.0
0. Windows Terminalのインストール
コマンドプロンプトやPowerShellを同時に複数開ける多機能なターミナルソフトです。
他にも、分割表示が出来たり、WSLで新しいLinuxを入れるたびに起動用のインスタンスを自動で追加してくれたりと、詳しくは公式動画をみてみてください。
インストールはMicrosoft Storeから出来ます。
起動はスタートメニューの検索からターミナルと検索するか、Win + Rで開けるファイル名を指定して実行からwtを実行することで開けます。
0-1. Windows Terminalを規定値に設定
デフォルトのターミナルアプリをWindows Console HostからWindows Terminalへ変更出来ます。
Windows Terminalの設定画面Ctrl + ,から、 規定のターミナルアプリ を変更することで出来ます。
画像は英語環境なので、注意してください。

0-2. 管理者権限で起動する方法
起動したいシェルをCtrlを押しながらクリックで管理者として起動出来ます。ちゃんと起動できると、左上に盾のマークが表示されます。

1. WSLの有効化
既に有効化できてる人は問題ないです。また、Windows 11、Windows 10 Version 2004以降を使ってる人はそのまま次のKali Linuxのインストールに飛んじゃって大丈夫です。
ようするに、最新版のWindowsなら次へ飛んじゃって大丈夫です。
PowerShellを管理者権限で起動してください。以下のコマンドたちでWSLの有効化が出来ます。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
正常終了したら、一度再起動してください。
次に以下のコマンドを入力してください。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
正常終了したら、また再起動してください。
再起動が終わったらWSLのバージョンを2に設定します、特に理由がない限り2で大丈夫です。
詳しく知りたい人はここから
wsl --set-default-version 2
2. Kali Linuxのインストール
PowerShellを管理者権限で起動してください。 確認が出来たらKali Linuxをインストールしていきます。
wsl --install -d kali-linux
を実行すると、インストールが始まります。
数秒するとユーザー名とパスワードの設定が求められるので、入力してください
Installing Successfullyと表示されれば、インストールが完了です。
3. アップデート
インストールが出来たら、パッケージのアップデートを行います。
sudo apt update
でアップデートを行えます。
3-1. アップデートでGPG鍵関連のエラー出る場合
W: GPG error: https://ftp.yz.yamagata-u.ac.jp/pub/linux/kali kali-rolling InRelease: The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
こういったエラーが出たら、Kali Linuxの最新版がインストールされていない可能性があります。
MS Storeからアップデートをするか、wingetコマンドでアップデートをしてから、一度インストールしたWSL上のKali Linuxを削除して、初めからやり直してください。
- WSL上のKali Linuxの削除
wsl --unregister kali-linux - Kali Linuxのアップデート
winget upgrade --id kalilinux.kalilinux
4. ツールのインストール
WSL上へのインストールを早くするために、最小構成でインストールするようです。 なので、ツール一式をインストールします。
sudo apt update && sudo apt install kali-linux-large
途中で各ツールの構成設定を聞かれるので、下に自分の設定を載せておきます。
4-1. Configuring macchanger
自動的にMACアドレスを変更するか?です、Yesを選択しました。

4-2. Configuring kismet-capture-common
ワイヤレス関連のペンテストツールであるkismetの設定です。
sudoで動作させると、バグることがあるので、kismetグループを作るそうです、Yesを選択しました。
Users to add to the kismet groupには自分のユーザー名を入力します。

3-3. Configuring wireshark-common
パケット解析ツールである、wiresharkをsudo無しに使えるようにするか?という設定です、Yesを選択しました。

4-4. Mirror sync in progress?が表示されたときの対処法
リポジトリのサーバーを別のミラーに変えると改善することがあるそうです。
以下のコマンドで、/etc/apt/sources.listのバックアップを取って、https://ftp.yz.yamagata-u.ac.jp/pub/linux/kali/へミラーを変更することができます。
ミラーはここから確認できます。
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak echo "deb https://ftp.yz.yamagata-u.ac.jp/pub/linux/kali kali-rolling main non-free contrib" >> ~/sources.list sudo mv ~/sources.list /etc/apt/
5. Win-Kexのインストールと起動
5-1. インストール
Windows上でGUIが使えるWin-Kexをインストールします。
Win-Kexのやってることは、WSL内部にVNCサーバーを作って、WSL側からTigerVNCを起動させて画面を映す、ということをしてます。
以下のコマンドでインストール出来ます。
sudo apt update && sudo apt install kali-win-kex
5-2. 起動
Win-Kexには3つのモードがあります。
初回起動時は接続パスワードの設定を求められます。view-only passwordはnoで大丈夫です。
Windowモード
仮想マシンで起動した時みたいに、VNCのウィンドウの中にKali Linuxのデスクトップが見えます。
kex --win -s -m

Enhanced Sessionモード
Windowsに標準搭載のRDPで接続するモードです、高DPIですが処理速度は劣るそうです。
また、ARMデバイスはこのモードしか使えません。
ipオプションは公式のドキュメントによると、
Note: As of the time of this writing, Windows on Arm contains a bug causing massive packet loss when using “localhost” instead of the IP address to connect to the kali container.
注意:本記事執筆時点では、Windows on Armでは、kaliコンテナへの接続にIPアドレスではなく「localhost」を使用すると、大量のパケットロスが発生するバグが含まれています。
と、書かれています。このせいで、接続のたびにパスワードが要求されます。
kex --esm --ip -s

Seamlessモード
これは、WindowsとKaliがくっついたように表示されるモードです。
Kaliのツールバーが画面上部に表示されます。
kex --sl -s
また、このモードはKaliのパネルがWindowsのメニューバーを覆いかぶしちゃう場合があるので、
パネルの設定から、自動的に隠すを有効にするか、邪魔にならないところへ移動させましょう。

5-3. ステータス確認・停止
ステータス:kex status
停止:kex --kill
5-4. Windows Terminalにインスタンスを追加
各モードごとのインスタンス(プルダウンメニュー)を追加する方法です。
ちなみに、Kaliのアイコンはここの画像をダウンロードしてきて、Windows Terminalに設定すれば、表示されます。
また、開始ディレクトリをKaliのホームディレクトリにしたい場合は//wsl$/kali-linux/home/Kaliのユーザー名と設定すれば大丈夫です。
Windowモード
Name:Kex-Window-Mode Command line:wsl -d kali-linux kex --wtstart -s

Enhanced Sessionモード
Name:Kex-ES-Mode Command line:wsl -d kali-linux kex --esm --wtstart -s

Seamlessモード
Name:Kex-SL-Mode Command line:wsl -d kali-linux kex --sl --wtstart -s
