Rooters CTF 2019 Writeup
Contents
(2019/10/20 - 復習しました)
URL: https://rootersctf.in/
picoCTF 2019の直後でほとんど時間がなかったですが、ちょっとだけやりました。
後日、復習もやりました(偉い)。
[Forensics]: You Can’t See Me
Challenge
See for yourself
Attachments:
- youcantseeme.pdf
Solution
100 ページくらい真っ白が続くPDFが与えられます。
やったこと:
- pdf-parser.py
- pdfid.py
- Adobe Reader(特定のページになんかしらテキストっぽいのがあるのがわかるんですが、フォントの色の変え方がわかんなかったです。)
- Libre Office (少しずつフォントの色は変えられたんですが、全ページまとめてやる方法がわかんなかったです。)
- PDFStreamDumper (しばらく使わないうちに、起動がうまくいかなくなってた。。。)
以下でフラグをゲットしました。
- pdftotext -f 16 youcantseeme.pdf text.txt
(16を指定したのは、最初に見つけたテキストが16ページだったからです。)
Flag: rooters{Ja1_US1CT}ctf
[Forensics]: Find The Pass
Challenge
Find the admin Password. Put the flag in rooters{}ctf
Attachments:
- inc0gnito.cap (inc0gnito.pcapにリネームしました)
Solution
# aircrack-ng inc0gnito.pcap Aircrack-ng 1.5.2 [00:00:01] Tested 50922 keys (got 20006 IVs) KB depth byte(vote) 0 0/ 1 FF(32256) CE(25856) 0F(25600) 07(24832) 59(24832) 73(24576) 7B(24320) CC(24320) F5(24320) 1 41/ 54 00(22272) 11(22016) 1E(22016) 25(22016) 33(22016) 3F(22016) 52(22016) 64(22016) 88(22016) 2 11/ 19 AD(23808) EB(23808) F4(23808) 06(23808) 5F(23552) 8A(23552) 98(23552) 29(23552) 58(23296) 3 2/ 5 BE(26112) 58(25600) A7(25600) EA(25088) BF(24320) 5C(24064) 70(24064) B9(24064) BE(24064) 4 0/ 10 EF(28928) 8F(27392) 30(27392) BF(26112) AD(25856) 6A(25856) 04(25344) 19(25344) C5(24832) KEY FOUND! [ FF:DE:AD:BE:EF ] Decrypted correctly: 100%
Wireshark > Protocols > IEEE 802.11 > Decryption KeysでWEP Keyを設定して復号します。
文字列 “admin” をサーチしたら、Basic Authの箇所 (Frame #2209057) がありました。
Credentials: admin:blu3_c0rp_p4ss
Flag: rooters{blu3_c0rp_p4ss}ctf
[Forensics]: Luna - 3
Challenge
Luna - 3 is sending some images of the far side of the moon we need to show the world the unseen part of the moon help us retrieve the images.
Attachments:
- recv_13.10.1959.wav
Solution
picoCTF 2019で出てきたm00nwalkと同じ問題です。
RX-SSTV というツールを使いました。
http://users.belgacom.net/hamradio/rxsstv.htm
なんて書いてあるのか、よく見えないけどね。。。
Flag: rooters{Looq_L1x3_Lun4-3}ctf
(予想)
ここから下はCTF終了後に行った復習です。(他の方のWriteupとか参照してます。)
[Forensics]: Frames per Story
Challenge
Finally, Toby is out of the frames. I hope he never returns again.
Attachments:
- 結構な数のjpegファイル
Solution
exiftoolをかけると、Comment欄に少しずつ文字が入っているのがわかるので、全ファイルに対してexiftoolをかけて、がっちゃんこします。
$ exiftool * | grep Comment | cut -d: -f2 | tr -d "\n" ; echo MICHAEL right Jim, your quarterlies look very good. How the thing is going at the library?JIM Oh I told you couldn't close it soMICHAEL So you've come to the master for guidance? (imitating) Is http ny.cc/rosvdz this what you're saying grass hopper?JIM Actually you called me in here, but ye ah.MICHAEL All right, well let me show you how it's done. h ttp c/rosvdz (gets on phone) Yes, I liked to speak to your office manager please. Yes hello this is Michael Scott, I am the regional manager of Dunder Mifflin paper products. Just wanted to talk to you, manager-on- manager. (cut to the office and cut back) All right done deal, thank you very much sir, you're a gentleman and a scholar. Oh I'm sorry, ok, I'm sorry, my mistake. (hangs up) That was a woman I was talking to she had a very low voice. Probably a smoker. So, so that's the way it's done. Michael the camera) I've been in Dundler Mifflin for twelve years, the last four as regional manager. If you want to come through here, (opens the door to the main office) so we have the entire floor, so this is my kingdom, as far as the eye can see, ah this is our receptionist Pam. (goes to the recep tionist) Pam, Pam Pam! http tiny.cc/rosv dz Pam Beesly. Pam has been with us for' for ever, Lavc57.70.100 |
URLっぽいの(http ny.cc/rosvdz)があるのでアクセスしてみると、final.pngが手に入ります。
(ここまでは自力でいけました)
final.pngを開いて、よーーく目を凝らすと、変なデータが見つかります。(オレンジで囲ったところ)
いやー、これはわからんよな。。。
MacのPreview.appで拡大、選択、コピー、New from Clipboardをして、別ファイルとして保存します。
「青い空を見上げればいつもそこに白い猫」で開いて、ビット抽出前バイト列を確認します。
Flag: rooters{WHY_4R3_TH3_W4Y_TH4T_Y0U_4R3!}ctf
[Forensics]: Mind Awake Body Asleep!
Challenge
Everything visible has a flip side, like a coin.
Attachments:
- challenge.wav
Solution
challenge.wavを再生すると、誰かがモニャモニャ喋っていて、ほんとに眠たくなるファイルでした。
とりあえず、audacityでスペクトラムとか見てみましたが、何も見つからず。
こういうやつは、LSBをチェックするのがいいらしいです。
LSBを取り出すやつは、picoCTF 2018 の LoadSomeBits で以前書いたコードがあったので、それを流用しました。
いちおう、以下が以前書いたWriteupです。
https://captureamerica.github.io/writeups/post/picoctf_2018/
今後も使うことあるかもしれないので、ファイル名を引き数に取るようにしておきました。
|
|
出力がやたらと多いので、もうちょっと改良した方がいいかもだけど。
$ ./lsb.o challenge.wav | fold -120 | grep -i http -@@RMr. Robot is an American drama thriller television series created by Sam Esmail. http://tiny.cc/72nwdz##############
長い文字列が1行で出てくるので、foldで適当に区切って、その中で"http"やら"ctf"やらのキーワードになりそうなものをサーチする感じですかね。
見つかった http://tiny.cc/72nwdz にアクセスすると、newというテキストファイルが入手できます。
$ file new new: ASCII text, with very long lines, with no line terminators $ cat new | fold -32 | tail -n 4 ; echo 81c9a9001031b0000031b00000379584 0790000000457e3cec00000060800610 00003950000025448494d0000000a0a1 a0d074e40598
この末尾の文字列から、PNGヘッダ(89 50 4E 47 0D 0A 1A 0A)が思いつくかどうかと言われたら、普通思いつかないですよね。
問題文にあるflip
でそれに気づくかどうかかな。
リバースしてバイナリとして保存します。
$ python -c 'import binascii; open("output", "wb").write(binascii.unhexlify(open("new", "rb").read()[::-1]))' $ file output output: PNG image data, 1427 x 352, 8-bit/color RGBA, non-interlaced
Flag: rooters{pyth0n_is_aw3s0m3}ctf
Author CaptureAmerica @ CTF フラxxグゲット
LastMod 2019-10-20