ISEC 2011 CTF Q9(lol.pcap) Writeup -追記あり
8/26〜8/27に行われた、ISEC 2011 CTFでのQ9(lol.pcap)のWriteupです。
※解いている途中で時間切れになってしまったので、答えがあっているか確実ではありません。
ただ、終了後のIRCの様子だとあっていると思うのですが・・
Q:9
Point:300find key!
Download:lol.pcap
以下に途中で出たヒントも書いています。
level 9 hint 1uppercase
It has space.
fileコマンド。
D:\CTF\ISEC_CTF2011\Q09>file lol.pcap
lol.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 65535)
素直にWiresharkで開く。
大量のUDP(ポート50012)だったので、UDPを使ったトンネリング(IPv6のTeredoなど)かメディア系の通信が
まず思い浮かんだのですが、最後の方にSIPもあり後者と推測。
ペイロードを眺めていても
・先頭2バイトが固定ぽい感じ
・3バイト目からの2バイトはシーケンス番号?
・なんか特徴的
・同じのいっぱい
・(メディア関係はほとんど分からない・・orz)
くらいしか分からず、ひとまず参考になりそうなpcapをネットで漁る。
最初に見ていたWireshark Wikiのサンプル のSIP_DTMF2.pcapのペイロードが酷似していたため、
試しに適当なポート50012のUDPパケットを選択し、右クリック -> Decode As... -> RTP -> Applyしてみる。
なんかRTPで当たってそう。
見た感じ音声なので抽出できないかと思い、backtrack内とGoogleでツールを探す。
tcpreplay+voipongで出来そう。
#参考 Example Scenarios
backtrack4R2に環境を移動。
#実際にはBT5でやっていたのですが、voipongが正常に動作するように設定を弄っている途中で
#時間切れになってしまったので、ここではconfのみの修正で動作したBT4R2を使います
まず、voipong.confを環境に合わせて修正。
root@bt:/pentest/voip/voipong# cat etc/voipong.conf
soxpath = /usr/local/bin/sox
device = em0
modpath = /usr/local/etc/voipong/modules
networksfile = /usr/local/etc/voipong/voipongnetssoxpath = /usr/bin/sox
device = eth0
modpath = /pentest/voip/voipong
networksfile = /pentest/voip/voipong/etc/voipongnets
voipongの起動。
root@bt:/pentest/voip/voipong# ./voipong -c etc/voipong.conf -d4 -f
tcpreplayでパケットをリプレイ。
root@bt:~# tcpreplay -i eth0 lol.pcap
voipongの表示が変わるまで少し待つ。
#rawファイルを抽出し、soxでwavファイルに変換中
確認。
root@bt:/pentest/voip/voipong# cd output/20110827/
root@bt:/pentest/voip/voipong/output/20110827# ls
session-enc8-PCMA-8KHz-192.168.0.100,50012-192.168.0.36,50012.raw
session-enc8-PCMA-8KHz-192.168.0.36,50012-192.168.0.100,50012.raw
session-enc8-PCMA-8KHz-192.168.0.36,50012-192.168.0.100,50012.wav
session-enc8-PCMA-8KHz-192.168.0.36,50012-192.168.0.100,50012.wavを再生すると
「TLS WITH SRTP」と言っていて、これが答えです。(多分)
終了後のIRCの引用ですが(無断ですが・・)、
21:19 (gamja) http://h4ckk.dothome.co.kr/Untitled1__e34a9f8bbc743bbd6b60c198e3e729d6.mp3 ????d? TLS WITH SRTP??? ?????? ???????
上記の方法で抽出した.wavに比べてずっとクリアなんですよね。
他の方法なのか、それとも.rawをsoxで変換する際のパラメータなのか・・
すごく気になるのでWriteupを期待!