Kali LinuxをWSL2に導入

# サマリ
Kali LinuxをWSL2に入れてみました。

# 背景
[過去の自分の記事](https://qiita.com/san_bay3/items/705e630ec6b02fdc3bc2)で書いた通り、セキュリティの学習にあたりポートスキャン以外の攻撃手法も学んでみたいと思い、調べたところKali Linuxなる便利なLinuxディストリビューションがあることが分かったのでまずは導入してみることにしました。

# ゴール
Kali LinuxをWSL2に導入

# 対象読者
- Kali Linuxが気になる方、入れてみたい方
- 自分（備忘のため）

# 前提
必須：Windows10
推奨：コマンドに関する簡単な知識
推奨：WSL2の事前インストール

# 環境
- ホストOS：Window10 Home
- Kali Linux：2023.3リリース版

# 手順

### Kali Linuxとは
そもそもKali Linuxとは何かについて触れておきます。

Wiki先生によると、

https://ja.wikipedia.org/wiki/Kali_Linux


> Kali Linux（カーリー リナックス、カリ リナックス）はデジタル・フォレンジックやペネトレーションテスト用に設計された、Debian派生のLinuxディストリビューションである[3]。主にOffensive Security（英語版）によって維持および資金援助されている[4]。

[デジタル・フォレンジック](https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%BB%E3%83%95%E3%82%A9%E3%83%AC%E3%83%B3%E3%82%B8%E3%83%83%E3%82%AF)と[ペネトレーションテスト](https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%8D%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88)についてもWiki先生に確認しました。

> デジタル・フォレンジック（英語: Digital forensics）は、法科学（フォレンジック・サイエンス）の一分野で、主にコンピュータ犯罪に関連して、デジタルデバイスに記録された情報の回収と分析調査などを行う[1][2]ことを指す。

> ネットワークに接続されているコンピュータシステムに対し、実際に既知の技術を用いて侵入を試みることで、システムに脆弱性がないかどうかテストする手法のこと。侵入実験または侵入テストとも言われる。

上記の通り、コンピュータの情報分析及び脆弱性テスト用に作られたLinuxディストリビューションということですね、
なんだかかっこいい…！（小並感）

### WSL2のインストール
自分はすでに導入済なので、本記事では割愛します。
過去の記事でも簡単に書いたので（参考になるかはさておき）張り付けておきます。
（ネットに記事はあふれているのでググっていただければと思います。）

https://qiita.com/san_bay3/items/2bd65508f8dd8ca70669#wsl2%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB



### Kali Linuxインストール

まずはPowershellを起動させ、`wsl --list --online`と打ち込み、インストール可能なディストリビューションを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/1e3452fa-eaff-2e2b-581a-32a35cb6c63e.png)
インストールできるディストリビューションの一覧が表示されます。
kali-linuxがあることを確認できました。

`wsl --install -d kali-linux`コマンド実行すると、

このようなエラーが。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/4b25f2bf-032c-9483-6ffd-8cd60e76396f.png)




まったく同じエラーが出た方がいらっしゃいました。

https://qiita.com/Ison/items/93d07a12b5a5db431e92

WSLのアップデートの必要があったようです。

`wsl --update`コマンドを実行。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/eacb64b8-a3ef-7518-ee74-33498c0a3073.png)

再度`wsl --install -d kali-linux`実行すると、
めちゃくちゃ文字化けしてますが、無事成功っぽいです！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/fabce0dd-2561-9f70-2570-3ee189d4a203.png)

windowsのアプリの検索からkali linuxで検索かけるとkali 用のターミナルが起動します。
（おぉ～）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/ac979611-5459-853c-9ea5-096095bb0e4a.png)

### GUIでの起動

参考にさせていただいた記事


https://datsuka-qwerty.hatenablog.com/entry/linuxtips/kali-on-wsl2#4-%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB


GUIで起動できるように以下のコマンドを実行します。

`sudo apt update`
`sudo apt update && sudo apt install kali-linux-large`
（こちらはツール一式をインストールするコマンドのよう）

`sudo apt update && sudo apt install kali-win-kex`


`kex  --win -s -m`コマンドを実行すると、GUIが起動します。
パスワードの設定を求められるので、6文字以上で設定します。
（最初短すぎてエラーが出ました。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/e268dc7d-1507-e6c8-5d58-96ade247e3c8.png)

すると、無事GUIでの起動が成功…！（中二感（というより小学校の裁縫道具感）すごい）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/37351be0-5093-a63f-f4cf-b498f2f455f7.png)

先日使ってみたnmap以外にもたくさんのアプリがあって使うのが楽しみです…！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/fdca8baf-d236-12ea-70da-3b76e5b02bb1.png)


利用についてはまた後日実施したいと思います。

### その他参考にさせていただいた記事

https://bizlog.tech/powershell-admin-mode/

### 余談１（最初にやろうとしたこと）
もともとはvirtualboxに入れようと思ったのですが、
ダウンロードがうまくいかず…あきらめてしまいました。

手順的には以下です。

Kali LinuxのHPへアクセス

https://www.kali.org/get-kali/#kali-platforms

VirtualMachinesを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/cf10ddc4-9a9c-59fd-0d91-ab692135de4d.png)

今回はVirtualBoxに入れるためVirtualBoxの↓を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/3c4d94a4-beb0-c098-e62e-aed748206b11.png)

以下の画面で止まってしまいました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/f6390321-b3ac-e9fd-b59d-e89b87ee41c7.png)

結局はWSL2に導入したので今回は深追いはしないことにします。

### 余談２（エラー時にやってみたこと：Powershellを管理者権限での実行＋WSLの更新？）

前述した以下のエラーが出た際、解決策になかなか出会えなかったので、以下の方法も実施しました。
（結果的にはうまくいきませんでした。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/4b25f2bf-032c-9483-6ffd-8cd60e76396f.png)


PowerShellで以下のコマンドを実行し、
これで管理者権限でのPowershell起動しました。
`Start-Process PowerShell.exe -Verb runas`

`Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/72482b51-3ae8-89f5-7a83-828c10ae6935.png)


正常に終了したら、以下のコマンドを実行（[参考URL](https://learn.microsoft.com/ja-jp/windows/wsl/install-manual)）


`dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart`
`dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart`


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/0730b602-4293-5b7c-faf9-62d4a0d54f55.png)

`wsl --set-default-version 2`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/335813/32575dfc-471b-a268-f778-e9bdcc0fd13e.png)



# 結果
Win10環境で、Kali Linuxのインストールが（GUI版含めて）無事できました。

# 学び
WSL2の理解の薄さも実感させられました。

# まとめ
今後は実際にKali Linuxに入っているアプリをいろいろ使ってみたいと思います。