以前と同じ方法でパスワードを復元することができない!
思うところがあり、FFFTPから別ソフトに乗り換え作業をしていました。
ほとんどのサイトはkeePassで管理していたので、スムースにいきましたが、ある問題が…。
「あるサーバのパスワードが分からない…」
新しいFFFTPでもパスワードを複合できる方法を探す
まず「以前の投稿」で解説した方法でパスワードの復号化をしました。設定をiniファイルに書き出し、変換。…しかし、謎の文字化け。
どうやら新しいバージョンのFFFTPではマスターパスワードの導入により、パスワードの管理方法が刷新されたようです。通常のFFFTPの暗号化と、マスターパスワードによる暗号で二重になっているようです。
なんとか新しいFFFTPのパスワードを復号化できないか検索したところ、「イントフロート スタッフブログ」にて「FFFTPのパスワード解読(マスターパスワード対応版 AES)」という的を射た記事を見つけました。
私の環境では「サクッと実行!」という訳にはいかず、コードを利用するにあたり、いくつか下準備が必要だったので、メモを兼ねて導入方法を解説します。
Parlをコマンドプロンプトに導入する方法
Windowsで上記のコードを実行するにはコマンドプロンプトでParlを実行する必要があります。
そこで必要になるのが以下の2つの作業です
- 1.プロンプトでPerlを使えるようにするためにActivePerlの導入
- 2.「CBC」と「Rijndael」モジュールのインストール
コマンド等に不慣れな方には敷居が高いかもしれませんが、一つ一つの作業は至って簡単です。上から順番に設定していってください。
プロンプトでPerlを使えるようにするためにActivePerlの導入
Perlをコマンドプロンプトで実行するには、「ActivePerl」を利用するのがお手軽です。
ActivePerlのダウンロードとインストール
「ActivePerlの公式ダウンロードページ」で環境に合わせたバージョンをダウンロードしてください。
私の場合はwindowsの32bitなので、「Windows (x86)」をダウンロードしました。
ダウンロードしたインストーラーを使ってインストールします。
途中でインストールするディレクトリを聞いてくるのでデフォルトの「C:\Parl」のままインストールします。
また途中で「Add parl to the PATH…」というチェックボックスがありますが、これもデフォルトのチェックが入った状態で次へ進んでください。
これは、どこからでもparlが使えるようにする項目です。もう一つのチェックボックスは「.pl」ファイルとActivePerlを関連付ける項目です。
これでActivePerlの導入は完了です。
ActivePerlの動作確認
「スタート > ファイル名を指定して実行」で「cmd」と入力。コマンドプロンプトを立ち上げます。
以下のコマンドを入力してPerlのバージョンをチェックします。
> perl -v
以下の表示が出力されれば、ActivePerlが正しくインストールされています。
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-t hread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2012, Larry Wall Binary build 1603 [296746] provided by ActiveState http://www.ActiveState.com Built Mar 13 2013 11:29:21 Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
「CBC」と「Rijndael」モジュールのインストール
今回実行するコードで使う「CBC」と「Rijndael」というモジュールは、デフォルトでインストールされていないため、追加する必要があります。
ActivePerlではモジュールをダウンロード・インストールしてくれる便利なコマンドが用意されています。
以下のコマンドを入力して「Perl Package Manager」を起動します。
> ppm
起動したらまず、メニューにある「View」から「All Packages」を選択。
検索用の窓にインストールしたいモジュールを入力します。今回の例では「CBC」。すると項目が表示されるので目的のモジュールを選択します。
項目を右クリックすると「Install …」と表示されるのでクリック。
するとインストールをクリックした項目に緑色の印が付いているのがわかると思います。その状態で「右矢印のマーク(Run maked actions)」をクリックします。
するとインストールしてよいか尋ねるアラートが表示されるので「OK」をクリック。
インストールが完了すると、灰色だったアイコンがベージュになります。これでインストールできました。
同じ手順で、今度は「Rijndael」もインストールしてください。
必要なモジュールのインストールが終わったら、メニューから「file > exit」でPerl Package Managerを終了させます。
昔はCPANでモジュールを検索して、手動で導入していましたが、便利になりました。
もちろん今でもCPANを使ってインストールすることもできます。
コマンドプロンプトでPerlを実行
それでは「FFFTPのパスワード解読」のページの中程にあるコードをテキストエディタ等にコピー・ペーストしてCドライブ直下の「C:\」に保存します。(もちろん他の場所でも構いませんが、その場合は適宜解説のパスを読み替えてください)
ファイル名は解説に合わせて「decode_ffftp_password.pl」とします。
コマンドプロンプトでディレクトリを移動
> cd C:¥
ファイル名を入力
> decode_ffftp_password.pl
するとFFFTPのパスワードを聞かれるので、iniファイルに記載されたパスワードを入力
FFFTP Password : 0Ca896fcc883f6ec724ab2ef2f7fccd9a4:e13ebcfd1d726f3587d5b79d54dbe53aba601b29f8785902169c90a3f5166040
パスワードの場所は「HostAdrs=example.com」というホスト名で判断すると解りやすいと思います。そのすぐ下にある「Password=」の後に続く文字の羅列が暗号化されたパスワードです。詳しくは「以前の投稿」を参照してください。
今回は「イントフロート スタッフブログ」で提示されているサンプルをそのまま使わせていただきます。
FFFTPを起動するときに入力するマスターパスワード求められるので入力
Master Password : foobar
上記のサイトで解説されているように、特にマスターパスワードを設定していない場合は「DefaultPassword」と入力してください。(この状態での運用は非常に危険なので適切なマスターパスワードを設定することをお勧めします)
すると以下のパスワードが復号化されるはずです。
testpassword
以上でマスターパスワードを導入したFFFTPのパスワードを忘れた場合でも、パスワードを復号化することができるようになりました。
有益な情報を掲載されている「イントフロート スタッフブログ」さんにはこの場を借りてお礼をさせていただきます。
FFFTP Ver1.98f を使用中です。
接続用パスワードが分らなくなり、大変困っておりました。
このページを見つけ、早速実行していたのですが・・・
「CBC」と「Rijndael」モジュールのインストール
までは順調に進みました。
が、cd C:\
c:\>decode_ffftp_password.pl
と入れましたが、
’decode_ffftp_password.pl’は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
とでて実行できません。
使用環境:windows7 64Bit
上記、PC再起動を実施したら動きました。
お騒がせしました。
違う環境でのテストはしていないので、
無事に実行できたようで良かったです。
とてもわかりやすく解説してあり助かりました!
ありがとうございました!
コメントありがとうございます。
お役に立てたようで何よりです。
すごく困っていたことが解決できました!ありがとうございました!
お役に立てたようで何よりです。
パスワードの復旧のため恥ずかしながらFFFTPから逆引きを思いつきました
先に「FFFTPのパスワード解読(マスターパスワード対応版 AES)」に
たどり着きPeal環境はLinuxも今はないし、、、と思いwindows perlで
検索してActivePerlをインストールしました
ソースプログラムを読み込ませると何やらモジュールの場所が示され
そこから持ってきてというような英文表示で困り果てこのページに泳ぎ
着きました。大変ご丁寧な説明で直ぐに失念していたパスワードに再会が
出来ました。ありがとうございました。
長い漂流の旅の果てに当サイトに辿り着いたようで、お疲れ様ですw
お役になてたようで何よりです。
FFFTPのパスワードを解析する方法を求めて、こちらのHPにたどりつきました。
ところがFFFTPのパスワード解読ページ
http://maruta.be/intfloat_staff/148
リンク先がなくなってしまったようです。
こちらのHPでソースコードを公開(またはdecode_ffftp_password.plをダウンロード)していただけないでしょうか?
著作権はリンク先のブロクにあるので当サイトの一存でソースコードを公開することはできません。ご了承ください。