2006年3月22日
APOPとかSMTP-AUTHとかSAMBAとかのパスワード暗号化
POPとかSMTP-AUTHとかSAMBAとかのパスワードを暗号化しようと思うと、それぞれのパスワード保存方法(一方向ハッシュ関数)が違うために、それぞれのプロトコル用のパスワードファイルを生成しなければならない。それには生のパスワードが必要になる。自宅鯖程度なら、ユーザーの皆さんに再設定してもらえばよいかもしれないが、ちょっと中規模になると面倒くさくてやってられなくて放置ってことになってしまう。
無理やりパスワードを再発行して、「今後はコレ使え」という方法もアリかもしれないが、スマートではない。
なんとかならんものか。
暗号化する理由は、盗聴に弱いからであり、盗聴しちゃえば生のパスワードが得られるのではないか。そう考えた。
幸いなことに(?)、盗聴ツールは数多く存在する。しかし、さらっと探したらWindows対応の物しか見つからなかった。すなわち別マシンで盗聴するわけで、そのためにはバカHUBを間に入れるとか、ARP Spoofing(ARP Poisoning) するとか、どうにもスマートじゃないような感じのことをしなければならない。サーバ上で、(Linux上で)動くやつの方がいいよなぁ。
だれか作ってねーのかよ。と思いながら、英語もググッて探したのが、krippというツール。
Can sniff and display ICQ, AIM TOC, FTP, HTTP, CVS and POP3 passwords. ということである。perlで書かれたスクリプトで、tcpdumpを呼び出して出てきた結果からパースしてパスワードを取り出すらしい。
#./kripp > password_log.txt &
って感じで起動して2〜3日放置すれば、パスワードがゲットできるだろう。
ただ、なんか作りこみが甘い。krippをkillするとtcpdumpのプロセスが残ってしまう。プロトコル毎に起動するので7個ぐらい残ってしまう。後始末が微妙に面倒。それとリダイレクトがバッファリングされているらしく、バッファ単位から余った最後の数kBytesが保存できない。
まあ、致命的なバグ(仕様?)ではないので、これを使おう。他を探すの面倒だし。
このエントリーのトラックバックURL:
http://weblog.rukihena.com/mt/mt-tb.cgi/383