問題
netdiscoverコマンドを実行してもPotato(やられサーバー)を検出できない。
構築環境は「ハッキングラボのつくりかた 完全版」を参考に次の通りとした。
アタックPCのParrotOSはMac(M3)にUTMをインストールし準備、やられサーバーのPotatpは普段使用していない古いPCにインストールしたVirtualBoxで立ち上げた。
それぞれネットワーク設定をブリッジとし、同じWi-fi環境に接続。
解決方法
nmapコマンドを使用する。
netdiscoverコマンドではPotatoを発見することができないのでnmapコマンドで調査して見つける必要がある。
nmapで見つけた後はnetdiscoverコマンドでも表示されるようになる。
ちなみに同一PC内でParrotOSとPotatoを起動し共有ネットワーク(ホストオンリーアダプタ)とするとnetdiscoverで普通に検出できる。
終わりに
netdiscoverでPotatoが表示されないことでかなりの時間を潰してしまった。後で振り返ってみるとやりたいことを実現する手段は色々あるのだから本に書いてあることに拘らずできることを試すべきだった。
netdiscoverはARPリクエストによって検出を行なっているようなのでwi-fi接続では仮想環境内にはうまく届かないのか?(当然ホスト側OSは検出できていた。仮にPotatoがARPリクエストに応答しない仕様なら共有ネットワークでも検出できないはずなので通信路に依存する問題と予想)nmapで一度疎通してしまえばその後は検出できるみたい。これは疎通ができたことでARPテーブルに登録されたからか?
ARPリクエストを受け取る側でWiresharkを使って調べてみれば新たな発見がありそう!