TDUCTFに参加した話
3/29渋谷セルリアンタワーで行われたTDUCTFに参加してきましたconnpass.com
前回の学内向けCTFにも参加しましたが、今回はそれ以上の規模で行われていて主催のnomukenくんの頑張りがとっても伝わってきました
また会場のセルリアンタワーがとてもきれいで興奮していたのを覚えております
さてWriteUpについてなのですが...
私は今回問題をあまり解けていません
そのためこの記事はそういったものはほぼありませんのでご了承ください
今回の問題で一番印象深いのはバイナリ問題の'おきてる(?)'です
pcapファイルなのにWiresharkで開いてもFLAGにはたどり着けない、まさにジャンルを確認しなさいって問題でした
しかしまぁ、この問題相当考え込まれているなと思うわけですよ
常套手段のstringsコマンドをただ使うだけではFLAGにたどり着けません
FLAGは各三文字以下に断片化されていて、stringsコマンドの"4文字以上の文字列を出力"をうまく掻い潜っています
断片化されているのが気が付ければ
# strings -n 3 question.pcap
こんなコマンドで
あっさり解決するんですけどね(それでもまだ最後の数文字がはじかれている)
これをsubmitするにあたってバイナリを眺めることが必要不可欠となります
Windowsには優秀なバイナリエディタ'Stirling'がありますので、それを使ってバイナリを眺めるのもよいでしょう
でもなんというか、ただバイナリを眺めるのではなく...
可読性をもうちょっとあげられるような、そう置換など即時編集できるような手軽なアプリケーションがあれば...
そんな"我が同胞"におすすめのアプリケーションが
vim
このきじのほんだい
バイナリエディタとしてのvim
linuxのコマンドでxxdがあります
このコマンドはファイルを16進数表記にして表示させることができるのですが、
vimでもこのコマンドがあったりします
まずは見たいファイルを
# vim -b question.pcap
こんな感じでvimで開いて
:%!xxd
このコマンドを使えば
こんな感じで表示できます
もちろんアドレス部を編集すれば内容に反映されますし、アドレス検索も簡単に行えるのでバイナリエディタと同じように扱えます
このままだと「煩わしいピリオドね!」って感じでクッソ見辛いですね...
だったら大胆に置換しちゃいましょう!
:%s/[.]/ /g
見るだけだったらアドレス部もいらないのでビジュアル短形でアドレス部を範囲選択し消してあげればもっと見やすくなります
ここまでやったらあとはいらなそうな行をばっさばっさ切っていくだけなので、正規表現を用いてがしがし削っていきます
:v/\v[a-zA-Z0-9}{_]{3}/d ----- :v/xyz/d xyzを含まない行の削除 \v very magic(正規表現で使われる記号の有効化) -----
とっても見やすくなりました
やっぱりvimは最高やな!
というわけで今回はvimでこんなこともできるよっていう紹介でした
我が同胞に告ぐ!