にほんブログ村
目次 |
---|
はじめに
前回は、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用のイメージがあります。
インストールするモデルは今回はRaspberry Pi 4Bなので、「Kali Linux RaspberryPi 2 (v1.2), 3, 4 and 400 (64-Bit) (img.xz)」を選択してダウンロードします。
次にMicroSDにダウンロードしたイメージファイルを書き込むために、Raspberry Piの公式ページの「Software(https://www.raspberrypi.org/software/)」のページから、「Raspberry Pi Imager」をダウンロードします。
Kali Linuxのイメージファイルの書き込み
以下はWindows環境でのインストールとイメージの書き込みの手順ですが、ダウンロードした「imager_x.x.exe」(執筆時点では「imager_1.5.exe」でした)を実行します。
「install」ボタンをクリックします。
続けてこのimagerを使ってKali Linuxのイメージを書き込んでいきますので「Run Raspberry Pi Imager」にチェックをしたまた「Finish」ボタンをクリックするとインストールは完了です。
「Raspberry Pi Imager」をWindowsのスタートメニューから起動する場合は、「Raspberry Pi」の配下にある「Raspberry Pi Imager」を起動します。
Raspberry Pi Imagerの起動イメージは、下図のイメージです。
「CHOOSE OS」ボタンをクリックします。
「Use custom」をクリックします。
ダウンロードしたイメージファイル()を選択します。
「SD Card」ボタンをクリックします。
書き込み先のSDカードを選択します。
「WRITE」ボタンをクリックします。
「Yes」ボタンをクリックします。
書き込みが開始します。
「Wite Successful」が表示されると書き込み完了です。
指示に従って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では、パスワードの入力前に下図のような説明が表示されます。(ご参考)
$ sudo apt upgrade
アップグレード中に以下のような問いかけがある場合、筆者は次のように設定しました。
Configuring keyboard-configuration
キーボード設定のようです。
Otherを選択して「Ok」を選択します。
「Japanese」を選択して「Ok」を選択します。
さらにその後も「Japanese」を選択し、「Ok」を選択します。
Configuring console-setup
「Guess optimal character set」を選択します。(他に合うのが無いので)
Configuring wireshark-common
非スーパーユーザーがパケットキャプチャする必要があるか?と聞かれていますので、「No」を選択します。
Configuring kismet-capture-common
選択肢はないので「OK」とします。
「Yes」を選択します。
「kali」ユーザーをグループに追加するようにして「Ok」を選択します。
(アップグレードの続きが始まります。結構時間がかかります)
Configuring libpam0g:arm64
ここでは「No」を選択します。
「samba-ad-dc smbd cron」のまま「Ok」とします。
(アップグレードの続きが始まります。ここからも、結構時間がかかります。)
終了したらリブートします。
リブート後は、ショートカットを起動するとおかしな動作を行う不具合があるので、その不具合を治します。
前回の記事と同様に、メニューからQTerminalを検索して実行します。
前回の記事では、「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」を選択します。
「ja_JP.UTF-8」を選択します。
ここで再び言語環境を確認してみます。
$ 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)」をクリックします。
この時点で、UIM(ユニバーサルインプットメソッド)で日本語入力の切り替えができるようになっています。デスクトップ上のどこかに下図のようなツールーバーがあると思いますが、これがUIMです。
日本語変換の切り替え方法がIBUSの方が良ければ、以下のように「ibus-anthy」をインストールすることで、IBUS(インテリジェントインプットバス)が使用できます。個人的にはIBUSを使っています。
$ sudo apt install ibus-anthy
日本語変換の切り替え方法を以下のようにして変更します。
$ sudo im-config
「OK」をクリックします。
「Yes」をクリックします。
「ibus」を選択し、「OK」をクリックします。
「OK」をクリックします。
この後、ログアウト・ログインすると、上部に「JA」が出現します。
この「JA」をクリックして「日本語-Anthy」を選択すると、terminalやブラウザなどのアプリケーションで「半角/全角」での日本語入力の切り替えができます。
ここまでで、日本語環境の設定は完了します。
管理用ユーザーの追加と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ツールを使用してみようと考えています。