ユーザのパスワード情報をみてみた
前回の続き~
takatentandav1a.hatenablog.com
気になったので、いったんログイン確認してみた。
出来た。(やったー♪)
etc配下のshadowというファイルに、
先ほど設定したパスワード情報があるらしい。
探してみよう。
(よい子はマネしないでね。)
このファイルは一般ユーザではいじることはできないので、
rootユーザに変更するとみられるようですな。
コマンドで見てみよう。
root@takashi:~# cat /etc/shadow |grep yakiimo yakiimo:$6$McKqLPh3oYtI2Ra6$2BBXFVfWNYwRk3hsMRE9Vo0AvSYy8Lo46ktbxh9s8G2TCwr.smJtyQ9Q768g89M.8F9UcOX.nYxjcmoc5n8Cl/:19343:0:99999:7:::
この返り値が、どうやら[yakiimo]という文字列を暗号化したものとなるらしい。
ほほぅ、、、
そして下記の記事に辿り着く。
pythonのcryptモジュールで同様にパスワードを暗号化してみます。SHA-512の暗号化の際にはsalt文字列を渡します。
/etc/shadowの暗号化されたパスワードを確認 - 人間だったら考えて
上記のページでパスワードの暗号化に関しては詳しく載っています。
なるほど、pythonとperlを用いてハッシュ生成結果を実際に見ることができる。
そんで、パスワードに味付けしてハッシュ生成しているのね
(saltのことです。)
python...UbuntuにUbuntuにデフォルトで入っている!!!
試しにやってみよう。(python口寄せしましt)
てなわけで、今回のゴールはこれ。
$6$McKqLPh3oYtI2Ra6$2BBXFVfWNYwRk3hsMRE9Vo0AvSYy8Lo46ktbxh9s8G2TCwr.smJtyQ9Q768g89M.8F9UcOX.nYxjcmoc5n8Cl/
こいつが、本当かどうか、試してみた。
下記、実施結果。
コマンドで見てみよう。下記、コマンド実施結果ログ。
a
[takashi@16:57:45 ~]$ sudo cat /etc/shadow | grep yakiimo yakiimo:$6$McKqLPh3oYtI2Ra6$2BBXFVfWNYwRk3hsMRE9Vo0AvSYy8Lo46ktbxh9s8G2TCwr.smJtyQ9Q768g89M.8F9UcOX.nYxjcmoc5n8Cl/:19343:0:99999:7::: [takashi@16:57:49 ~]$
[takashi@16:57:53 ~]$ python3 Python 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import crypt; print(crypt.crypt("yakiimo", salt="$6$McKqLPh3oYtI2Ra6$")) $6$McKqLPh3oYtI2Ra6$2BBXFVfWNYwRk3hsMRE9Vo0AvSYy8Lo46ktbxh9s8G2TCwr.smJtyQ9Q768g89M.8F9UcOX.nYxjcmoc5n8Cl/ >>> exit
どうやら一緒のようです。成功ですね!
というわけで、本日は何かバタバタして雑ですが、
ここまでですな。
テキストにはない当たり前の知識なのかもしれないけど、
実際に検証出来てよかった。
以上。