田舎院生のセキュログ

自分用のメモとかWrite-up

#14 John

問題

ksnctf.sweetduet.info
文字列が列挙されているだけ。

解法

とりあえずこの文字列を眺めてると、最後の行にこんな文章が。

user99:$6$SHA512IsStrong$DictionaryIsHere.http//ksnctf.sweetduet.info/q/14/dicti0nary_8Th64ikELWEsZFrf.txt:15491:0:99999:7:::

ハッシュ関数である「SHA512」が関係することが分かる。また、その後の文章の通り、記述されているURLではテキスト形式の辞書を入手できる。
これ以上分からないので、とりあえず「SHA512」や「John」についてググる
その結果、SHA512でソルト付きパスワードを生成すると、先頭文字列が「$6$」になるらしい。そして、「John the Ripper」という有名なパスワードクラックツールがあるらしい。
以上のことから、問題の文字列は21人分のパスワードを「SHA512」でハッシュ化したもので、それを「John the Ripper」を使ってクラックすればいいと推測できる。

Kali LinuxにはデフォルトでJohnが入っているみたいなので、Kaliで解析していく。また、解析する際には先程入手した辞書を利用する。
コマンドはこんな感じ。

# john --wordlist==[辞書のファイル名] [解析するパスワードファイル名]

すると1つずつ解析結果が表示されていき、1分くらいで解析が終わる。
f:id:swime:20171030174954j:plain

そして解析結果を見てみる。

# john --show [解析したパスワードファイル名]

f:id:swime:20171030175121j:plain

解析したパスワードの先頭文字を順番に並べると…

FLAG_aSiuJHSLfzoQkszD

フラグをゲット!!

ちなみにこの問題は、シャドウファイルと呼ばれる、パスワードを暗号化して保存したファイルを想定していると思われる。Linuxの/etc/shadowに保存されているらしい。
例えハッシュ化されていても、パスワード自体が弱かったら簡単に突破されることが分かったな(´-`).。oO