VulnHubのセットアップ方法

Virtual box上にVulnHubを使って仮想イメージをダウンロードして立ち上げする方法を説明する記事が少ないように感じたので、セットアップ方法を書きます。

### 今回記事を書く環境
- Windows    ( Macを持っていないのでMac環境でできるかはわかりません )
- Virtual box ( ダウンロード方法は各自確認してください)
- Kali linux ( kali linuxのダウンロード方法は説明されている記事が多数投稿されているため、そちらで確認してください )

### 1. VulnHubからPotato.ovaファイルをダウンロード
#### VulnHubとは? 
意図的に脆弱性が含まれている仮想イメージが無料で配布されているプラットフォームです。様々な環境の仮想イメージが配布されているので、セキュリィについて学びたい人にはうってつけのサイトです。

### ダウンロード、Potato.ovaのセットアップ
まずはVulnHubの公式ホームページにアクセスしてください。<br>https://www.vulnhub.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/9a318c02-b5bb-4e4f-3454-73ed2709f400.png)<br>
serch by name or authorに`Potato`と入力してください。すると、以下の画面のように表示されます。(2024/4/20現在)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/1410e8bf-cee2-03a5-9127-068771350f5c.png)

今回は``Potato: 1``をダウンロードします。Potato: 1をクリックすると以下の画面が表示されるので、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/adb7b070-e0f5-4fde-8e36-2543aed80940.png)
``Download (Mirror):``の部分からpotato.ovaファイルをダウンロードします。
※ Downloadの部分をクリックしても「リクエストされたファイルは存在されません」と表示されます。

### 2.Virtual BoxでPotato.ovaを立ち上げる
ダウンロードが完了したら、Virtual boxでセットアップを行います。Virtual Boxを起動したら、ファイル > 仮想アプライアンスのインポート　> Potato.ovaファイルを選択　という順番でインポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/60c74402-2a18-1844-8d07-4beda6cde91e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/e9439b76-cb3d-8d7b-5961-25d00864444a.png)
<br>次へを選択し、Macアドレスのポリシーを**すべてのネットワークアダプターのMACアドレスを含む**と選択してください。その後完了を押すと仮想マシン Potato が完成します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/50fba812-71a9-bbb0-9397-af7eb9d610c8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/3fa9987b-4701-09ab-a74a-a9b4b1263942.png)

完成後、設定からネットワークを選択し、割り当て(A)を**ホストオンリーアダプター**、名前(N)を**VirtualBox Host-Only Ethernet Adapter**を選択します。アダプター1以外はネットワークアダプターを無効化のままにしておいてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/0de4443b-ffb8-4d87-d0c3-0107caa6760f.png)

完了後、Potatoマシンを起動してください。起動後、Enterを押すと以下の画面が出てくればPotatoマシン側のセットアップは完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/3d52c987-b87c-6511-b0b2-914365de8c5f.png)

### 3.Kali linuxのネットワーク設定
Kali linux側でもネットワークの設定を行います。Potatoマシンと同様に設定からネットワークを選択し、割り当て(A)を**ホストオンリーアダプター**、名前(N)を**VirtualBox Host-Only Ethernet Adapter**を選択してください。アダプター1以外はネットワークアダプターを無効化のままにしておいてください。その後Kali linuxを起動します。


### 4.PotatoマシンのIPアドレスを特定する
kali linux にログイン後ターミナルを起動し以下のコマンドを入力します。
```terminal
$ ip a
```
このコマンドにより、Kali linuxのネットワークインターフェースを確認します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/43f5927e-f734-fdb2-d1c0-c683ef34bfa0.png)
上記の画面より、kali linuxのネットワークインターフェースは**eth0**で**192.168.56.103/24**であることが分かります。

:::note warn
ネットワークインターフェースは個人の環境によって異なるので、各自確認してください。
:::

:::note warn
lo: の部分はローカルループバックアドレスといって、自分自身を表す特別なIPアドレスであるため、kali linuxのネットワークインターフェースではないことに注意してください。ループバックアドレスしか表示されない場合は設定が間違っている可能性があります。設定を確認して下さい。
:::

先ほど確認したネットワークインターフェースから、同じLAN内に存在する端末のIPアドレスを列挙してください。以下のコマンドを入力します。
```console
$ sudo netdiscover -i <インターフェース名> -r <IPアドレス>

今回の場合、以下のようになる
$ sudo netdiscover -i eth0 -r 192.168.56.103/24 
```
実行後、以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619884/2f9b4cc5-ecd9-93d8-7fa1-27aa9a51ea62.png)
これより、PotatoマシンのIPアドレスは**192.168.56.108**であるということが分かります。

:::note info
192.168.56.100はDHCPのIPアドレスです。
:::

### 5.マシンの攻略
ここまでできると、あとはPotatoマシンを攻略するフェーズになります。あとは頑張ってください。

### 6.最後に
今回はPotatoマシンについて調査できるようにセットアップ方法を書きました。VulnHub上のほかのマシンに対しても同様な設定の仕方で大丈夫なはずなので、この記事を参考にしていただけるとよいと思います。

最後までお読みいただきありがとうございました。

### 参考文献
https://www.shoeisha.co.jp/book/detail/9784798185996
https://qiita.com/v_avenger/items/8accd0cecba2c8f1a923