ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

VirtualBox(on Mac)にKali Linuxをインストール〜日本語入力の設定まで

*はじめに、後述するOMAKEではDLしたイメージファイルのチェックサムを照合する作業にトライしています。本来ならこれはインストール前に行う作業らしいのですが、インストール後に行ってしまいました。
しかし調べてみるとこの事前の照合を行っている人は皆無なので、もしかしたら必要ないのかもしれません。その辺りは確証が持てずに申し訳ありませんが・・・。


公式サイトより64bit版をダウンロードします。

Official Kali Linux Downloads | Kali Linux

サイズは2.9GB。結構あります。

f:id:noriyo_tcp:20150111164436p:plain

ほぼこの記事の通りにやっていきました。

Kali Linux を VirtualBox にインストールする | Webセキュリティの小部屋

先に注意点を挙げると

  • VirtualBoxのディスク容量を結構大きめに設定しなければならない。デフォルトの8GBではダメ。
  • バージョンはDebian(64bit)。Ubuntuではダメという記事を見た。今回は64bitを使用したのでそれに合わせたが、32bit版ではどうするのかは未確認。
  • Guest Additionsを入れる際、自動起動はキャンセル。そのあとの設定ができなくなるので。
  • 上記の後、Guest Additionsの実行ファイル(.run)を/root/にコピー。chmodで755、その後/root/に移動して実行。
  • インストール時に「日本語」の設定をしても、日本語入力ができるようにはならない。別途入力メソッドを設定。Mozcではダメらしい。uim-anthyで。

VirtualBoxでの設定

  • 名前:Kali Linux
  • タイプ:Linux
  • バージョン:Debian (64bit)
  • メモリ:2048 MB
  • ディスク:32 GB

  • 仮想ハードドライブのファイルタイプ:VDI(VirtualBox Disk Image)

  • 物理ハードドライブにあるストレージ:可変サイズ

という設定にしました。

f:id:noriyo_tcp:20150111165651p:plain

設定後、インストール

VirtualBoxのKali Linux起動後、DLしたインストールディスクを選択。

f:id:noriyo_tcp:20150111165749p:plain

インストール画面で
Installの下にある
Graphical Installを選択。(スクショ撮るの忘れたw)

基本デフォで進んでいきます。


  • Select a language 「日本語」を選択。

  • 場所の選択
    「日本」を選択。

  • キーボードの設定
    ここで何も考えずに「日本語」を選択したのですが、私が使っているのはMac(USキーボード)なので、後からキーボードレイアウトを変えないとでした。

  • ホスト名
    デフォのkali で。

  • ドメイン
    localと入力。 プロキシは使わないので空欄のまま続ける。

  • rootのパスワード入力
    Kali Linuxは基本rootでログインして使うのが前提らしい。

  • ディスクのパーティショニング
    ここからはデフォルトを選択して進みます。一通り終わった後、最後に変更を書き込みますか? となるので「はい」を選択して進む。
    (ここらへんスクショ撮っておけばよかったですね・・・)

  • パッケージマネージャの設定
    -- ネットワークミラー
    「はい」を選択。
    -- プロキシ
    使わないので空欄のまま次へ進む。

  • GRUBブートローダのインストール
    「はい」を選択。

  • インストールの完了画面
    「続ける」を押すと、再起動後ログイン画面が表示される。


ログイン

ログイン画面で「その他」を選択。

f:id:noriyo_tcp:20150111171409p:plain

名前はrootで。

f:id:noriyo_tcp:20150111171501p:plain

f:id:noriyo_tcp:20150111171509p:plain

無事ログイン。

f:id:noriyo_tcp:20150111171531p:plain

念のため、ここでスナップショットを撮っておく。


キーボードレイアウト設定

前述したように、キーボードレイアウトを変えないといけないので

f:id:noriyo_tcp:20150111171737p:plain

システムツール>設定>システム設定>キーボード>レイアウトの設定

f:id:noriyo_tcp:20150111171852p:plain

「日本語」を削除、「英語(Macintosh)」を設定。
確認後、再起動しました。


VirtualBox Guest Additionsのインストール

左上の端末のアイコンを押して起動させ、

apt-get update && apt-get install -y linux-headers-$(uname -r)

と打ち込みます。

実行結果:

f:id:noriyo_tcp:20150111172714p:plain

インストール後

VirtualBox[デバイス] – [Guest Additions のCDイメージを挿入] を選択します。

ここで注意!

「このメディアには自動的に起動することを意図したソフトウェアが含まれています。実行しますか?」のダイアログでキャンセルを押します。

f:id:noriyo_tcp:20150111172258p:plain

そして以下のコマンド実行

cp /media/cdrom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditioins.run
cd /root
./VBoxLinuxAdditioins.run

1.runファイルを/root/にコピー
2.実行権限を設定
3./rootに移動後、ファイル実行。

VBoxLinuxAdditions.runの実行権限確認:Before

f:id:noriyo_tcp:20150111172335p:plain

VBoxLinuxAdditions.runの実行権限確認:After

f:id:noriyo_tcp:20150111172511p:plain

所有者に実行権限が与えられてます。(端末を全画面にしときゃよかったw)

その後、再起動。

これでクリップボードの共有やドラッグ&ドロップなどが可能になります。Virtual Boxの高度な設定より

f:id:noriyo_tcp:20150111172913p:plain


日本語入力の設定

# apt-get install -y uim uim-anthy

インストール後、再起動します。

# reboot

uim-anthyについては

第99回 uimを使用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

右上の工具アイコンから設定

日本語入力の切り替えはShift+Spaceでできます。(USキーボードなので半角/かなキーがないのです)

標準の入力方式をUTF-8

f:id:noriyo_tcp:20150111175448p:plain

「全体設定」にて「標準の入力方式」にチェックを入れ、Anthy(UTF-8)を選択

予測入力を有効に

f:id:noriyo_tcp:20150111175700p:plain

Anthy(高度)」にて、予測入力を有効にします。vi協調モードも有効にしておきます。viで日本語入力にしていた際でも、escで編集モードから抜けることができるそうです。

端末のviで日本語を入力することはそんなにないような気もしますが,uimには先に取り上げた[vi協調モード]というのがあります。これは,uimが起動しているときでもESCキーを押すとuimが終了し,編集モードを抜けることができます。

子音の連続入力を有効に

第99回 uimを使用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

uimと上手く付き合う方法 - ぐらさん家のガラクタ倉庫

説明しづらいですがw
例えばppと打つと pp>っpとなるのに対し、

f:id:noriyo_tcp:20150111180036p:plain

psと打ってもps>ps にはなりません。 sがpの上に上書きされちゃう。  

f:id:noriyo_tcp:20150111180057p:plain

.uimファイルの作成

.uimファイルをホームに作成、それに

(require "japanese.scm")
(define ja-rk-rule-hoge
  (map
   (lambda (c)
     (list (cons (list c) ()) (list c c c)))
   '("b" "c" "d" "f" "g" "h" "j" "k" "l" "m"
     "p" "q" "r" "s" "t" "v" "w" "x" "y" "z"
     "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"
     "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z")))
(if (symbol-bound? 'ja-rk-rule-hoge)
    (set! ja-rk-rule (append ja-rk-rule-hoge ja-rk-rule)))

と入力します。

f:id:noriyo_tcp:20150111180150p:plain

保存後、再起動すると連続入力が有効になります。

f:id:noriyo_tcp:20150111180222p:plain

細々とした設定はまだあるでしょうが、とりあえずインストール〜日本語入力できるように設定、というところまでいきました。


OMAKE

(*これは実際はインストール後にやったことです。本当はダウンロード前にやらなきゃいかんそうです)

公式版のKali Linuxのダウンロード | Kali Linux Official Documentation

警告!Kali Linuxをダウンロードする場合は必ずSHA1の値を確認し、公開されているものと合致していることを確認すること。Kali Linuxマルウェアを混入させて、非公式に配布することは容易である。

え・・・(焦

SHA1SUMSファイルの確認方法

チェックサムを照合する前に、まずはSHA1SUMSがKaliから正式に提供されていることを確認する。SHA1SUMS.gpgファイルはそのためにあり、以下の2つの方法でダウンロードすることができる。

$ wget -q -O - http://archive.kali.org/archive-key.asc | gpg --import
# または
$ gpg --keyserver subkeys.pgp.net --recv-key 44C6513A8E4FB3D30875F758ED444FF07D8D0BF6 #(この値は間違いっぽい 英語版では7D8D0BF6)

Official Kali Linux Downloads | Kali Linux

ん、Macじゃできないのかな? コマンドがない。

GPG Suiteの導入

GPGTools - It's worth protecting what you love

f:id:noriyo_tcp:20150112010257p:plain

インストーラーをダウンロードします。これはまあすんなりと。

その後の設定まで書くとこれ以上長くなるのは勘弁、ということでこちらを

GPGTools の使い方(準備)

To verify the signature

How to verify the downloaded GPG Suite? / Tutorials / Knowledge Base - GPGTools Support

f:id:noriyo_tcp:20150112010333p:plain

その下にDownload GPG signatureとあるのでそれもDL(要らなかったかも)、それをverifyするにはupdated keyをインポートしてね! みたいなことも書いてある。そのリンクを押すとブラウザにブワーと表示される。
これを全部コピーしておく。

f:id:noriyo_tcp:20150112010359p:plain

GPG Keychainを起動。メイン画面で先ほどコピーしたのをそのままペースト。するとこんな画面が出る(すでにverify通ってる感じなんだけど進みます)

f:id:noriyo_tcp:20150112010551p:plain

.dmg,sigファイルの両方が同フォルダに入っていることを確認。どちらかを右クリック>OpenPGP: Verify Signature of Fileを選択。

f:id:noriyo_tcp:20150112011150p:plain

f:id:noriyo_tcp:20150112011205p:plain

すると、Verification Resultsがでてきます。ultimate trustなんて書いてある。なんかカッコイイ///

f:id:noriyo_tcp:20150112010633p:plain


(やっと)SHA1SUMSファイルの確認

$ gpg --keyserver hkp://keys.gnupg.net --recv-key 7D8D0BF6
gpg: requesting key 7D8D0BF6 from hkp server keys.gnupg.net
gpg: key 7D8D0BF6: public key "Kali Linux Repository <devel@kali.org>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2015-08-18
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

ここまでは進みましたが、次の

$ gpg --verify SHA1SUMS.gpg SHA1SUMS

でこける。そらそうだ、SHA1SUMS.gpg SHA1SUMSをDLしてないから。どうすんの・・・詰んだw

イメージをダウンロードする際、イメージの下にSHA1SUMSおよびSHA1SUMS.gpgファイルが確認できる。

いやだから確認できないから・・・「下」ってどこだよw

ググりまくってやっと見つけました。

Up and Running with Kali Linux and Friends | Binarymist

Installationの段落に書いてある。

you’re going to want to check its validity by verifying the SHA1 checksums. Now this is where the instructions can be a little confusing. You’ll need to make sure that the SHA1SUMS file that contains the specific checksum you’re going to use to verify the checksum of the image you downloaded, is in fact the authentic SHA1SUMS file.

instructions say “When you download an image, be sure to download the SHA1SUMS and SHA1SUMS.gpg files that are next to the downloaded image (i.e. in the same directory on the server).”. You’ve got to read between the lines a bit here.

ちょいインストラクションがおかしくて、next to the downloaded imageとあるけどどこだよと。

A little further down the page has the key to where these files are. It’s buried in a wget command. Plus you have to add another directory to find them. The location was here. Now that you’ve got these two files downloaded in the same directory, verify the SHA1SUMS.gpg signature as follows:

wgetコマンド、wget -q -O - http://archive.kali.org/archive-key.asc | gpg --importの中にあるhttp://archive.kali.org/archive-key.asc、これがヒントっぽい。
探さなきゃいけない。結局ここにアクセスする。

http://archive.kali.org/kali-images/

kaliのイメージが並んでおります。

f:id:noriyo_tcp:20150112015721p:plain

今回DLしたのは1.0.9aなのでさらに潜る。

f:id:noriyo_tcp:20150112015806p:plain

あった!あったよ!
SHA1SUMSSHA1SUMS.gpgをダウンロード。そして

$ gpg --verify SHA1SUMS.gpg SHA1SUMS
gpg: Signature made 木 10/ 2 22:26:04 2014 JST using RSA key ID 7D8D0BF6
gpg: Good signature from "Kali Linux Repository <devel@kali.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 44C6 513A 8E4F B3D3 0875  F758 ED44 4FF0 7D8D 0BF6

Good signatureとでました。しかしWARNINGもでています。

そこで次のステップに行きます。

OSXSHA1チェックサムの照合

$ shasum kali-linux-1.0.9a-amd64.iso 
2744d50f56c3d6332bc75e676f36aad3058d0aad  kali-linux-1.0.9a-amd64.iso
$ grep kali-linux-1.0.9a-amd64.iso SHA1SUMS
2744d50f56c3d6332bc75e676f36aad3058d0aad  kali-linux-1.0.9a-amd64.iso

こうやって出力させたイメージのチェックサム目視で確認。
公式サイトのダウンロードページにもSHA1SUMが記載されているので(右側に)
それと照らし合わせる・・・うん、合ってるな。

でもやっぱり本来は事前にやらないといけないんでしょうね。しまったなあ。
しかしいろいろ調べてみると、この事前の照合は誰もやってないなw みんな公式からスンスーン♪とDLしている。
もしかしたら必要ないのかなあ?


OMAKEのOMAKE

Error installing Kali Linux | VMware Communities

VMware Workstationに入れようとしたらできないよ、という質問に対する答えの中に

BTW I just downloaded the kali-linux-1.0.4-amd64.iso image via Kali Linux 1.0.4 64-Bit Torrent, validated the SHA1 checksum of the ISO Image against its published SHA1SUMS, and installed it in a Debian 6 64-bit Virtual Machine under VMware Workstation 9.0.2 using default settings. It installed fine and runs as expected without having to do anything special. So, it does work as advertised (so to speak) and why you can install it under (assuming) VirtualBox and not VMware Workstation remains a mystery.

64bit版のisoイメージをTorrent経由でDLして入れたけど、すでにvalidatedされている?らしい。

It installed fine and runs as expected without having to do anything special.

特別なことはしなくてもインストールしたら走ったぜ、みたいなことを言っておりますな。