はじめに
この記事は、VirtualBoxにKali LinuxをゲストOSとして導入したものの「画面解像度が自動で変わらない」「ホストOSとのクリップボード共有ができない」といったストレスを感じているセキュリティ初学者~中級者を対象としています。
読み進めることで、VirtualBox Guest Additionsを正しくインストールするための手順と、Kali特有の落とし穴(カーネルヘッダ不足・セキュリティ署名エラーなど)の回避方法が身につきます。結果として、画面サイズの自動リサイズ・双方向クリップボード・ドラッグ&ドロップが使える快適な分析環境を手に入れられるでしょう。
前提知識
- VirtualBoxの基本的な仮想マシン作成・起動操作
- Linuxで
aptを使ったパッケージ管理の基礎知識 - ターミナルで
sudoを使った管理者権限コマンドの実行経験
なぜGuest Additionsが必要なのか
VirtualBoxに限らず、仮想マシン上のLinuxディストリビューションはデフォルトでは「汎用的なVESAドライバ」で動いているため、ホスト側のウィンドウサイズに応じてゲスト側の画面が自動でリサイズされません。また、クリップボードの共有やフォルダ共有(ホスト→ゲストのファイル受け渡し)も有効化できず、Webペイロードをコピーするたびにscpコマンドを打つ手間が発生します。
Guest Additionsを導入すると、仮想化に特化したビデオドライバ・マウスドライバ・カーネルモジュールが追加され、上記の機能が一挙に使えるようになるほか、グラフィックレンダリングがCPUレンダリングから離れてメモリ転送が最適化されるため、画面の描画速度も向上します。セキュリティ演習で頻繁にスクリーンショットを撮る人にとっては、画面サイズが自動調整されるだけで作業効率が段違いになります。
インストール手順とハマりどころ
ステップ1:Kali側でカーネルヘッダとビルドツールを用意する
Kali Linuxはデフォルトでコンパイル環境が入っていないため、Guest Additionsのコンパイルに必要なパッケージを先にインストールします。
Bashsudo apt update sudo apt install -y build-essential linux-headers-$(uname -r) dkms
ポイント:linux-headers-$(uname -r)で「今動いているカーネルに対応したヘッダ」を必ず指定します。標準のlinux-headers-amd64だけ入れてもマイナーバージョンが異なると、モジュールコンパイル時に「headers not found」で失敗します。
ステップ2:VirtualBoxメニューからゲスト追加イメージをマウント
- 仮想マシンを起動した状態で、メニューバーから「デバイス」→「Guest AdditionsのCDイメージの挿入」を選択
- デスクトップに
VBox_GAs_7.x.xのディスクアイコンが現れるので、ターミナルでマウントポイントを確認
bash ls /media/$(whoami)/VBox* - 自動マウントされない場合は手動でマウント
bash sudo mkdir -p /mnt/cdrom sudo mount /dev/sr0 /mnt/cdrom
ステップ3:インストーラを実行
Bashcd /mnt/cdrom sudo ./VBoxLinuxAdditions.run
正常にコンパイルされれば「Installing graphics libraries ... done」「Installing kernel modules ... done」と進み、最後に「Please restart your guest」が表示されます。
ハマりどころ1:「Unable to determine the kernel source」エラー
linux-headersが見つからないと上記メッセージが出ます。uname -rの出力とdpkg -l | grep linux-headersでバージョンを突き合わせ、一致していなければapt installで該当バージョンを追加してください。
ハマりどころ2:セキュアブートが有効だとモジュール署名で失敗
UEFIセキュアブートがONのままでは、Oracleの署名なしモジュールはロードできません。以下のいずれかで対応:
- BIOS設定でセキュアブートを無効化(最も簡単)
- mokutilを使って自分で署名を登録
bash sudo mokutil --disable-validation # 次回起動時に登録画面が表示される
ステップ4:再起動して動作確認
Bashsudo reboot
ログイン後、以下が使えることをチェック:
- ホストウィンドウをドラッグしてリサイズ→ゲスト側のデスクトップサイズが追従
- 設定→General→Advanced→「双方向」にクリップボード共有を変更→テキストコピーが通る
- 設定→General→Advanced→「双方向」にドラッグ&ドロップを変更→ファイルをホストから直接D&D
まとめ
本記事では、VirtualBox上のKali LinuxでGuest Additionsをインストールし、画面リサイズ・クリップボード・フォルダ共有を有効にする手順を解説しました。
- カーネルヘッダとビルドツールを事前にインストールしておくことで、コンパイルエラーを回避
- セキュアブート有効環境ではモジュール署名エラーが出るため、無効化またはmokutilでの署名登録が必須
- Guest Additions導入後は、セキュリティ演習のスクリーンショット取得やペイロード受け渡しが格段に快適に
快適な分析環境が整ったら、次は「ホストオンリーネットワーク+Kali+脆弱なコンテナ」で繋いで、安全にPenTest演習をする方法を紹介します。
参考資料
- Oracle公式:VirtualBox Guest Additions ドキュメント
https://www.virtualbox.org/manual/ch04.html - Kali Docs:VirtualBox Guest Additions on Kali Linux
https://www.kali.org/docs/virtualization/install-virtualbox-guest/ - 「Kali Linux Revealed」第6章(Kali環境のカスタマイズ)
https://www.kali.org/download-kali-linux-revealed-book/
