[初心者向け]Kali Linux on WSL 初期設定 最強への育て方


はじめに

https://www.hackthebox.eu/
Hack The Box を始めたいのでWindows Subsystem for Linux(以下WSL)にKali Linuxの環境構築をした時のメモです。
素のKali Linuxだといろいろ機能が足りないため、この手順を行うことでかなり使いやすくなると思います。
なお、WSLでは無線LANやソケットを使う一部機能は使用できないようです。nmapが使えないのが一番痛い。(WSL2で改善することを願います。)

※対象OSはもちろんWindows10です。

WSLのインストール

PowerShellのアイコンを右クリックし、「管理者として実行する」をクリックして、コマンドプロンプトを開きます。
以下のコマンドでWSLの機能を追加します。

# WSL のインストール
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

このコマンドは コントロールパネル>プログラム>Windowsの機能の有効化または無効化 から「Windows Subsystem for Linux」にチェックを付けたのと同じ動作をします。

Windowsのシステム機能への変更となるため、OS再起動が必要です。

# OS再起動
Restart-Computer -Force

Kali Linux on WSLのインストール

Microsoft Storeアプリの検索ウィンドウで「kali」を入力します。
「Kali Linux」が見つかるのでインストールをおこなってください。

Windwos Defenderのスキャン除外設定

Kali Linuxのパッケージには様々な攻撃用スクリプトが含まれるため、Windows Defenderの保護機能でファイルが削除されてしまいます。
そのため保護機能のスキャンを除外する設定を行います。

エクスプローラからKali Linuxのインストール先にあたる以下のフォルダのフルパスを確認します。
【フォルダのパス例】
C:\Users[ユーザー名]\AppData\Local\Packages\KaliLinux.XXXX(直前のピリオド以降のXは任意の文字列)

Windwosメニューから 「Windowsセキュリティ」>「ウイルスと脅威の防止」>「ウイルスと脅威の防止の設定- 設定の管理」>「除外の追加または削除」 に進みます。
「除外の追加(+ボタン)」をクリックし、先ほど確認したパスを追加します。

【除外の設定例】

パッケージのアップデート

以降はKali Linuxの操作になります。
Kali Linuxのアイコンをクリックするとコマンドプロンプトが表示されます。
最初のログイン時にユーザ名とパスワードの設定が必要です。

aptコマンドでパッケージを更新します。

sudo apt -y update 
sudo apt -y upgrade
sudo apt -y full-upgrade

sshの接続設定追加

WSLのデフォルトではssh接続ができません。
sshパッケージのインストールとsshサーバの自動起動設定をしておきましょう

# sshパッケージのインストール
sudo apt-get install -y ssh

# sshサーバの自動起動設定
# sudo systemctl start ssh ← このコマンド動かなかった。謎?
sudo /etc/init.d/ssh start
sudo systemctl enable ssh

Kali Linuxパッケージのインストール

いよいよKali Linuxのツールのインストールです。
その前にビルドに必要なパッケージを追加しておきます。

sudo apt -y install build-essential

Kali Linuxのすべてのツールをインストールします。(かなり時間がかかります!)
途中パッケージによってプロンプトが出てきますが、適当にデフォルトでポチポチしました。

# すべてのパッケージをインストールするコマンドが変わっていたので更新しました。
# sudo apt-get -y install kali-linux-full
sudo apt-get -y install kali-linux-everything
sudo apt-get -y install kali-menu

Kali関連のパッケージは /usr/share 以下に入ります。

Kali Linuxのデスクトップ接続の準備

CUIで使用する場合は特に問題ありませんが、GUIを使いたい場合はデスクトップ接続の設定が必要になります。
コマンド操作になれるまではGUIを併用するとよいでしょう。

日本語入力設定の追加

GUIのブラウザから日本語で検索を行う、といった日本語を使うために日本語パッケージを追加します。

sudo apt -y install task-japanese
sudo apt -y install task-japanese-desktop

デスクトップ接続用サーバのインストール

xrdpをインストールし、サーバを起動します。

sudo apt-get -y install xfce4
sudo apt-get -y install xrdp

sudo /etc/init.d/xrdp start

リモートデスクトップ接続から"localhost:3389"を指定して接続します。

【リモートデスクトップ接続の画面】

xrdpの画面でKali Linuxの接続に使用するユーザー、パスワードを入力します。

【xrdpの画面】

Kali Linuxのデスクトップが表示されます。フルメニューからアプリの選択可能です!

【Kali Linuxのデスクトップ】

デスクトップ接続が不要な場合はサーバを停止します。

sudo /etc/init.d/xrdp stop

おまけ:Visual Studio Code(以下VSCode)からKali Linuxを操作する

コマンド操作になれていない方はGUIでやればいいか、と思いきやデスクトップ接続はかなり重いです。
そんな時はVSCodeのRemote Developmentから接続すれば快適にディレクトリを閲覧しつつ、bash実行が可能です。
※事前にVSCodeのインストールを行ってください。

Kali LinuxのコマンドプロンプトからVSCodeを実行します。

code

自動でvscodeが起動してWSLのKali Linuxに接続します。

【VSCodeのターミナルでmsfconsoleを起動した画面】

VSCodeのリモート接続は簡単&便利で超オススメ!

最後に

結局Kali Linuxのインストールに満足し、Hack The Boxを放置しています。
勉強会も始まったようですし、次回は参加してみたい。

参考にしたサイト

Setting up Kali Linux on Windows Subsystem for Linux
https://docs.microsoft.com/ja-jp/archive/blogs/motiba/setting-up-kali-linux-on-windows-subsystem-for-linux

Configuring Windows Defender Exclusions for Kali Linux on WSL
https://www.simontaplin.net/configuring-windows-defender-e/

しょぼんブログ
https://syobon.jp/blog/2018/03/09/kali-linux-available-on-microsoft-store/

RootLinksさんブログのKali関連記事
https://www.rootlinks.net/category/linux/kali/