このエントリーをはてなブックマークに追加 にほんブログ村 IT技術ブログへ
にほんブログ村
目次

はじめに

前回は、Kali Linux 2020.4のインストール後の日本語入力などの初期設定を紹介しました。
今回は、ちょっと寄り道して、Raspberry Pi 4BにKali Linux 2020.4を入れてみたときの手順を紹介します。
なぜRaspberry Pi 4BにKali Linuxをインストールしたのか?というと、Raspberry Pi 4Bに適したOSを探している中で、Kali Linuxも対応していることを知ったのと、こういうハッカーツールは、いつでも持ち運べることが重要だと思ったからです。
Raspberry Pi 4Bは、シングルボードコンピューターということで名刺サイズの大きさでありながら、有線/無線LANやUSB2.0×2、USB3.0×2、HDMI×2、Bluetoothが使用でき、モニターとキーボード&マウスをつなげば、最小のPCとして使えます。実際にKali LinuxをRaspberry Pi上で動かしてみるとわかると思いますが、それなりに軽快に動作しますので、ペネトレーションテストに十分使用できるレベルであると個人的に思っています。

では、以下の手順でRaspberry Pi 4BにKali Linux(2020.4)をインストールし、初期設定までを行っていきます。

Kali Linuxのイメージファイルのダウンロード

まずは、Kali Linuxの公式サイトの「Downloads(https://www.kali.org/downloads/)」に行きます。
次に、下図の「KALI ARM IMAGES(https://www.offensive-security.com/kali-linux-arm-images/)」に行くと、「RASPBERRYPI FOUNDATION」の所にRaspberry Pi用のイメージがあります。
kali_003_01.png

インストールするモデルは今回はRaspberry Pi 4Bなので、「Kali Linux RaspberryPi 2 (v1.2), 3, 4 and 400 (64-Bit) (img.xz)」を選択してダウンロードします。
kali_003_02.png

次にMicroSDにダウンロードしたイメージファイルを書き込むために、Raspberry Piの公式ページの「Software(https://www.raspberrypi.org/software/)」のページから、「Raspberry Pi Imager」をダウンロードします。
kali_003_03.png

Kali Linuxのイメージファイルの書き込み

以下はWindows環境でのインストールとイメージの書き込みの手順ですが、ダウンロードした「imager_x.x.exe」(執筆時点では「imager_1.5.exe」でした)を実行します。
kali_003_04.png
「install」ボタンをクリックします。

続けてこのimagerを使ってKali Linuxのイメージを書き込んでいきますので「Run Raspberry Pi Imager」にチェックをしたまた「Finish」ボタンをクリックするとインストールは完了です。
「Raspberry Pi Imager」をWindowsのスタートメニューから起動する場合は、「Raspberry Pi」の配下にある「Raspberry Pi Imager」を起動します。
kali_003_05.png

Raspberry Pi Imagerの起動イメージは、下図のイメージです。
kali_003_06.png
「CHOOSE OS」ボタンをクリックします。

kali_003_07.png
「Use custom」をクリックします。

kali_003_08.png
ダウンロードしたイメージファイル()を選択します。

「SD Card」ボタンをクリックします。
kali_003_09.png

書き込み先のSDカードを選択します。
kali_003_10.png

「WRITE」ボタンをクリックします。
kali_003_11.png

「Yes」ボタンをクリックします。
kali_003_12.png

書き込みが開始します。
kali_003_13.png

「Wite Successful」が表示されると書き込み完了です。
kali_003_14.png
指示に従ってSDカードを抜いて「CONTINUE」ボタンをクリックします。
完了後は、Raspberry Pi Imagerを終了します。

Raspberry Pi上でのKali Linuxの初期設定

上記まででKali Linuxのイメージを書き込んだMicroSDをRaspberry Piに挿して起動すると、Kali Linuxが初期状態で起動します。
ここから、以下の手順で初期設定を行っていきます。
初期設定の手順は前回の記事と大体同じですが、環境が少し異なることもあってか、若干聞かれる内容が異なります。

また、初期状態ではユーザーが「kali」パスワードも「Kali」であることから、情報セキュリティの観点から言うと、「Kali」ユーザーを使用するのは初期セットアップのみとし、新たなユーザーを作成してそのユーザーを使用するようにし、元の「Kali」ユーザーは、削除するか、あるいは強固なパスワードを設定して他者に使用させないようにすべきと考えられます。

以下の手順は、初期設定後に新たなユーザーを作成し、kaliユーザーを削除する参考手順です。

(1)ログイン

まずは、ログインします。初期状態では、ユーザー名とパスワードはどちらも「kali」です。

(2)OSの最新化

Kali Linuxの各種パッケージの最新化を行います。

$ sudo apt update

初回のsudoでは、パスワードの入力前に下図のような説明が表示されます。(ご参考)
kali_003_15.png

$ sudo apt upgrade

アップグレード中に以下のような問いかけがある場合、筆者は次のように設定しました。

Configuring keyboard-configuration

キーボード設定のようです。
Otherを選択して「Ok」を選択します。
kali_003_16.png

「Japanese」を選択して「Ok」を選択します。kali_003_17.png

さらにその後も「Japanese」を選択し、「Ok」を選択します。
kali_003_18.png


Configuring console-setup

「Guess optimal character set」を選択します。(他に合うのが無いので)
kali_003_19.png


Configuring wireshark-common

非スーパーユーザーがパケットキャプチャする必要があるか?と聞かれていますので、「No」を選択します。
kali_003_20.png


Configuring kismet-capture-common

選択肢はないので「OK」とします。
kali_003_21.png

「Yes」を選択します。
kali_003_22.png

「kali」ユーザーをグループに追加するようにして「Ok」を選択します。
kali_003_23.png

(アップグレードの続きが始まります。結構時間がかかります)

Configuring libpam0g:arm64

ここでは「No」を選択します。
kali_003_24.png

「samba-ad-dc smbd cron」のまま「Ok」とします。
kali_003_25.png
 
(アップグレードの続きが始まります。ここからも、結構時間がかかります。)

終了したらリブートします。

リブート後は、ショートカットを起動するとおかしな動作を行う不具合があるので、その不具合を治します。

前回の記事と同様に、メニューからQTerminalを検索して実行します。
kari_002_04.png

前回の記事では、「apt update」「apt upgrade」を実行してから「apt autoremove」を念のため行いましたが、不要だったみたいなので、今回は、以下のように「apt autoremove」のみとします。

$ sudo apt autoremove

「apt autoremove」終わったらリブートします。

再び「apt update」「apt upgrade」を実行し、リブートします。

$ sudo apt update
$ sudo apt upgrade
$ reboot

リブート後にショートカットの起動に関する不具合は、筆者の環境では治りました。

次に、日本語環境を設定します。

初期状態では、日本語環境ではないので、以下のように日本語環境をインストールします。

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

パッケージインストール後に言語環境を以下のコマンドで確認します。

$ localectl
   System Locale: n/a
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

上記のように、地域やキーマップが日本の環境ではないので、以下のようにして日本語環境に設定します。

$ sudo dpkg-reconfigure locales

「ja_JP.UTF-8 UTF-8」を選択します。
kali_003_26.png

「ja_JP.UTF-8」を選択します。
kali_003_27.png

ここで再び言語環境を確認してみます。

$ localectl
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

上記のように、「System Locale」は日本語環境になりました。

次に、以下のようにしてキーマップも日本語環境に設定します。

$ sudo localectl set-keymap jp
$ sudo localectl set-x11-keymap jp

再度、言語環境を確認してみます。

$ localectl
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp

上記のように、日本語環境が設定できましたので、リブートを行います。

リブート後のログイン直後には、下図のように「標準フォルダーの名前を現在の言語に合わせて更新しますか?」が表示されますが、kaliユーザーは初期設定後は使用しないので、「次から表示しない」にチェックを入れ、「古い名前のままにする(K)」をクリックします。
kali_003_29.png

この時点で、UIM(ユニバーサルインプットメソッド)で日本語入力の切り替えができるようになっています。デスクトップ上のどこかに下図のようなツールーバーがあると思いますが、これがUIMです。
kali_003_28.png

日本語変換の切り替え方法がIBUSの方が良ければ、以下のように「ibus-anthy」をインストールすることで、IBUS(インテリジェントインプットバス)が使用できます。個人的にはIBUSを使っています。

$ sudo apt install ibus-anthy

日本語変換の切り替え方法を以下のようにして変更します。

$ sudo im-config

「OK」をクリックします。
kali_003_30.png

「Yes」をクリックします。
kali_003_31.png

「ibus」を選択し、「OK」をクリックします。
kali_003_32.png

「OK」をクリックします。
kali_003_33.png

この後、ログアウト・ログインすると、上部に「JA」が出現します。
kari_002_10.png

この「JA」をクリックして「日本語-Anthy」を選択すると、terminalやブラウザなどのアプリケーションで「半角/全角」での日本語入力の切り替えができます。
kari_002_11.png

ここまでで、日本語環境の設定は完了します。

管理用ユーザーの追加とkaliユーザーの削除

日本語環境の設定ができたら、今度は、Kali Linuxのデフォルトユーザーである「kali」ユーザーを使わないように、新たな管理ユーザーを作成して、「kali」ユーザーを削除します。これは、デフォルトユーザーの環境を残すことによるセキュリティリスクを排除するためです。

また、スーパーユーザーのパスワードもここで設定します。

まずは、管理用の新たなユーザーを作成します。
ここでは、筆者の名前を使って「tomizo-no2」というユーザーを作成します。

$ sudo adduser tomizo-no2

パスワードは、強固なパスワード(大文字小文字数字記号を混ぜた8文字以上)を設定します。
また、パスワード以外のフルネームや部屋番号や電話番号などは、特に設定する必要はないですが、必要に応じて設定してください。(基本的には、個人情報になると思うので、業務上必要性がなければ設定しない方が良いと思います。)

次に現在の「kali」ユーザーの所属グループを確認します。
これは、新たに作成した管理ユーザーに「kali」ユーザーと同様の権限を付与するためです。

$ sudo groups kali
kali dialout cdrom sudo audio dip video plugdev netdev lpadmin bluetooth kismet scanner

上記の「kali」グループ以外は管理用の新たなユーザーに以下のようにして付与します。

$ sudo usermod -aG dialout,cdrom,sudo,audio,dip,video,plugdev,netdev,lpadmin,bluetooth,kismet,scanner tomizo-no2

上記の手順で、「kali」ユーザーを削除することが可能になります。

次にスーパーユーザーのパスワードを設定します。

$ sudo passwd

当然のことですが、できるだけ強固なパスワードを設定します。

これでデフォルトの「kali」ユーザーとはお別れとなります。

「kali」で実行されているプロセスがあるかもしれないので、ここではリブートして新しいユーザーでログインします。

起動後、新しいユーザーでログインすると、「/home/ユーザー名」配下のディレクトリが日本語の文字になっているので、英文字に変更する場合はterminal上で以下のコマンドを実行します。

$ LANG=C xdg-user-dirs-gtk-update

「デスクトップ」だけ残ることがありますが「Desktop」ディレクトリはあるので、「デスクトップ」は削除しても良いと思います。

また、日本語環境ですが、IBUSを使用する場合、デスクトップ右上の「JA」をクリックして「日本語-Anthy」を選択すると、terminalやブラウザなどのアプリケーションで「半角/全角」での日本語入力の切り替えができます。

次に、「kali」ユーザーを以下のコマンドで消去します。

$ sudo deluser --remove-home kali

これで、「/home/kali」ごとなくなります。

以上で、Raspberry Pi 4BにKali Linuxの初期設定を含むセットアップは完了です。

まとめ

今回は、Raspberry Pi 4BにKali Linux 2020.4を入れてみたときの手順を紹介しました。ちょっとした寄り道でしたが、Raspberry Pi は非常に小さく、また、OSだけだとMicroSDカード1枚なので、非常に手軽に持ち出せます。

次回は、実際にKali Linuxのツールを使ってペネトレーションテストを行うための、実験環境を作り、実際に実験環境上でKali Linuxのツールを試してみようと考えています。使用するツールも、まずはKali LinuxのTop 10ツールを使用してみようと考えています。

関連記事
s-py.png

(8)Pythonの仮想環境をバージョン指定で切り替える

2021/03/05 13:48
Anacondaの有償化の対策として、Windows上での複数のPythonのバージョンの仮想環境の作成方法を紹介します。 この方法により、Anacondaほどではありませんが、自分の作ったテンプレート的な仮想環境を使いまわすことが可能になります。
kali-linux.png

Kali Linux 2020.4 のインストール後の初期設定

2021/02/20 14:00
Kali Linux 2020.4のインストール後の初期設定の手順概要を紹介します。
kali-linux.png

Kali Linux 2020.4 インストール手順

2021/02/15 21:28
Kali Linux 2020.4のインストールの手順概要を紹介します。
kali-linux.png

Kali Linuxとは

2021/02/14 23:01
Kali Linux(カーリー・リナックス/カリ・リナックス)は、ペネトレーションテストを主な目的としているDebianベースのLinuxディストリビューションです。Kali…
visual-studio-code-word.png

Visual Studio Codeでソフトウェア設計書(Word文書)を書く環境を作る(PlantUMLによる作図1)

2019/05/30 11:02
Visual Studio Code(VSCode)でMarkdown Preview EnhancedとPlantUMLを使ってテキストだけでWord形式の文書を生成する方法を練習してみます。
visual-studio-code-word.png

Visual Studio Codeでソフトウェア設計書(Word文書)を書く環境を作る(設計書のテンプレートを作る)

2019/05/25 17:06
Visual Studio Code(VSCode)でMarkdown Preview EnhancedとPlantUMLを使ってテキストだけでWord形式のソフトウェア設計書を実際に生成します。
visual-studio-code-word.png

Visual Studio Codeでソフトウェア設計書(Word文書)を書く環境を作る(環境構築2)

2019/05/21 17:58
Visual Studio Code(VSCode)でMarkdown Preview EnhancedとPlantUMLを使ってテキストだけでWord形式文書を生成するために必要な拡張機能のインストール方法と設定を紹介します。
visual-studio-code-word.png

Visual Studio Codeでソフトウェア設計書(Word文書)を書く環境を作る(環境構築1)

2019/05/20 23:54
Visual Studio Code(VSCode)でMarkdown Preview EnhancedとPlantUMLを使ってテキストだけでWord形式文書を生成するために必要なソフトウェアのインストール方法を紹介します。
visual-studio-code-word.png

Visual Studio Codeでソフトウェア設計書(Word文書)を書く環境を作る(概要)

2019/05/18 23:43
Visual Studio Code(VSCode)でMarkdown Preview EnhancedとPlantUMLを使ってテキストだけでWord形式文書を生成するために必要なソフトウェアを紹介します。
visual-studio-code.png

Visual Studio CodeでProxy(認証あり)を設定する方法

2019/05/17 1:51
Visual Studio Code (VSCode)で認証のあるProxyを設定する方法を紹介します。