2013年9月29日日曜日

tkbctf2 Writeup/Do it

Forensicsの200点問題

問題文
Find the suspected user. https://s3-ap-northeast-1.amazonaws.com/tkbctf2/doit.7z

7zipを解凍するとletsdoit-check.pcapっというファイルが出てきました。


とりあえずNetworkMinerに入れてみた。
しかし、時間がかかりそうだったのでこっちは放置して

バイナリエディタにつっこんで中身を見ることにしました。

ASCIIのところだけさーっと眺めていたら
profile/icon_tn#1379985277っという気になる文字列があったので

http://yoctfs.jp/res/ident-dtlwsz7jjmomapjjxiqu3gzjgi/profile/icon_tn#1379985277

このURLに飛んでみると
FLAG IS BADCAB1E と書かれたファイルがありこれが答えだった。


その後NetworkMinerの結果を見るとイメージのところに同じ画像がありました。


やはり目grep!!!


後で
http://yoctfs.jp/res/ident-dtlwsz7jjmomapjjxiqu3gzjgi/profile/icon_tn#1379985277
ここに飛んだら画像が変わっていてびっくりしました、、、

2013年9月23日月曜日

CSAW CTF Writeup/Impossible

Reversingの500点問題

ndsだったのでとりあえずDSのエミュレータを探しました。

DeSmuME っというものがあったのでこれを使いました。

とりあえず動くか実行してみた


シューティングゲームのようで、
赤い三角形が敵で自分は下にいる緑の三角形のようです。

クリックをすると弾を発射する見たいです
問題文にあるように 相手は9000以上HPがあるので普通にプレイしてもだめだと思ったので

このエミュレータのToolsの中にView Memoryというものがあったので、実際に動かしながらメモリを観察することにしました。


赤い枠で囲ってあるところが、相手に攻撃をすると変化していたので 
これが相手のHPだと思い、バイナリエディタで 40420Fを検索しました。



40420Fの値を000000に書き換えて再度実行すると、1発相手に攻撃が当たった後に画面が真っ暗になり メモリのHPがあった場所にkeyが書かれていました。

key is ou6UbzM8fgEjZQcRrcXKVN

感想
目grepは最強でした。

CSAW CTF Writeup/Guess Harder


Webの100点問題

http://128.238.66.215/ にアクセスすると以下のページにつながる

SQLインジェクションでもするのかなーっと思っていました。


とりあえずchromeのデベロッパーツールでいろいろと見ていたら、



cookieのところに admin=falseとあったのでこれをtrueに変えてみた。


Consoleに document.cookie="admin=true"; を入力し再度アクセスしたところkeyが出ました。


key{told_ya_you_wouldnt_guess_it}


2013年9月1日日曜日

ASIS CTF Writeup/Forensic_pcap

Points
102
Level
1
Solves
47


Description
Find the flag. file
pcapという1つのパケットファイル


パケットファイルだったのでWirresharkで見ることにした。

StatisticsタブのProtocolHierarchyを見る


Transmission Control ProtocolのDataとHypertext Transfer Protocolのところが気になっったのでFilterをかけてみた。

Filter:data and tcp and ip and eth and frame

中身を見ると
GET /files/f6fb802feded5924fff1749b11e44c9b HTTP/1.1
のようなものがいくつもあった。

とりあえずそのファイルを取り出せるだけ取り出してみた。

d33cf9e6230f3b8e5a0c91a0514ab476
e564f66f2cf3e974887ea85028a317c6
89799fdf064c77dad7923548140c18c5
f6fb802feded5924fff1749b11e44c9b
c68cc0718b8b85e62c8a671f7c81e80a
326f79adc7ee143dcbb4cb8891a92259
053dc897d3e154dd5ed27c46b738850d
2aa242d4dbcb9b6378229c514af79b05
7356949650ccadfe1fb3a80b0db683d1
5b6540cd89bbd12bf968e110b965a840
40f4d5abfcdb369eeb0ac072796b7f30
6afd1bbadfabc3da6f3b7265df75744f
57f18f111f47eb9f7b5cdf5bd45144b0
35639a4410f245791ce5d2945702c4dc
1e13be50f05092e2a4e79b321c8450d4
fe7fe85cb5a023310f251acc2993d62e
4b87fbafcd05a39da90d69943393f79d
189facdce68effbf99ab7263c8b87304
255029ecf7e1a35b368ed123e2955099

19個のファイルを取り出すことに成功。 並びは取り出した順番かな?
その中の1つ
d33cf9e6230f3b8e5a0c91a0514ab476だけ
’37 7a bc af 27 1c 00 03’ 7zipのヘッダーが付いていたので解凍してみる。

しかし、開かない。

ヒントを求めて strings をしてみた。
$strings pcap

眺めていたら Index of /filesの内容が書いてあるHTMLを発見

どうやら20個のファイルがあるらしい
しかし、何度探しても21eae902cf5b82c7b207e963a130856dが見つからなかった。

いったんあきらめて、スコアボードやらなんかいろいろと見ていたら、サイトのNewsのところに

Forensic pcap challenge update
2013-08-30 10:14
You can download the missing parts of pcap forensic challenge from here:

053dc897d3e154dd5ed27c46b738850d
21eae902cf5b82c7b207e963a130856d

ということで20個のファイルがそろった。

Index of / files を眺めていたら時間が秒のところだけ違うということに気がつき並び替えてみた。

一番始めに7zipのヘッダーがあったファイルがきて、
一番最後に1つだけファイルサイズが小さいやつがきたので、すべてのファイルを結合させようと思った。

結合させたファイルを解凍すると 開くことはできたが、パスワードがかかっていた。

パケットを見ていたときに、
Hi
hello
I need secret key
ok
secret key will be sent on 6 parts
secret key : part 1 is M)m5s6S
did you received part 1 of secret key?
yes please send part 2
part 2 of secret key is ^[>@#
I recieved part 2
ok. please send me the other parts too
part 3 of secret key is Q3+1
did you received part 3?
yes
are you ready to receive part 4?
yes, please send
part 4 is 0PD.
ok. i received part 4
Please send me part 5
ok
part 5 of secret key is KE#cy
I received part 5 
part 6 of secret key is PsvqH
ok. I received all parts of secret key.
Thanx
こんなやり取りがあったので

パスワードに M)m5s6S^[>@#Q3+10PD.KE#cyPsvqH これを入れたら解凍できた。


中にmilad_tower.tiffという画像ファイルがあり、flagが書いてあった。

ASIS_19f8c9dd916d8d73ba184227071debd4



ASIS CTF Writeup/Forensic_rm-rf

Points
75
Level
1
Solves
106


Description
We have received a usb flash backup. Which file the flag is in?
file
for-75.imgという1つのディスクイメージファイル

とりあえずstringsした後にgrepでASIS_を探してみた

$strings for-75.img | grep ASIS_
ASIS_logo_200.png
ASIS_b34c5b5b1b78cf9f352099aa35610ced!.D@
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png
ASIS_logo_200.png


これがflagだった
ASIS_b34c5b5b1b78cf9f352099aa35610ced


中を見ていたらflagが書いてあるpngも入っていました。


30点の問題より簡単な気がした

ASIS CTF Writeup/Forensic_spcap

Points
30
Level
1
Solves
99


Description
spcap = simple pcap
Find the flag. flag

spcapという1つのパケットファイル

パケットファイルだったのでWirresharkで見ることにした。

StatisticsタブのProtocolHierarchyを見る



Hypertext Transfer Protocolの中のMedia Typeが気になったのでそこを見ることにした。

httpでFilterを書けると GET /files/flag.jpg HTTP/1.1 というそれっぽいのがあったので
Follow TCP Streamをした後に画像を取り出した。


これがflagだった
ASIS_de67c0eafdd76d7b38f67f7a458a83a1

NetworkMinerを使ったほうがよかったかな。