家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

Hyper-v上にKali Linuxをインストールする

概要

Hyper-v上にKali Linuxをインストールしました。今回記事にしたのは、Hyper-vの通常の仮想マシン作成手順でインストールした際に、Kali Linuxのインストールの途中「パッケージの選択とインストール」でエラーが発生しました。そこから試行錯誤しながらエラーが発生しない方法でインストールができたので、その内容をまとめます。

※インストールから、aptを設定してapt upgradeや日本語の設定まで実施するとおよそ2時間程度かかりました。

 

構築環境は以下の通りです。

  • ホストOS:Windows 10 Pro (1909)
  • ゲストOS:Kali Linux 64-Bit 2020.1b

※ホストの詳細な環境は以下の記事にまとめています。

www.iestudy.work

 

 

 

手順(概要)

Hyper-v上で仮想マシンを作成

Hyper-vで仮想マシンの作成を行います。以下の画面では第2世代を選択します。

f:id:iestudy:20200504163343p:plain

世代の指定

また、上記で書いたようにKali Linuxのインストール中に「パッケージの選択とインストール」でエラーが発生したため、ネットワークに接続しないようにしました。

f:id:iestudy:20200504163454p:plain

ネットワークの接続

仮想マシンの作成後、作成した仮想マシンの設定を開きます。第2世代を指定しているので、セキュアブートのチェックを外します。

f:id:iestudy:20200504164509p:plain

セキュアブートの設定

Kali Linuxのインストール

その後、仮想マシンを起動してインストールを行います。インストールの途中でネットワークの設定について聞かれますが、インストール時点ではネットワークの設定を行いません。

f:id:iestudy:20200504164730p:plain

ネットワークの設定

パッケージマネージャの設定もインストール時は行いません。

f:id:iestudy:20200504164937p:plain

パッケージマネージャの設定

GUIを使いたいので「Kali desktop environment」にチェックを入れます。

f:id:iestudy:20200504165148p:plain

ソフトウェアの選択

上記の手順でKali Linuxのインストールができました。

インストール完了後は、Hyper-vの設定でKali Linuxをネットワークに接続し、また/etc/apt/sources.listを修正して利用します。

 

/etc/apt/sources.listの修正について

aptの設定ファイルは「/etc/apt/sources.list」です。上記の手順でインストールを行った場合は参照するリポジトリが記載されていないため修正する必要があります。

Kali Linuxのミラーサイトは以下のサイトで確認ができます。

http.kali.org

上記サイトに記載のあるURLを設定ファイルに追記します。
debはパッケージリストの取得サイトでdeb-srcはdebパッケージの構築に必要なソースのリストを取得するためのもので、私は両方を設定しました。

https://linux3.yz.yamagata-u.ac.jp/pub/linux/kali/README」の例

deb https://linux3.yz.yamagata-u.ac.jp/pub/linux/kali kali-rolling main contrib non-free
deb-src https://linux3.yz.yamagata-u.ac.jp/pub/linux/kali kali-rolling main contrib non-free

 

日本語入力の設定

ターミナルより以下のコマンドを実行します。

apt install task-japanese task-japanese-desktop

インストール後、再起動すると画面の右下に赤枠のアイコンが表示されるようになり、半角/全角キーで入力を切り替えできます。

f:id:iestudy:20200505110212p:plain

再起動後の様子

VNCによる接続設定

他のPCからVNCクライアントを使用してKaliにGUIで接続する設定をします。

 

Kaliでの設定

接続されるKali Linux側で必要なパッケージをインストールします。

user@kali:~$ sudo apt install tightvncserver
user@kali:~/.vnc$ sudo apt install lxde

 

vncserverの設定をします。

user@kali:~$ vncserver

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:

New 'X' desktop is kali:1

Creating default startup script /home/user/.vnc/xstartup
Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/kali:1.log

 

設定変更を行うため、一度プロセスを終了します。

user@kali:~$ vncserver -kill :1
Killing Xtightvnc process ID 2412

 

~/.vnc/xstartupを設定します。
※設定内容を理解しきれていませんが、私の環境では以下の設定で動くようになりました。

user@kali:~$ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
user@kali:~$ vi .vnc/xstartup
#!/bin/sh

xrdb $HOME/.Xresources
xsetuser -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
/usr/bin/startlxde

 

vncserverを起動します。

user@kali:~$ chmod +x ./vnvnc/xstartup
user@kali:~$ vncserver :1

New 'X' desktop is kali:1

Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/kali:1.log

 

上記の設定後、接続元となるPCで設定を行います。

 

接続元PCでの設定

接続する側のPCでVNCクライアアントをインストールします。
インストール後、新規接続先でKaliを設定します。
※接続先のアドレス(ホスト名)の後に「:1」のような指定をします。
これはKaliでvncserver :1としたときの値です。

f:id:iestudy:20210322153642p:plain

vncクライアント設定イメージ

上記設定後、Kaliに接続することでGUIが表示されました。 

 

補足:Hyper-vのネットワーク設定について

Hyper-V上のゲストとホストとの通信に関して、ホストとゲスト間で通信をさせない場合は、仮想スイッチの設定で、「管理オペレーティングシステムにネットワークアダプタの共有を許可する」のチェックを外します。

この設定により、仮想スイッチに接続した物理NICはホストから独立します。
※ipconfigでも表示されません。

qiita.com