Kali Linux on UTMの最小設定

# はじめに
[AppleシリコンのMacでUTMを使用してKali Linuxの仮想環境を構築する](https://qiita.com/matz1ppei/items/6c79f0553fb90210e200)という記事を書きましたが、本当にKali Linuxをインストールしたところで終わっているので、記事に追加して最低限これは設定しておいた方が良いと思うものをまとめました。

- [クリップボードの共有設定](#クリップボードの共有設定)
- [共有フォルダの設定](#共有フォルダの設定)
- [日本語入力設定](#日本語入力設定)


# 環境
- ハード：MacBook Air M2 2022
- ホストOS：MacOS Sonoma 14.3.1
- 仮想化ソフト：UTM 4.5.4
- ゲストOS：Kali Linux 2024.3

# バージョンアップ
言わずもがなですが、とりあえずバージョンアップを行ってください。
Kali Linux側のターミナルで以下を順次実行していきます。
```
# システムのパッケージリストを更新する
sudo apt update

# インストール済みのパッケージを最新のバージョンにアップグレードする
sudo apt full-upgrade -y

# システムに必要ではなくなったパッケージを自動的に削除する
sudo apt autoremove -y

# もう必要のないパッケージのキャッシュファイルを削除する
sudo apt autoclean
```

`sudo apt update`でエラーが発生した場合は以下のコマンドを試してみてください。
```
sudo apt update --fix-missing
```

または、こちらを試してみてください。
※APTのデータベース全体を削除する操作なので慎重に行ってください
```
sudo rm -rf /var/lib/apt
```

# 設定各種
## クリップボードの共有設定
UTM側の設定画面で「クリップボード共有を有効にする」にチェックが入っているか確認してください。
![2024-09-25_KaliLinux初期設定_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/3515e0da-1c62-6ba2-a7b9-89e037e0b98f.png)

Kali Linux側のターミナルでSPICEゲストエージェントをインストールします。
```bash
sudo apt install spice-vdagent
```

実行完了後は再起動すればホストOS側とゲストOS側でクリップボードが共有されていることが確認できます。なお、ターミナルのショートカットはMacと違うのでご注意ください。

- コピー：**Ctrl + Shift + C**
- ペースト：**Ctrl + Shift + V**

## 共有フォルダの設定
Kali Linux側のターミナルでfstab（ファイルシステムのマウントに関する設定ファイル）を編集していきます。※今回、ゲストOS側では`/media/share`にマウントします
```bash
sudo nano /etc/fstab
```
`/etc/fstab`の編集内容
```diff
+ share	/media/share	9p	trans=virtio,version=9p2000.L,rw,_netdev,nofail	0	0
```

引き続きターミナルでフォルダの作成およびマウントを行います
```bash
# /media/shareの作成
sudo mkdir -p /media/share

# フォルダのマウント
sudo mount -t 9p -o trans=virtio share /media/share -oversion=9p2000.L

# systemdのリロード
sudo systemctl daemon-reload
```


## 日本語入力設定
Kali Linux側のターミナルでfcitx-mozc（日本語入力に関するツール）をインストールします。
```bash
sudo apt install fcitx-mozc -y
```

インプットメソッドの設定を行います。
```bash
im-config
```
「OK」を選択します。
![2024-09-25_KaliLinux初期設定_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/e1e027fd-19c5-1ea7-2823-6863f6a99c6b.png)

「Yes」を選択します。
![2024-09-25_KaliLinux初期設定_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/a56e9931-923e-dd29-b7d7-0d7cf5bc0654.png)

「fcitx」をチェックし「OK」を選択します。
![2024-09-25_KaliLinux初期設定_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/130a29ea-4f82-17f5-7d69-a750b1f67d85.png)

「OK」を選択します。
![2024-09-25_KaliLinux初期設定_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/83825f89-2a26-f15a-ebaa-19ed24521dd5.png)

※ここまで実行したらKali Linuxの**再起動**を行います。

再起動後に引き続きfcitxの設定を行います。
```bash
fcitx-configtool
```
左下のプラスボタンを押下します。
![2024-09-25_KaliLinux初期設定_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/d5af4121-c78a-da2d-30c3-ae639c9d570d.png)

「Only Show Current Language」のチェックを外し、検索欄で「Mozc」を検索します。Mozcを選択したら「OK」ボタンを押下します。
![2024-09-25_KaliLinux初期設定_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/c51db749-28ca-67ac-3534-c886730dc4a8.png)

インプットメソッドの一覧に「Mozc」が追加されていればOKです。
![2024-09-25_KaliLinux初期設定_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/ee7aae1b-01fc-f258-22cb-a81f7b458a69.png)

次に「Global Config」タブを選択して「Trigger Input Method」を変更します。Mac側のショートカットキーと重複しているので自分は「Option + Command + Space」に変更しました。
![2024-09-25_KaliLinux初期設定_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/7346cb7e-b3de-bff6-d04a-ec19f7c80ba5.png)


# おまけ
以降はおまけですので必要であれば設定してください。

## 日本語環境の設定
Kali Linux側でロケールを変更します。
```bash
sudo dpkg-reconfigure locales
```
「ja_JP.UTF-8 UTF-8」を選択（Spaceボタン押下）して「Ok」を選択してください。
![2024-09-25_KaliLinux初期設定_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/62761c92-2035-7ce8-4a61-66456b71e637.png)

「ja_JP.UTF-8」を選択してください。
![2024-09-25_KaliLinux初期設定_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/17374142-366a-3f65-3b84-7e5911703bf2.png)

ログイン画面で日本語になっていることが確認できます。
![2024-09-25_KaliLinux初期設定_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/9732cfd7-3f3d-4d6d-4ca8-d48ca4cf6840.png)

ログインするとポップアップが表示されるので「次回から表示しない」にチェックをつけ「古い名前のままにする」を選択してください。（個人の好みで問題ありません）
![2024-09-25_KaliLinux初期設定_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/a510fca3-772b-2672-e9bd-147f5b0b116e.png)

## スクロールの反転
UTM全体の設定で「入力」を表示しQEMUポインタ項目の「スクロールを反転」をチェックします。
![2024-09-25_KaliLinux初期設定_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/c78e882a-4ebd-53a8-0a35-f85a77d8eee5.png)

## Google Chromeのインストールはできない（代替案あり）
Google Chromeはデフォルトで翻訳機能があるため、TryHackMeには便利ですが、ARM64に対応したdebファイルがないため現状インストールする方法がわかりませんでした。そのためFirefoxに翻訳用アドオンを追加して使用します。

Kali LinuxのFirefoxを起動し右上のアドオンマークをクリックします。表示されたアドオンマネージャーで「TWP」を検索します。
![2024-09-25_KaliLinux初期設定_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/1ce1911d-d1a5-0d5f-4111-d4af6ff4cd98.png)

「TWP - Translation Web Pages」を選択します。
![2024-09-25_KaliLinux初期設定_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/7d405dc5-6414-8fbe-72ed-fd57fb9cfabf.png)

「Add to Firefox」ボタンを押下します。
![2024-09-25_KaliLinux初期設定_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/ad09315b-35ee-bb35-5642-c0b912542404.png)

ポップアップが出るので「Add」ボタンを押下します。
![2024-09-25_KaliLinux初期設定_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629032/671f5794-d611-af09-7cc4-457747127647.png)


# 参考
[7日間でハッキングをはじめる本](https://amzn.asia/d/0zrt6vm)