user99
の部分は
http//ksnctf.sweetduet.info/q/14/dicti0nary_8Th64ikELWEsZFrf.txt
とするとなぜか文字列がたくさん!!
なんだこれは??
FLAG
で検索するもノーヒット。
これが何の役にたつのか最初はさっぱりわからなかった。
解答を得る方法として、以下を思いつく。
/etc/shadow内の内容を復号する方法と同じ方法で問題文の情報を復号してみる。
復号方法を調べると、[John the ripper]なるソフトがあることが判明。
これはまさしく問題文のjohnと
手元にvirtualbox上にkali linuxがあるので、John the ripperがあるかみたら、あった!!
ラッキー
つづいて解いてみる。
John the ripperの使い方は
以下のページを参考
パスワードクラックツール JOHN THE RIPPER 使い方まとめ
解析手法としてwordlistなるオプションがある
なるほど、
wordlistに設定するファイル名を
http//ksnctf.sweetduet.info/q/14/dicti0nary_8Th64ikELWEsZFrf.txt
にある情報を指定すればよいのか!!
ただし、最初は以下のエラーが発生。
#unshadow john14 > un_john14
#john --wordlist=***/dict14 un_john14
Using default input encoding: UTF-8
No password hashes loaded (see FAQ)
john14の内容は
問題文の内容をコピペ
vi john
で作成
dict14の内容は
http//ksnctf.sweetduet.info/q/14/dicti0nary_8Th64ikELWEsZFrf.tx
vi dict14
で作成
何が悪いのか。
エラーについてググるもよくわからず。
上記リンクで指定されたファイル(/etc/passwd,/etc/shadow,/usr/share/dict/words)で同じことをやると正常実行できる。
そこでunshadowコマンドの実施をせずに、問題内容をviではりつけたファイルそのものを
unshadowせずに、実行するとみごと各ユーザーに対するPWを得られた。
#john --listword=***/14dict john14
~~~
~~~
floating (user13)
HELD (user10)
ADDITIONAL (user02)
ultimate (user08)
opinion (user15)
karaoke (user17)
zero (user19)
QUESTION (user16)
SPIRITS (user06)
DELIGHT (user20)
__________ (user04)
GENDER (user03)
FREQUENT (user00)
JENNY (user09)
SUFFERS (user11)
strange (user18)
zecht (user14)
independent (user07)
applies (user05)
LATTER (user01)
LEAVE (user12)
~~~
~~~
ただし、この後がよくわからなかった。
ただ、もう一度みるとFとかLとかAがある!!
そこでuser00から並べ替えると、F -> L ->A ->Gとなっている。
つまり、FLAGは、user00から昇順で並べ替えた時各PWの1文字目がFLAGとなっていると予想。
みごと正解した。
やっと自力で解けた!!
とってもうれしい。
0 件のコメント:
コメントを投稿