MITMPROXYで通信をNOZOKU

準備

名前の通りで、中間者攻撃できるproxy。使い方は無限大っすね!

まずはmitmproxyのinstallと基本的な使い方。python3.6以上だとpipでインストールできる。OSはLinux MINT19なので、Ubuntu18の人も大体一緒な筈。

$ sudo pip3 install -U pip
$ sudo pip3 install mitmproxy

起動は”mitmproy”と打つだけ。デフォルトだと127.0.0.1:8080として動くみたい。OS側でプロキシの設定を入れてあげる。

証明書をダウンロードする。mitm.itにアクセスし、対象の証明書をダウンロードする。

証明書の配置が必要です。

$ sudo mkdir /usr/share/ca-certificates/extra
$ sudo vim /etc/ca-certificates.conf  # extra/mitmproxy.crt を一番下に追加する
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out /usr/share/ca-certificates/extra/mitmproxy.crt
$ sudo dpkg-reconfigure ca-certificates

以下のコマンドは必要ないかもしれませんが、切り分けできてないので、載せておきます。

$ sudo cp mitmproxy.crt /etc/ssl/certs/
$ sudo update-ca-certificates

chromeの場合、ブラウザ側にも設定が必要でした。[設定] – [証明書の管理] – [認証局]からインポートが必要です!

無事にhttpsもキャプチャできています!

ただ、ここまではFiddlerとかと変わらないし、なんならFiddlerの方が使い勝手は良い気がします。本当は透過プロキシ設定して、malwareのhttps通信を捉えたかったんだけど、上手く動かず・・残念。