進行中の何か

主にIT系の調べたこと。やったことをまとめます。

Google CTF 2018 Beginners Quest writeup 01

6/23-24の期間で開催されていたGoogle CTF 2018!
当日は忙しくて登録しかできなかったので後からですがBeginners Questにチャレンジしました。

サイトは以下から
https://capturetheflag.withgoogle.com/

LETTER [MISC]

与えられたZIPファイルの中身はPDFファイルで
黒塗りされている文字をドラッグするだけで読めました。

Flagは​CTF{ICanReadDis}

OCR is cool [MISC]

OCR_is_cool.pngが与えられる。

内容からするとシーザー暗号っぽい。 フラグはCTF{flag}の形なので本文からそれっぽいところを見つけて
手打ちすればいいんだけどせっかくなのでOCRを試してみる!

Google DriveOCRできるらしいのでまずは画像をアップロード。
アップロードした画像を右クリックし、アプリで開く > Googleドキュメントを選択。

するとテキストでメール本文が表示されました。

あとはシーザー暗号を解読するだけ!7文字ずらすとフラグがでてきました。
が、入力しても答えが違うとでてきてしまい、 よくみてみるとOCRが完璧にできていない。。。(lがiで判定されてた)
なので結局手打ちで文字を打ち込みフラグゲット。
FlagはCTF{caesarcipherisasubstitutioncipher}

SECURITY BY OBSCURITY

password.x.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.pというめんどくさそうなファイルが与えられる。

fileで調べるとzipファイルと分かったので展開するとまたファイルが。
マトリョーシカパターンなのでひとまず全部zipと仮定して無理やり展開

# while true; do unzip `ls | head -n 1`; done;

するとpassword.x.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.aでzipから変更される。

# file password.x.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a
password.x.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a: XZ compressed data

なので今度もしばらく同じファイル形式が続くと予想して無理やり展開

# while true; do 7z x `ls | head -n 1`; done

password.xというzipファイルまで展開できたけど次はパスワードがかかっている。

なのでBrute Forceで突破すべくfcrackzipを使用。 デフォルトだと6文字から調べるけどそこまで多くないだろうと勝手に予想して1から試す。

# fcrackzip -l1 -u  password.x
# fcrackzip -l2 -u  password.x
# fcrackzip -l3 -u  password.x
# fcrackzip -l4 -u  password.x


PASSWORD FOUND!!!!: pw == asdf

あとは展開されたテキストファイルを読んで終了!
FlagはCTF{CompressionIsNotEncryption}