Metasploit をうまく動かす

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=FAIL-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

こやつを幾度となく見て心が折れた人に向けて書く。

環境

下環境。最近は WSL から VirtualBox浮気して乗り換えているところである。

別にホスト OS が WIndows10 でもいいと思うしゲスト OS が Kali でもいいと思う。

問題

TryHackMe をやっていると、WSL のネットワーク周りが不甲斐ないせいでいろんなものがうまくいかないみたいなので最近は VirtualBox を使用している。VirtualBox なら何ら問題なくすべてうまく動くはず……!そう信じたのもつかの間、Metasploit がうまく動かないではないか。これじゃ VirtualBox に乗り換えた意味がない!なんとかして動くようにしよう。

以下の Room で Metasploit を動かそうとしてうまくいかなかった、という話。

tryhackme.com

解決策

解決策は大きく以下の 2 段階ある。環境によっては 1 番だけで動くようになるかもしれない。

  1. LHOST も設定する
  2. MTU の値を変える

LHOST も設定する

TryHackMe に従って RHOSTS はみな設定していると思うが、VirtualBox の場合、LHOST がデフォルトで 10.0.2.15 になっている。そこでまずは ip addr コマンドで tun0 のアドレスを確認してから Metasploit 上で set LHOST <tun0 IP address> を打って設定する必要がある。

MTU の値を変える

LHOST を設定しても動かない人に向けて。次は MTU の値を変えてみよう。MTU とは 1 回のネットワーク間通信でやり取りできるデータグラムの最大値のことで、ip addr コマンドでも確認できる。

さて、この MTU であるが、なんとプロバイダによってその値が指定されており(1454 とかいろいろ)、これのせいで通信がうまくいかないことがあるらしい。まあ正直よくわかんないけど

そこでこの MTU の値を変更してうまく通信できるようにしようというのが第 2 段階である。sudo ip link set tun0 mtu 1200 で 1200 まで MTU の値を落とすことで動くようになるはずである。ちなみに VPN 接続を切るたびに tun0 の設定はリセットされるので、VPN を張るたびにいちいちコマンドを打ち直す必要がある。面倒だがどうせみんな毎回 sudo openvpn ~/openvpn/hoge.ovpn 打ってるんだからついででいいでしょ

面倒な人は ~/.bashrc とかにエイリアスを書けばいいと思う。自分の場合は TryHackMe 用に以下のようにしてある。

alias thm='sudo openvpn ~/openvpn/Koi7.ovpn'
alias setmtu='sudo ip link set tun0 mtu 1200'

それではよきハッキングライフを。

おまけ: なんで 1200 なの

いろいろ調べていたら TryHackMe の Forum で SSH できない人向けの回答として MTU の値を 1200 にする、というのがあったからである。だから別に 1300 とかでも動くと思う。