半年ぶりの TryHackMe で Advent of Cyber 2023 に挑む 4日目【Advent of Cyber: Day 4】

4日目。

[Day 4] Baby, it's CeWLd outside

今回も3日目と同じく総当たり攻撃についての問題。今回はパスワードだけではなくユーザ名も求められる。

流れとしては以下の通りとなる。

  1. CeWL で username のリスト、password のリストを作成する
  2. 作成したリストを用いて wfuzz で総当たり攻撃を行う

VM を立ち上げて IP アドレスにアクセスしてみると(VPN お忘れなく)トップページを見ることができる。

右上の Employee Portal をクリックするとログインページが現れる。

誤ったユーザ名 or パスワードを入力すると正しいものを入力するよう求められる。今回はその正しいユーザ名 and パスワードを総当たり攻撃で見つけ出す。

What is the correct username and password combination? Format username:password

世の中には様々なワードリストがあるが、今回はそういったワードリストは使わず、CeWL を用いてゼロからワードリストを作成する。CeWL を使うとウェブページの内容に合った、いい感じのワードリストを作成できるのだそうだ。

解説の通りにコマンドを打ってワードリストを作成する。--with-numbers オプションで数字付きの単語も候補として挙げることができる(らしい)。また、--lowercase を使うと候補をすべて小文字にしてワードリストが作成される。

ワードリストができたので、wfuzz で総当たり攻撃を行っていく。--hs オプションは文字列を指定することでハズレページを特定できるようになっている(3 日目の問題にもあったやつ)。また、wc コマンドで調べたところ、手元の環境ではユーザ名の候補が 37個、パスワードの候補が 253 個あったので 37 * 253 = 9361 となり、これは実行中に表示される Total requests の値と一致する。ちなみに解説にはなかったが -c オプションはカラー表示だそうだ。

実行が終わって表を見ると、Payload のところに正解のユーザ名とパスワードの組が出力されているのがわかる。

What is the flag?

先の問題で得られたユーザ名とパスワードを入力するとログインができ、ウェブメールを見ることができる。Subject が Confidential Message となっているメッセージを見てみるとフラグが得られる。

感想

wfuzz は聞き覚えがあるが、CeWL については今回初めて使用した。ウェブページの内容にあったワードリストを作ってくれるのなら、それを利用して例えば一つのえちえちなサイトから芋づる式にえちな言葉を拾ってこられるのではないかと思ったりした(深夜テンション)。