POPパスワードをサルベージ
Thunderbird を使ってみようとしたのはいいんだけど、肝心の POP アカウントのパスワードが分からなくなってしまった。 以前から使っている Becky! ではパスワードを記憶させていたので、普段はメールのパスワードを意識していなかった。
どうしようもないので、パスワードが平文で流れているのをいいことに、パケットをキャプチャしてパスワードをサルベージすることにした。 必要となるのは、キャプチャ用のツールである WinDump と、 WinDump が内部で使用する WinPcap の2つ。 まずは、WinPcap 3.1 beta 3 downloadのページから、WinPcap auto-installer を入手してインストールする。 次に、WinDump 3.8.3 beta downloadにて、WinDump.exe を入手する。 こっちはインストーラがついていないので、自分でWindowsのフォルダ(c:\windows)へコピーする。
コマンドプロンプトを立ち上げ、まずは windump をオプション無しで実行するも、何も反応が無い。
>windump windump: listening on \Device\NPF_GenericNdisWanAdapter 0 packets captured 0 packets received by filter 0 packets dropped by kernel
おそらく NIC の指定が誤っていると思い、 -D オプションをつけて実行。
>windump -D 1.\Device\NPF_GenericNdisWanAdapter (Generic NdisWan adapter) 2.\Device\NPF_{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} (Realtek8139-series PCI NIC (Microsoft's Packet Scheduler) )
なるほど。2番目のNICを指定すればいいのか。
で、パスワードをサルベージするために、POPが使う110番ポートへのパケットをキャプチャするようにして windump を起動。
>windump -i 2 -X tcp dst port 110
この状態で、Becky! にてメールを受信すると、見事に画面上にメールのパスワードが表示された。
…っていうか、いまどきパスワードを暗号化しないのもどうなんだろう。