LoginSignup
1
1

M1/M2 Mac に UTM で Kali Linux 2023.2a を立ち上げ、OpenVAS を設定する

Posted at

やりたいこと

M1/M2 Mac に VM で Kali Linux を立ち上げ、Nessus から派生した OSS な脆弱性スキャンツール OpenVAS をインストールする。

環境等

  • Apple M2 Max
  • Ventura 13.4.1 (c)
  • UTM 4.2.5 (81)
  • Kali Linux 2023.2a
  • OpenVAS: 22.4.1

UTM をインストール

VirtualBox の Apple Silicon 用は、Developer Preview で、試してみたけど良くなかったのでやめ(いまダウンロードページに行ったら見当たらない)、UTM を利用することにした。
まずは、UTM をダウンロードする。

サイトからダウンロードすると無料、AppStore からダウンロードすると 10 ドルくらい。どちらも同じもののようだ。ファンになったら寄付もできるよくらいのスタンスが気持ち良い。知らんけど。

インストールで躓くことはないと思われるので、省略。
UTM の使い方は、基本的には、iso イメージを取ってきて、それを実行するだけだ。

インストール中に、パーティションがどうとか諸々あってちょっと不安になるが、Host マシン自体のシステムには何の変更も行われないので、気軽にトライして良い。

Kali Linux をインストールする

まずは、Kali Linux のインストールイメージをダウンロードする。

Screenshot 2023-07-30 at 10.03.10.png

Apple Silicon (ARM64) のものをダウンロードすれば良い。

どうしても以前の特定のバージョンが欲しい人は、こちらから。

今回は、2023.2a をインストールする。2022.2 以外手順は同じだ。
基本的な手順は、M1 Mac に Kali Linux 2022.2 をインストールする以下動画を参考にした。

この動画の説明に、2022.2 以外は UTM では動かないと書いてあるが、そんなことはないし、apt upgrade するとぶっ壊れて不便なので、最新版を入れる。

2022.2 以外をインストールしようとすると、インストールイメージを起動しても何も進まない。Kali Linux に限らず、こうなってしまう場合の対処方法は、Built-in Terminal で接続する。

イメージをロードしたら、設定で Devices > + New > Serial を追加する。

Screenshot 2023-07-30 at 10.34.35.png
Screenshot 2023-07-30 at 10.08.52.png

これでインストールイメージを起動すると Window が 2 つ立ち上がるので、動く方で進めれば良い。
インストールが完了したら、この設定は不要なので、Remove してしまって良い。何かの理由でまた利用したくなったら、再度追加すれば良い。

Screenshot 2023-07-30 at 10.43.22.png

というわけで、無事インストール完了。upgrade しても平気だ。

OpenVAS をインストール・設定する

まずは、OpenVAS をインストールする。

$ sudo apt install openvas

このあと設定、設定確認の流れだが、失敗する。

$ sudo gvm-setup

と打つと、初っ端で PostgreSQL 関連でエラーが出る。エラーが出てもそのまま進むが、結果失敗するので、止めてしまって良い。最後まで見て、sudo gvm-check-setupとすると、出来てないと言われるだけ。

Permission を付与する

今回は、ユーザは kali で作ったので、以下 kali で進めるが適宜読み替えてください。

could not change directory to "/home/kali"

エラー内容は、permission がなくて書き込めないというエラー。sudo なのにと思うが、postgres ユーザが書き込めないという話しなので、権限を与える。

$ chmod og+rX /home /home/kali

collation version を一致させる。

再度、sudo gvm-setup をすると今度は別のエラーが出る。
エラーメッセージをメモるのを忘れたが、collation version mismatch というエラーが出る。ググると、エラーメッセージに HINT がついていて、そこに答えが書いてあるみたいだが、そんなものはなかったような気がする。

この時点で、PostgreSQL は起動しているはずだが、起動していない場合は、起動して入る。

$ sudo systemctl start postgresql
$ sudo -u postgres psql
psql (15.3 (Debian 15.3.0+deb12u1))

\l で確認すると、postgres, template0, template1 の 3 つの Database が確認できる。gvm-setup で作成されるはずの gvmd はまだない。

Collation version を一致させる。

ALTER DATABASE postgres REFRESH COLLATION VERSION;
ALTER DATABASE template1 REFRESH COLLATION VERSION;

template0 だったか template1 だったかアヤフヤ。どっちかは失敗する。このあと作る gvmd は template を元に?作成されるので、ALTER DATABASE は必要ない。

gvmd データベースを作成する

gvm-setup で作成に失敗したので、手動にて。

$ sudo runuser -u postgres -- /usr/share/gvm/create-postgresql-database

OpenVAS を設定する

これで準備が整ったので、再度

$ sudo gvm-setup

を実行すると、時間はかかるが、今度はうまく行く。

$ sudo gvm-check-setup

...
It seems like your GVM-22.4.1 installation is OK.

admin パスワードを設定する

これで、インストール・セットアップが完了したので、ブラウザで、https://127.0.0.1:9392 にアクセスする。

Screenshot 2023-07-30 at 19.41.26.png

おー、ちゃんと動いてると思うも、Username? Password?? 設定した覚えないけど…
gvm-setup コマンドを実行した際に、PostgreSQL に admin ユーザを作成し、そこでパスワードも設定されているはずなのだが、画面に出てきたかな?出てきていたかも知れないが、メモらなきゃと思うほどはっきりは出てこなかった。

という訳で設定する。sudo gvmd --user=admin --new-password=nimda と打つと、特にエラーも出ないが Reset には失敗するので、

$ sudo -E -u _gvm gvmd --user=admin --new-password=nimda

これでパスワードのリセットが完了する。

Port List を取り込む

Screenshot 2023-07-30 at 19.53.10.png

再度ブラウザで https://127.0.0.1:9392 にアクセスし、ログイン。
Scans > Tasks > Task Wizard で自分自身を Scan してみる。

Failed to find port_list ‘33d0cd82-57c6-11e1-8ed1-406186ea4fc5‘

というエラーがでる。
これは公式のドキュメントに解決方法が書いてある。

そのままコピペでやると失敗するので以下で。

$ sudo -E -u _gvm greenbone-feed-sync --type GVMD_DATA
$ sudo -E -u _gvm gvmd --rebuild-gvmd-data=all

これで、全て使えるようになったので、スキャン!

Screenshot 2023-07-30 at 20.09.53.png
Screenshot 2023-07-30 at 20.12.36.png

検知された笑

Happy Hacking!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1