#author("2024-10-09T04:16:01+00:00","default:iseki","iseki") ** John the Ripper Password Cracker [#zf19e0ac] *** Link [#k6d6d0db] - http://www.openwall.com/john/ *** Compile [#p828a9d7] # wget https://www.openwall.com/john/k/john-1.9.0-jumbo-1.tar.xz # xzcat john-1.9.0-jumbo-1.tar.xz |tar xfv - # cd john-1.9.0-jumbo-1 # cd src # ./configure # make **** old john-1.8.0 [#b0685b6e] # wget www.openwall.com/john/j/john-1.8.0.tar.xz # xzcat john-1.8.0.tar.xz |tar xfv - # cd john-1.8.0 # make # make linux-x86-64 *** Exec [#bd2cf77f] **** 混成パスワードファイル [#a3cd87ae] ./john ../../pass ./john ../../pass --format=crypt ./john ../../pass --format=sha256crypt ./john ../../pass --format=sha512crypt **** Simple [#ub9dadf9] # cd ../run # cp /etc/shadow . # ./john shadow or # ./john --format=crypt shadow **** Kali Linux などでインストール済みの場合 [#h1f206da] # gcc crypt.c -o crypt -lcrypt # ./crypt >|pass # cat pass # rm ~/.john/john.pot # john pass --format=crypt **** crypt.c [#u527fba9] #include <stdio.h> #include <crypt.h> void main(void) { char* x; x = crypt("apple", "$5$5rbD1QMx$"); // SHA-256 printf("%s\n", x); x = crypt("green", "$5$5rbD1QMx$"); // SHA-256 printf("%s\n", x); x = crypt("black", "$6$5rbD1QMx$"); // SHA-512 printf("%s\n", x); x = crypt("hsue,dxurrwe86", "$6$5rbD1QMx$"); // SHA-512 printf("%s\n", x); } *** Demo [#w9c6fb65] - デモ等で再解析する場合は ''john.pot'' を消す. - john.pot にはこれまでの結果が入っている.