Kali Linux (2020.1) 最初にやるべき設定


目的

毎回、「あとは、あの設定して・・・どこから設定するんだっけ?」みたいなことを繰り返さないために記録を残す。

Kali Linuxの入手〜インストール

Kali Linuxのダウンロード

Kali LinuxのダウンロードページからisoファイルをDLする。
今回はVMware Fusionを使うが、あえてVMwareやVirtual Boxイメージは使用しない。(理由は後述)

チェックサム確認

以下のコマンドを実行。(環境はMacです)
grepにヒットすれば一致してるってことでOK。

$ shasum -a 256 kali-linux-2020.1-vmware-amd64.7z | grep (sha256sumの値)

VMware Fusion上にKali Linuxをインストール

isoファイルをドラッグしてインストール開始。
OSの種類はUbuntu 64bitを選択。

暇。。。

インストール完了

インストール完了〜初期設定

キーボードレイアウト変更(JISキーボード使用時) 

isoからインストールした際に日本語を選択していれば、設定済み。(飛ばして次へ)

日本語キーボードを使っているのに、なぜかカッコつけて英語でインストールしちゃった方は以下を参考に設定を変更したほうがいい。

ターミナルで以下を実行

$ sudo dpkg-reconfigure keyboard-configuration

以下の画面が表示されたら、誘導されるがままに選択していく

以降の選択肢。

  • 「Generic 105-key (Intl) PC」を選択
  • 「Japanese」を選択
  • 「Japanese」を選択
  • 「The default for the keyboard layout」を選択
  • 「No compose key」を選択で終了。

【余談】 isoからインストールするメリット

インストールOSがわかっているなら、isoからインストールすることをおすすめします。
VMwareやVirtual Boxイメージからインストールでもいいですが、isoからなら、キーボード設定、日本語表示設定(ロケール設定)、タイムゾーン設定を省略できます。

ロケール設定

isoインストールの場合、設定済み。

キーボードレイアウト同様、設定変更する。

$ sudo apt install task-japanese task-japanese-desktop

※上記を実行するには、ネットワーク設定を先に実施する必要があるので、
 設定が必要な人は、先にネットワーク設定をしてください。

以降の選択肢。

  • 「ja_JP.UTF-8 UTF-8」を選択
  • 「ja_JP.UTF-8」を選択

一度ログアウトし、再度ログイン。設定が変わっているか確認。

$ sudo locale

・・・が、たぶん変わっていないと思うので、もう一度ログアウト・ログイン。
(なぜか2回ログアウト・ログインしないと日本語表示に変わらない)

タイムゾーン設定

isoインストールの場合、設定済み。

今までと同じ。選択肢は…省略。

$ sudo dpkg-reconfigure tzdata

反映されているか確認。(JSTになっていればOK)

$ date

ネットワーク設定

VMware Fusion側の設定

基本的に、ネットワークアダプタは2つ用意します。
1つ(NAT用)だけでも問題ないのですが、後から、Kaliの攻撃/診断対象となるマシンをVMware上に用意すると思うので、この時点で内部ネットワーク用のアダプタも用意してしまいます。

NAT用

内部ネットワーク用(ホストオンリーアダプタ)

ネットワークアダプタの設定を確認します。
Macのターミナルを開いて以下を実行。

$ vi /Library/Preferences/VMware\ Fusion/networking

以下のような設定になっていると思います。

VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH C4AA1E564E56AFD6906C5EDBADE6C28B4F5EC85B
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 192.168.XXX.0
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH 72BF73E93DA2CBA122706D341E691B19EF8037B9
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.XXX.XXX.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes

固定IPにしたい方は、DHCPを切るなり、サブネットを変えるなりすればいいと思います。
特にこだわりもないので、あとで追加するであろう攻撃/診断対象の仮想マシンは「DHCPでIPが割り当てられること」という前提のものが多いと想定されるので、このままにします。

ここでは、

  • vnet1: 内部ネットワーク用アダプタ(ホストオンリーアダプタ)
  • vnet8: NAT用アダプタ

ということが確認できればOK。特に編集もせず閉じる。

Kali(ゲストOS)側の設定

ネットワーク・インターフェースの設定を編集します。

$ sudo vi /etc/network/interfaces

インターフェース設定を追記します。
ここでは、内部ネットワーク側はDHCPですが、Kali自身のIPが急に変わったりするのは嫌なので、固定IP払い出しとしました。

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp
address 192.168.XXX.2
netmask 255.255.255.0

反映されているか確認。

sudo ifconfig

反映されていない場合は、NICを再起動してみる。

$ sudo ifdown eth0 eth1 && sudo ifup eth0 eth1

日本語入力設定

IMEをインストール。

$ sudo apt install ibus-anthy

IMEの設定で、ibus-anthyを選択。

$ sudo im-config

IME切り替えのキー割り当て

"ibus"と検索し、ibusの設定を開く

選択画面で、Anthyの設定を選択。

キー割り当てタブで、以下の割当を追加

  • latin_mode: [Eisu_toggle]
  • hiragana_mode: [Hiragana_Katakana]

右上の常駐アイコンのIMEの設定で、選択で日本語 - Anthyを選択

パッケージアップデート

初期設定の最後にapt-updateを実行。
コマンドをいちいち打つのは面倒だし、今後も定期的に実施するので、シェルを作成。

$ sudo su -
# vi apt-update.sh (シェル名はお好きなように) 

内容はこんな感じ。
それぞれのコマンドの詳細は、以下のリンクの記事がわかりやすいです。

apt update
apt full-upgrade
apt autoremove
apt autoclean

参考:aptコマンドチートシート

実行権限を付与。一応確認。rootユーザにだけ実行権限(x)がついていることを確認。

# chmod 744 apt-update.sh
# ls -l

実行。

# ./apt-update.sh

isoでインストールしているなら、一瞬で終了。
VMwareやVirtual Boxイメージでインストールしている場合は、それぞれのイメージファイルを作成した時点で、パッケージの更新が止まっているはずなので、かなり時間がかかるので、ここでコーヒーブレイク。

VMware Toolsのセットアップ

インストール

VMwareでもVirtual Boxでも、ホストOSとのフォルダ共有やクリップボード共有に必要なツール類をインストールする。
以下を参考にすれば、迷うことはないと思う。

VMware Fusion側でやること

VMware Tools のインストール方法 (1014294)

Kali(ゲストOS)側でやること

Ubuntu 仮想マシンに VMware Tools をインストールする (1022525)

共有フォルダを設定する

検証等でなにかと、ゲストOSとホストOS間でファイル共有したいことがあるので、有効化しておく。
(VMware Toolsを導入しただけでは、フォルダ共有はデフォルトでは未設定)

VMware Fusion側でやること

共有フォルダを有効にするのチェックボックスにチェックを入れ、共有するフォルダを設定する。

Kali(ゲストOS)側でやること

何も起きない。。。ので、調べた。

VMwareツールを使用してUbuntuで共有フォルダーをマウントするにはどうすればよいですか?

一時的にマウントするだけの場合

$ sudo vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /mnt/hgfs

常にマウントしておきたい場合

/etc/fstabに以下を書き込んで再起動する

.host:/    /mnt/hgfs/    fuse.vmhgfs-fuse    defaults,allow_other,auto_umount    0    0

正常にマウントされていたら、シンボリックリンクを作っておく(と便利)

$ ln -s /mnt/hgfs/ ~/デスクトップ

スクリーンロックをしない

VMがいちいち画面ロックするのは煩わしいので電源管理の設定で、画面をロックしないようにする。

おわりに

最後のパッケージの更新も含めると、isoインストールした場合、インストールに時間はかかるけど、パッケージ更新は一瞬。
仮想マシンイメージでインストールした場合は、インストールは一瞬だけど、パッケージ更新に時間がかかる。

体感としては、どちらも作業時間はあまり変わらない。
それならば、途中の設定を省略(インストール時の選択で設定が完了)できる、isoイメージからのインストールが、操作数が減るという意味でオススメと思う。