Hatena::ブログ(Diary)

Dlog 隔離館 このページをアンテナに追加 RSSフィード

2014-01-26

SECCON CTF 2013 に参加した。

眠すぎて死にそうなので Writeup 書き殴り。

スコアは 2802、19位でした。


練習問題 [100]

答えは、「SECCON」です。

Flag: SECCON


Enjoy the Game [100] バイナリ

このゲームをクリアしたらパスワードが得られる。
you will get the password if you get a goal of the dungeon.

起動すると一人称視点の立体迷路が始まる。

ゴールに行けばいいんだろうけど、もしゴールに行けないような

ステージになってたらどうしよう・・と思ったけど、100点問題でそれはないか、と。

data ディレクトリの中にメタセコイアのファイルがあったので、

適当にメタセコイアをダウンロードしてファイルを編集。

ゴールマスと通常マスの2つがあったので、通常マスのサイズを0.1倍に変更して保存。

すると、ゲームを起動するとゴールが丸見えなんだなあ。遠くの道も丸見えなんだなあ。

(ネトゲでよくあるチートですめ。)

f:id:Dltn:20140126121414p:image:w360

結構遠い道のりでしたけど、手動でクリア。

ゴールマスにたどり着くと、MessageBox が出現。

Flag: 3D_dUnGEoN


ここはどこ? [100] フォレンジックス

ファイルだけ渡されるので、中身を見てみる。メールだ。

文字コード直すのめんどくさいのでIEにD&D。答えの様式が書いてある。

さらに添付ファイルがあるので、デコード。tiffファイル。動物園の写真。

GPS情報がひっついてるので、GoogleMapでポン。Taipei Zooだ!

Flag: Taipei Zoo


calculate it / 計算せよ [100] プログラミング

nc calculateit.quals.seccon.jp 45105

Hint1: 四則演算ではありません / It is not a four arithmetic operations.
Hint2: 計算例 81 9- 16 6- 4/ 15 X  3- 72 45  = 82
Hint3: G- G- G- G- G- G- G- G- G- G-  = 0
Hint4: X  X  X  X  X  X  X  X  X  XXX = 300

最初、四則演算かと思ってひたすら投げるも、全部間違いと怒られる。

ヒント3〜4を見て、ようやくボーリングだと気付く。

後は、Rubyでごりごりスクリプトを書いて解きました。時間かかりすぎた。

何が嫌らしいって、最後にトータルスコアを聞かれる!

追加実装して走らせたら、さらにハイスコアまで聞かれた!笑った。


コードは死ぬほど汚いので載せません:p

Flag: Bowling is very fun!!


削除されているファイルの名前は何ですか? [200] フォレンジックス

ファイル Filesystem003.bin の内容を確認し、次の設問に回答してください。 削除されているファイルの名前は何ですか?

あー、これは。苦手なタイプだ。きっと解けない。

そう思いながらもチャレンジしたら、解けました。やった。

NTFSの構造。0x16バイト目のビットを確認して、1が立っていなければ

削除されてるファイルらしい。適当にRubyでpry使って見てたら見つけた。

最初に何件か見つかるけど、それは空レコードっぽい。

a = File.open('/home/dolphin/seccon2013/Filesystem003.bin','rb')
while a.read(1024)[0x16].ord & 1 == 1
end

[147] pry(main)> while a.read(1024)[0x16].ord & 1 == 1
[147] pry(main)* end                                  
=> nil                
[148] pry(main)> a.pos
=> 17445888           
[149] pry(main)> a.pos.to_s(16)                                                                                                                                                              
=> "10a3400"  

Flag: SkyhookParser.exe


Find the key! [200] ネットワーク

この問題はきっと @clc_igu にゃんが書いてくれるに違いない。

(追記) 書いてくれました! → seccon2013 ctf オンライン予選 write up - Ruby_log


Hidden Message? [300] ネットワーク

JPG形式の画像ファイルが渡される。

末尾にこんな文字列が。

134.133.95.10.in-addr.arpa

どうやら、JPGファイルは途中からpcapファイルだったらしい。(thanks to @clc_igu)

パケットを眺めつつ。各IPへ疎通確認。133.242.55.252 だけ ping が通る。

nmap してみると、DNSが空いてる。よしゃ、問い合わせてみよう。

dolphin@bt:~/seccon2013$ nmap 133.242.55.252

Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2013-03-17 23:13 JST
Nmap scan report for 133.242.55.252
Host is up (0.035s latency).
Not shown: 997 closed ports
PORT   STATE    SERVICE
22/tcp open     ssh
25/tcp filtered smtp
53/tcp open     domain

さっきのJPG末尾にあったIPを問い合わせてみると、Flagゲット。

dolphin@bt:~/seccon2013$ dig -x 10.95.133.134 @133.242.55.252                                                                                                                                

; <<>> DiG 9.7.0-P1 <<>> -x 10.95.133.134 @133.242.55.252
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29823
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;134.133.95.10.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
134.133.95.10.in-addr.arpa. 3600 IN     PTR     You.G0t.a.H1dd3n.m3ss4g3.1n.Th15.DNS.

;; AUTHORITY SECTION:
10.in-addr.arpa.        3600    IN      NS      haruna.great.

;; Query time: 72 msec
;; SERVER: 133.242.55.252#53(133.242.55.252)
;; WHEN: Sun Mar 17 23:15:32 2013
;; MSG SIZE  rcvd: 120

Flag: You.G0t.a.H1dd3n.m3ss4g3.1n.Th15.DNS.


ログインパスワードを解明せよ [300] フォレンジックス

調査対象パソコンのユーザー名Forensicsのパスワードが不明な状態です。 システムの電源を落とす前に、win32ddにより、メモリ全体のイメージファイル(RAW形式)が取得されています。 このイメージファイルを解析し、ユーザー Forensics のWindowsへのログオンパスワードが何かを特定してください。

メモリをダンプした対象システムは Windows 7, x86(32bit)です。

あ、これも苦手なヤツだ。もうむり、あきらめよ・・

と思ったんですが、そいえばメモリのイメージをごそごそする何かがあった気がして。

ぐぐってみたら、ちゃんと解けました。やった。

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
forensics:1000:aad3b435b51404eeaad3b435b51404ee:98ffdb1b29e7c88954326cd4011141d8:::

抽出したハッシュがなかなか処理できなかったけど、ここのサイトでなんとか。

Johnがなんかうまく動かなかった。。

Flag: Kani3


Enter 8-char password to the interpreter [400] バイナリ

リバースエンジニアリングを行うかヒントを元にパスワードを入力し、秘密の鍵を取得せよ。

なんとなく cat したらヒントが書いてあった。

(なんで cat したのか未だに分からない。)

ヒント 1: パスワードはかつて存在したゲーム企業のキャッチコピーの一部。 ( HINT 1: The password is a part of promo words which former Japanese game company used. 

IDAとかで開いた感じ、リバースはめんどくさそう。。

なんとかならないかなーと思って、いくつか関連しそうな企業をぐぐって確認。

ハッカーインターナショナルは、名前がそれっぽいけどキャッチコピーが見当たらず。

たまたま「かつて存在したゲーム企業 キャッチコピー」でぐぐったら

コンパイルが2件目に出る。「の〜みそコネコネ コンパイル」がキャッチコピー。

8文字にしては長いし、どうしよう。と思って、「konekone」って入れたら

パスワードが出てきてクソワロwwwwwwww

・・・ごめんなさいごめんなさい(◞‸◟;)

Flag: pUyOPuyO


古典暗号ちゃれんじ★ [500] 暗号

telnet 133.242.50.48 65437 で問題サーバに接続して、 5個のシーザー暗号と、5個の換字式暗号と、 単語区切りのスペースが消されたシーザー暗号と換字式暗号、 計12個を、それぞれ10秒以内に解いてください。

答えは、平文の「a」が、暗号文だと何になるかで答えてください。

フラグが3つあります。

10問目まで解けた時点で350点。11問目までで+50点。 12問目まですべて解けると、+100点で、計500点が得られます。

最初は手動でツール使いながら解いてたんだけど、時間制限的にむつかしい。

なので、ツールで解いてくれるツールを作った。悪い子だ。

以下のサービスを利用。スペースが除去されててもさっくりと解読してくれる。

Flag1: Et tu, Brute?!!!

Flag2: Kanji? Kaeji??

Flag3: you are cryptogram solver!!

順番にフラッグを入れないと得点されないとかあったら嫌なので、フラッグは順番に入れた。


箱庭XSS Final [500] ウェブ

ひたすらXSSする!16回XSSする!

しかも、一度出てきたキーワードは使えない。ひぃぃ。

XSSとか全然知らないので、記号プログラミングとイベントを参考に解きました。

"><iframe/**/onkeydown="(0)['c'+'o'+'n'+'s'+'t'+'r'+'u'+'c'+'t'+'o'+'r']['c'+'o'+'n'+'s'+'t'+'r'+'u'+'c'+'t'+'o'+'r']('a'+'l'+'e'+'r'+'t(S'+'t'+'r'+'i'+'n'+'g.f'+'r'+'o'+'m'+'C'+'h'+'a'+'r'+'C'+'o'+'d'+'e(3688-3600)+S'+'t'+'r'+'i'+'n'+'g.f'+'r'+'o'+'m'+'C'+'h'+'a'+'r'+'C'+'o'+'d'+'e(3683-3600)+S'+'t'+'r'+'i'+'n'+'g.f'+'r'+'o'+'m'+'C'+'h'+'a'+'r'+'C'+'o'+'d'+'e(3683-3600))')()">ぐえへへ</iframe><" 

石投げないでください(◞‸◟)

イベント名がだんだん使えなくなって最後苦しかった。もっとスマートに解きたい。


8問目正解するともらえるフラッグ

Stage8までをクリアしたご褒美
--------------------------------------------------------------------------------
スコアサーバに「折り返し地点まで来たよ!!」と送信してください。
途中点がもらえます。submit underlined part as (halfway-)flag.

全問正解するともらえるフラッグ

おめでとうございます! 見事に全問正解です。

スコアサーバに「アイ・アム・アラート出したいマン!」と送信してください。
submit underlined part as flag.


Crossword Puzzle [300] その他 (追記)

こちらのWriteupを見て、クロスワードパズルの各項目の答え自体は

あってると思われるので、ここに置いておきます。

著名人特集っぽかったので、フラッグも著名人かなと決めつけたのが

敗因だったかな、という感じがする。。(あと、kanntai にやたらと引っ張られてた。)

f:id:Dltn:20140126222038p:image:w360


まとめ

楽しかったー!!!!!

久しぶりのCTFだったので、ほんっと楽しかった。

IRCは、海外のCTFと違ってゆったり?とした雰囲気。

問題も良いのがたくさん揃ってて、すんごく面白かった。

クロスワードは、ほとんど埋まったのにフラッグが全く分からず!

QRコードは、何故か仕様書を読んでそれに沿ってデコードしようとしても

ぜんぜんできなかったのが心残り。くそー。超悔しい。10時間ぐらいかけたのに。

f:id:Dltn:20140126121415p:image:medium

本戦に進む方たちは頑張ってー!

寝る!!!

Dragon_123Dragon_123 2014/12/11 16:40 Didn't understand this concept at all...

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証