タイトルそのまんまなんだが...
想定する環境
- homebrewが使えるMac
John the Ripper導入
brew install john
もし、opensslが入っていなかったら入れておく
brew install openssl
ssh-privkey-crack.cを拾ってきてコンパイル
curl -O https://raw.githubusercontent.com/Boran/lusas/master/ssh-key-crack/ssh-privkey-crack.c cc -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -o ssh-privkey-crack ssh-privkey-crack.c -lssl -lcrypto chmod +x ssh-privkey-crack
いざ解析
john --stdout --incremental | ./ssh-privkey-crack .ssh/{target_key}
まぁ、これはインクリメンタルに探していくわけで、凝ったパスワードの場合やはり時間がかかる。
私の場合は、いくつか候補があって、どれかわからんかったので、候補ファイルを別途つくってそれを食わせてなんとかしました。
wordlist.txtにずらずら候補を並べただけ。
john --stdout --wordlist=./wordlist.txt |./ssh-privkey-crack .ssh/{target_key}
マッチするとこんなんが出る
------------------------------------------------------------------------ -- - Passphrase match: <xxx>. Found password after 0 seconds and 0 tries. -------------------------------------------------------------------------- -- -
愚か者の戦いはこれで終わり