net-nyan-cat

俺たちがインフラ野郎Aチーム

ALLMN CTF -writeup <ROCK-2>

先日開催されたALLMN CTFのwriteupです。
2625ptで25位(全414チーム)でした。

解いた問題は以下。

Free point
Discord
Funny Website
Robots
Button
Easy Math
What is this?
Question & Answer
Damn!
Find that word
My favorite number
Windows XP
Important files
What is your name?
ROCK
President's panel
Doesn't contain K integer
My Computer
SQL
Admin panel
Saturn.MN
BIT
ROCK-2


ROCK-2

暗号化されたWordファイル(.docx)が与えられます。
今回はdocxファイルからパスワードハッシュを抜き出し、hashcatでrockyouとの突き合わせを行いました。
まず、office2john.pyでパスワードハッシュを抜き出します。
github.com
抜き出したパスワードハッシュは以下のようになりました。
f:id:xrzhev:20190506113036p:plain
次に、hashcatでパスワードハッシュとrockyouとの突き合わせを行います。
hashcat64.exe -m 9600 -o cracked level2-passhash.txt rockyou.txt
GTX1060を1基積んだマシンで約45分程度かかりました。
結果は以下。末尾のコロン以降の551731がWordファイルのパスワードになります。
f:id:xrzhev:20190506113502p:plain
開くと、以下のような画面になります。 f:id:xrzhev:20190506114213p:plain
FLAGが出ていますが、フェイクでした。
フェイクのFLAGの上の行に空白文字とタブ文字が挿入されています。
WhiteSpaceかと思い、インタプリタで実行するものの、エラーが出てしまいました。
f:id:xrzhev:20190506114525p:plain
ここで、一行あたりの空白文字とタブ文字の合計が8byteになっていると気づき、
空白文字とタブ文字にそれぞれ0, 1と置き換え、ACSIIに当てはめました。
f:id:xrzhev:20190506114938p:plain
f:id:xrzhev:20190506115114p:plain
FLAGが出てきましたね!
正解FLAGはALLMN{C00L}となります。