とあるサーバに入れなくなってしまいました。
バックアップから/etc/shaddowは復元できたのですが
パスワードを確認する方法ってありますか
sha512で暗号化されてるみたいです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
sha512は不可逆なハッシュアルゴリズムなので、できません。
投稿2016/10/14 05:25
総合スコア6586
0
ベストアンサー
「パスワードを確認する方法」というのが、/etc/shadow
ファイルを元にパスワードを総当たりで
試していく、という意味なら、実用的な時間内には無理です。
ネットワークを使った分散コンピューティングを使用しても数年から十数年以上かかるでしょう。
ですので、パスワードがまったくわからないのであれば、ynakanoさんがおっしゃるようにCDブート
なり再起動時にシングルユーザーモードにするなりして/etc/shadow
ファイルを編集してしまうしか
方法はないかと思います。
「パスワードを確認する方法」というのが、記憶に残っているいくつかのパスワードのうちどれな
のかを確認する(ただし実機に対してログイン試行する以外で)ということであれば、perlのcrypt()
関数なんかで検証できなくもないです。
perl -e 'print crypt("テストしたいパスワード","/etc/shadowにあるパスワードフィールドの最初の$から3番目の$の手前まで");'
具体的に。
あるユーザーのパスワードフィールドが
$6$C7KMcf9H$QX4WBXW3dTfJe7M(長すぎるので省略)
だったとしたら、
perl -e 'print crypt("tako","\$6\$C7KMcf9H");'
(perlでは$はスカラー変数を表す記号なのでそのままではダメで、''でエスケープしてやる必要があります)
などとすれば、
$6$C7KMcf9H$tkpq4e8CjJAyYJ4(長すぎるので省略)
のような出力が得られるので、これを元のパスワードフィールドと合致しているかどうか調べることで
パスワードが合っているかどうか検査することはできます。
あくまでもいくつか候補があるなら、です。
0からパスワードアタックするのには不向きです。
というか実用的な手段を編み出せるほどSHA512は甘くないです。
投稿2016/10/14 07:52
総合スコア356
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。