= 情報実験機 3n+1, 3n+2 パスワードクラックテスト手順書 * 2012/04/24 高橋 康人 新規作成 * 2014/05/18 村橋 究理基 更新 * 2015/04/26 渡辺 健介 更新 * 2016/05/10 渡辺 健介 更新 * 2016/05/17 村橋 究理基 更新 * 2017/04/30 渡辺 健介 更新 * 2018/05/11 村橋 究理基 更新 * 2019/05/13 吉田 哲治 更新 == 注意点 * 実行にあたっては各計算機管理者の同意を得ること. * 本マニュアルは 64 bit のみで動作確認. * single mode と wordlist mode は同時にできないため,別々に行う必要がある. == 作業ディレクトリの作成 * $ mkdir /home/hoge/crackwork * $ cd /home/hoge/crackwork == john the ripper の取得 * # apt install john ========================== == ユーザ情報を持ちいたパスワードクラック(single mode) * $ mkdir /home/hoge/crackwork/single * $ cd /home/hoge/crackwork/single * $ sudo -s * # unshadow /etc/passwd /etc/shadow > ./shadowfile === 実行 (特別に理由がなければマルチコア実行でよいと思う) ==== シングルコア実行 * # nohup john --single ./shadowfile & ==== マルチコア実行 * # nohup john --fork=4 --single ./shadowfile & ==== 実行時間の検証 * 2016/05/10(8 users) * single core : 0:00:03:02 * multi core(4) : 0:00:00:48 == 実行状況の確認 * $ john --status === 実行結果の確認 * # lv nohup.out (シングルコアの場合) Press 'q' or Ctrl-C to abort, almost any other key for status : Session completed Loaded 7 password hashes with 7 different salts (crypt, generic crypt(3) [?/64]) * # lv nohup.out (マルチコアの場合) Node numbers 1-4 of 4 (fork) Loaded 6 password hashes with 6 different salts (crypt, generic crypt(3) [?/64]) Press 'q' or Ctrl-C to abort, almost any other key for status : Session completed などと出れば解析は終了している. もしパスワードが判明すれば, アカウント名と一緒に記載される. ========================== == 辞書ファイルを用いたパスワードクラック(wordlist mode) * $ mkdir /home/hoge/crackwork/dic * $ cd /home/hoge/crackwork/dic/ === 圧縮された辞書ファイル (dic2010.bz2) の取得 * $ wget http://www.ep.sci.hokudai.ac.jp/~inex/y2019/urakata/passwd_crack/dic2010.bz2 ==== もしくは * $ scp hoge@www:~inex/public_html/y2019/urakata/passwd_crack/dic2010.bz2 /home/hoge/crackwork/dic/ === 辞書ファイルの展開 * $ bzip2 -dc dic2010.bz2 > dictionaryfile === unshadow化 * $ sudo -s * # unshadow /etc/passwd /etc/shadow > ./shadowfile === 実行 ==== シングルコア実行 * # nohup john --wordlist=/home/hoge/crackwork/dic/dictionaryfile ./shadowfile & * すごく時間がかかるので 1-2 晩くらい放置? * 数アカウント程度なら 1 晩もかからない * nohup はバックグラウンドで作業する用のコマンド. よって, まわしたまま logout もできる. 結果は nohup.out に記録される ==== マルチコア実行 * # nohup john --fork=4 --wordlist=/home/hoge/crackwork/dic/dictionaryfile ./shadowfile & * 情報実験機の現在のCPU は4 core なので,全てのコアでやる場合は"--fork=4" を指定,実行するコア数を減らす場合は, 4 のところを,1,2,3 のどれかに変更する * 数アカウント程度なら 数時間 * nohup はバックグラウンドで作業する用のコマンド. よって, まわしたまま logout もできる. 結果は nohup.out に記録される ==== 実行時間の検証 * 2016/05/10(6 users) * single core : 0:08:00:00 - 0:09:00:00 * multi core(4) : 0:02:17:40 == 実行状況の確認 * $ john --status === 実行結果の確認 * # lv nohup.out (シングルコアの場合) Press 'q' or Ctrl-C to abort, almost any other key for status : Session completed Loaded 7 password hashes with 7 different salts (crypt, generic crypt(3) [?/64]) * # lv nohup.out (マルチコアの場合) Node numbers 1-4 of 4 (fork) Loaded 6 password hashes with 6 different salts (crypt, generic crypt(3) [?/64]) Press 'q' or Ctrl-C to abort, almost any other key for status : Session completed などと出れば解析は終了している. もしパスワードが判明すれば, アカウント名と一緒に記載される. == 作業ディレクトリの削除 * rm -r /home/hoge/crackwork