🦜

VMware fusionでparrotOSを作成

2024/08/19に公開

intel macbook pro からM2 macbook air にしてからVirtual Boxが使えなくて困ってたが、dockerではできないことも多いしやっぱりVMは必要だなってことで個人利用無料になったVMwareを試してみる。
目的はセキュリティの勉強用、CTFを始めるにあたりparrotOSのGUI環境を作ること。
他 VMware fusion のVM作成の役に立てば。

スクショやログ撮り忘れてたのでまた作り直したりしたら情報追加修正するかも、です。

環境

  • M2 macbook air
  • メモリ8GB
  • Sonoma 14.6.1
  • homebrew 構築済み

VMware fusionの導入

macOSでは VMware fusion を使えば良い。
VMware workstation は windows, linux用。ということらしい、これを調べるまでにも紆余曲折してしまった。

fusionはhomebrewでインストール可能
https://formulae.brew.sh/cask/vmware-fusion

$ brew install --cask vmware-fusion

インストールした fusion を起動。
windows11をインストールするのは他に特に用意するものはないが、linuxディストリビューションを導入するにはisoファイルが必要になる。

parrotOSの場合は debian をインストールしそれを parrotOS にコンバートするという手順になる。

debianのisoファイル入手

https://www.debian.org/devel/debian-installer/
今回は arm64 が必要なので「netinst CD イメージ」から「arm64」を選択
debian-testing-arm64-netinst.iso を入手する。

parrotOSのdebianコンバートファイルを入手

https://parrotsec.org/download/
「Debian conversion script」から gitlab のリポジトリに移動する。

インストール方法が書いてあるので内容に沿って git clone しておく。

debianのVM作成

fusion を起動。
「ファイル」>「新規」>「ディスクまたはイメージからインストール」

入手した debian-testing-arm64-netinst.iso を指定して進める。
特に記載のないものについては基本的にデフォルト選択。

GUIにするには「ソフトウェアの選択」で適当なものを選ぶ必要がある。
参考
https://qiita.com/fhara/items/868a6b609fa1a9755602
https://blog.treedown.net/entry/2023/07/27/010000

とりあえず GNOME にしてみた。

debianの調整

sudoersにログインユーザを追加する

そのままだとデフォルトログインユーザで sudo が使えない。どうやら初期状態でよしなにしてくれているわけじゃないらしい。
debianのVMの中でターミナルを開いてコマンド操作していく。
root権限をとって visudo を編集する。どうやらvimじゃなくてnanoらしい。

$ su -
# visudo

権限を追加する。

hoge ALL=(ALL:ALL) ALL

この調子だと多分他にも色々設定しないといけないんだろうけど、まずはparrotOSのVMが作れれば細かいことはよしとする。

ホストOSのファイルを共有

https://docs.vmware.com/jp/VMware-Fusion/13/com.vmware.fusion.using.doc/GUID-5FAA1AF9-C886-40E9-87CD-770235EFB754.html

vmware tools が必要になる。
mac側で VMware fusion で作成した debian を選択した状態で「仮想マシン」>「VMware Tools のインストール」
しかしなぜか「再インストール」となっててグレーアウトしてて選べない。

インストール確認、入ってるならまぁなんでもよし。

$ vmware-toolbox-cmd -v
12.4.5.49651 (build-23787635)

ファイル共有は「仮想マシン」>「共有」>「共有設定」
「共有フォルダを有効にする」をチェックして、ホスト側で共有したいディレクトリを追加する。
ゲストOSを再起動。

/mnt/hgfs/以下に設定したフォルダが表示されるはず。
はずなのだが・・・「ファイル」アプリ:エクスプローラとかfinderみたいので確認するとなぜか空っぽ。(多分選んだGUIによってこの辺は違うと思う)
ターミナルで見ると普通に表示されて・・・GUIの方でも見れた、謎。

共有設定してるのに表示されなくなる!

謎。「共有フォルダを有効にする」チェックを入れ直すと表示されるようになった。

parrotOSにコンバート

共有ディレクトリ経由で入手したコンバートファイルを利用する。
ゲストOSの方で直接入手してもいいが、VM作り直すこともありあえるしその度に入手するのはめんどい。
gitlab の手順にある通り、権限追加してスクリプトを実行。
parrotOSの構成を選択することになるが、いくつか用意されている。
正直表示されたままの説明を読んでもどう違うのかさっぱりわからないので、セキュリティかHTB用で入れてみる。

最後に libcurl4 でファイルが破壊されているとかエラーが出ていて、再び同じ選択肢に戻ってくるがどうやらよく読むと parrotOSの導入自体は成功しているらしい。
再起動すると背景が変わってるので、とりあえずこれで良さげ??

動作確認

確認中。
とりあえずVMのGUI操作のレスポンスには何の問題もない。

Discussion