strong_password

ファイルTopSecret.zipと、情報セキュリティガイドライン(別紙1).pdfが与えられた。
zipファイルはパスワードで保護されており、pdfファイルよりパスワードは以下の要素を順に結合したものであることが予想できた。

Files TopSecret.zip and 情報セキュリティガイドライン(別紙1).pdf were given.
The ZIP file was protected by a password. Reading the PDF file, the password should be these elements concatenated in this order:

I decided to use hashcat to crack the password referring this page:

GPUでZIPパスワードを解析する - Qiita

を参考に、hashcatを用いてパスワードを解析することにした。

まず、John the Ripperに含まれるzip2johnを用いて、zipファイルからハッシュ値を求めた。
以下が求まったハッシュ値である。

Firstly, I used zip2john in John the Ripper to obtain the hash value from the ZIP file.
This is the hash value:

hash.txt

次に、以下のコマンドを用い、hashcatでパスワードの解析を行った。
hashcat.exeがあるディレクトリをカレントディレクトリとした状態で解析を行わないと、実行に失敗した。
-a 3 は Attack Mode の指定、-w 4 は Performance の指定、-m 17210 は解析を行うハッシュ値の種類の指定である。
後半ではパスワードの各部分に使われる文字を指定している。日付はとりあえず2000年~2099年の間だと仮定して解析を行った。

Then, I used this command to crack the password via hashcat.
The execution failed without using the directory in which hashcat.exe is as the working directory.
-a 3 specifies the Attack Mode. -w 4 specifies the Performance. -m 17210 specifies the kind of the hash value to crack.
The latter part of the command specifies the characters used in each parts of the password. This specification is based on an assumption that the date is within the year 2000 to 2099.

hashcat -a 3 -w 4 -m 17210 D:\...\hash.txt -1 ?u?l -2 "@#$%!-" -3 01 -4 0123 ?1?1?1?220?d?d?3?d?4?d?2

結果、数秒でパスワードは qYL%20210228! だとわかった。

このパスワードを用いて TopSecret.zip を展開すると、TopSecret.txt にflagが書かれていた。

As a result, it revealed the password in a few seconds. The password was qYL%20210228!.

I unzipped the file TopSecret.zip using this password. I found the flag written in TopSecret.txt.

flag{And_n0w_h3re_is_my_s3cre7}

setodaNote CTF