👻

Hyper-VにREMnuxを構築する手順

2023/10/28に公開

目次

  1. REMnuxとは
  2. ホストマシンでHyper-Vを有効にする
  3. 仮想アプライアンスファイルをダウンロードする
  4. ハッシュ値の確認
  5. vhdxの抽出
  6. Hyper-Vへのインポート

REMnuxとは

REMnuxは、リバースエンジニアリング(RE)やマルウェア解析を行うための、Ubuntu系Linuxディストリビューションです。
軽量で初めからREのためのツールが備わっているため、仮想環境上に解析環境を用意する際に重宝します。
特にマルウェアの解析では、Linux上でしか動かないものやWindows上でしか動かないもの等があるため、REMnuxとFlareVMをそれぞれ一台ずつ用意しておくと便利です。

PC買い替えに伴ってデータ移行しようと思いましたが、解析環境の構築方法を思い出す意味も込めて、改めて環境構築しようと思い文書化することにしました。

ホストマシンでHyper-Vを有効にする

ググると秒でできるので手順は割愛します。
なお、今回の私の環境は以下になります。

ホストマシン
OS: Windows11
メモリ: 32GB

仮想マシン
割り当てメモリ: 4GB

解析の時は3台くらいのマシンを起動していることが多いのですが、16GBとかだとメモリ容量が不足してしまうことがあるので、できれば32GBは欲しいかなと思います。

仮想アプライアンスファイルをダウンロードする

以下の公式ドキュメントとYouTubeが参考になりますが、私はYouTubeを参考にしました。
https://www.youtube.com/watch?v=d8uyVi0nH-U

以下からREMnuxのイメージを取得します。
https://docs.remnux.org/install-distro/get-virtual-appliance

ハッシュ値の確認

コマンドプロンプトから以下のコマンドでSHA256を確認します。

certutil -hashfile <file-name> sha256

応答で以下の値が返れば問題ありません。

76a12cc8ccf482e83f84b42ebfd9019ae47cf27915d0c2d686a9a407f8ee51ab

なお、現在(2023/10/25)では上記のSHA256になりますが、REMnuxでバージョンアップ等があった場合はハッシュ値が異なる可能性があります。
REMnuxの公式ページにハッシュ値が記載されているので、返答されたハッシュ値が以下のページに記載されているハッシュと同じであれば問題ありません。

https://docs.remnux.org/install-distro/get-virtual-appliance

vhdxの抽出

先ほどダウンロードしたファイルは以下のように.ovaのファイルになっていると思います。

しかしこのままではHyper-Vにインポートできないため、まずはこの.ovaファイルを7ZIP等で解凍します。
すると、以下のようなフォルダができるかと思います。

このフォルダは二重拡張子になっているので、更にこのremnux-v7-focal-disk1.vmdk.gzを解凍して、.vmdkのファイルを生成します。
こういう状態になるはずです。

しかしこの.vmdkファイルもまだHyper-Vにはインポートできません。.vhdxファイルにする必要があります。
次に、QEMUというツールを使って.vmdkを.vhdxにコンバートします。

以下よりQEMUをインストールできます。
https://www.qemu.org/download/#windows

そのままだとコマンド実行できないので、パスを通してからコマンドプロンプトを再起動します。
私の場合は以下のパスに通しました。
C:\Program Files\qemu

次に以下のコマンドを実行して.vhdxファイルを生成します。

qemu-img convert <path-to-vmdk> -O vhdx <path-to-new-vhdx>

こんなファイルが生成されるはずです。

Hyper-Vへのインポート

Hyper-Vマネージャーを開いて、新規 > 仮想マシン を選択

適当な名前を入力

第一世代にしておく

先ほどの.vhdxのパスを指定

メモリは4096MBで

Default Switchに変更

仮想ハードディスクの接続では、「既存の仮想ハードディスクを使用する」から先ほどの.vhdxのパスを指定

以下のようなものが作られるはずなので起動

少し待ってTerminalが立ち上がれば成功

No Days Off! ('◇')ゞ

Discussion