Zuck3r’s Study

エンジニアではありません

Google CTF : Beginners Quest : SECURITY BY OBSCURITY

間違っているところや改善点があったらコメントして欲しい。

環境:VMware,DebianベースのLinuxを使用

解説

今回は"Google CTF : Beginners Quest : SECURITY BY OBSCURITY"を解いていく。1回目の記事と同じようにダウンロード形式。ダウンロードの話などは省く。問題はキーを修復しろみたいな感じかな?()

f:id:Zuck3r:20181219220740p:plain

今回の問題もzipなので、"unzip"で解凍する。えらく長いファイル名のものができた。こいつに"file"を使い確認する。またzip形式なので"unzip"して、"file"を使う。すると、次のファイルもzipだ。十数回程度は同じ作業えおやってみる事にした。ファイルのネームが似ているので1つ1つファイル名を変えて解凍することにした。(問題ファイル名はSec.zipにして、解凍した回数n回に応じて解凍ファイル名を"UUWn"にした※無限の解凍(Unlimited Unzip Worksネタです))
UUW16にてzipではないので解凍できないと返ってきたので、"file"で確認したら、xzになっていました。

 

$ unzip Sec.zip
Archive: Sec.zip
inflating: 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
$ mv 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
UUW1
$ unzip UUW1
Archive: UUW1
inflating: 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
$ mv 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 UUW2
$ unzip UUW2
Archive: UUW2
inflating: 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
省略
$ unzip UUW16
Archive: UUW16
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of UUW16 or
UUW16.zip, and cannot find UUW16.ZIP, period.
$ file UUW16
UUW16: XZ compressed data

嫌な予感はしましたが、このxzファイルも"unxz"解凍しまくらないといけないようでした。zipと違い,、同じコマンドが使えるので楽だった。("ファイル名.xz"にしないと解凍できないっぽいですね。ネームは変更しました。)今度は、"unxz"でエラーらしいので再び"file"で調べる。すると、bzip2ファイルになっていた。

$ mv UUW16 UUW16.xz
$ unxz UUW16.xz
$ mv UUW16 UUW16.xz
$ unxz UUW16.xz
$ mv UUW16 UUW16.xz
$ unxz UUW16.xz
途中省略
$ unxz UUW16.xz
unxz: UUW16.xz: File format not recognized
$ file UUW16.xz
UUW16.xz: bzip2 compressed data, block size = 900k

今度は、"bunzip2"で上と同じことをやります。解凍しようとしてエラーが出たファイルに"file"をするとgzipとのことなので、"gunzip"で解凍。(ここはあまり上と変わらないので説明端折ります)


$ mv UUW16 UUW16.bz2
$ bunzip2 UUW16.bz2
$ mv UUW16 UUW16.bz2
             省略
$ bunzip2 UUW16.bz2
bunzip2: UUW16.bz2 is not a bzip2 file.
$ mv UUW16.bz2 UUW16
$ file UUW16
UUW16: gzip compressed data, last modified: Thu Jun 14 11:53:22 2018, from Unix, original size 470
   #ここからはgunzip
$ mv UUW16 UUW16.gz
$ gunzip UUW16.gz
$ mv UUW16 UUW16.gz
$ gunzip UUW16.gz
             省略
$ gunzip UUW16.gz
gzip: UUW16.gz: encrypted file -- use unzip
$ mv UUW16.gz UUW16.zip

最後の赤の文字にしたところで"unzip"を使い解凍とのことなのでファイル名を.zipに変え、解凍しようと思ったがよく見たらencrypted fileとありパスワードがかかっている。これは、"APR121"というrarやzipのパスワード破りを使ってで突破することにした。仮想マシンからホストのWinの方にファイルを移動させて解読。設定は数字と英語の小文字、大文字で生成する1~6桁のコードで総当たりをかけることにした。10秒弱で終了した。asdfだった。パスポートを入れて解凍すると、passwordというテキストファイルが現れそこにCTF{・・・・}形式の答えがあった。これが今回のフラッグだ。

終わりに

今回はやけに解凍しまくった。zip➡xz➡bzip2➡gzip➡zip(パスワード付き)
結構な手順がかかってしまった。本来なら、シェルスクリプト等を使ってもっと効率化出来たと思うのだが自分は、まだそれについて学習していないので力で押し切った。

参考にした動画(Google CTF: Beginner Quest: SECURITY BY OBSCURITY (ZIP Archive Compression) - YouTube)

個人的に気になったら調べておくといいかもなワード

  • security by obsecurity