SECCON CTF 2013 WriteUP
先日SECCON CTF 2013のオンライン予選に出ました。僕はネットワークの問題を中心にときました。
repeat after me 100点
解けなかった。くやちい。
pcap形式のファイルが与えられました。Weiresharkで開いてざーっと見るとFreeBSDにtelnetでログインして、lsとかコマンド叩いたのち、sshでubuntuのサーバに接続しているようでした。 そのubuntu上にflag.txtというファイルがあるようだったので、恐らくそれが答えだろうと想像がつきました。
telnetで通信をしているので平文でsshのパスワードもがんがんおくられていました。ただ、sshのパスワードを入力しているであろう部分で、\25や\27という制御文字も送信されていました。
こういうページやこういうページを参考に見てたら、\25はCtrl+Uで、\27はCtrl+Wで入力される制御文字コードだとわかったので、単語ごと削除だったり行頭まで削除をしてるんだなとわかりました。
わかりましたが、解けなかった。なぜ解けなかったし。ほんとくやちい。
Find the key 200点
解けた。
pcap形式のファイルがry
Wiresharkでひらいたらpingのパケットで埋まってました。ぼーっと見てると他のパケットに比べて容量が大きいパケットがいくつかあることに気づきました。あと、他のパケットはresponce toやresponce inという情報を持っているのに、その容量が大きいパケットは持ってなかった。このあたりが怪しいかなぁと思ってICMPがもってるデータを見るとhttpのヘッダっぽい文字列があった。具体的には
GET /kagi.png HTTP/1.1うんたらかんたら
icmpのデータ部にhttpのパケットが埋まっているのはわかったので、GETにたいするレスポンスとしてpngを送信してるパケット見つけ出してきりはりしておわり。
Hidden Message? 300点
解けた。
jpgがわたされたので、チームメンバに投げたら、なんかファイルの一番後ろにin-addr.arpaって文字列あるとか言われたからDNSの逆引きクエリなげるパケットでもうまってるかなと思ったら案の定そうでした。
首尾よくDNSパケットを手に入れたので、パケットの送信元と宛先にpingしたら宛先のほうだったかな、忘れたけど、生きてるっぽくて、nmapしたら53番あいてたからそこに向かってdigでなんとかかんとか.in-addr.arpaをANYつけてといあわせたらyou got a hidden message的なの返ってきた。
SECCON競馬 400点
解けなかった。
適当にパケットキャプチャしてたらWebsocketの通信に怪しい文字列があったかなぁ・・・って思ったけど眠かった
という感じでした。あんまり自信無かったけどまったく歯が立たないってことは無くて、過去問とか解いて鍛えたら結構できるようになるかもとか思った。