SECCON CTF Beginners 初参加したのでその記録と、使ってよかったツール、コマンドのメモ
SECCON CTF Beginners
前回の マイクリハッカソン に参加したメンバーと、SCCON 2019 Beginner に参加しました。
以下その概要と結果です。
チーム人数 3名:(うち自分含む2名初参加)
結果 666チーム中 200位ぐらい (上位1/3ぐらい)
解けた問題
- Web 2/5問
- Pwnable 0/4問
- Reversing 1/4問
- Crypto 1/4問
- Misc 2/4問
ほとんどWarmupレベルの問題しか解けてないという.. でも初参加で全く手が出ないという状況ではなかったので、良いレベル感だったかなと思いました。
Sliding Puzzleぐらいは解けばよかったかなと後から思いました(全部の問題みていない)
あったら便利だなと言うツール
WriteUpはwarmupレベルの問題しか解けなかったので、ここでは書きませんが、 もし次回参加するときの備忘の意味を兼ねて、調査で使用した/便利だったコマンドをメモしておきます。
インストール方法もググったら出てくると思うので、ここでは省略します。
nmap
おなじみポートスキャンコマンド。サーバのどこのポートが空いているかを教えてくれます。 CTFではとりあえずこれを打つということが多々ありました。
$ nmap 153.120.129.xxx Nmap scan report for 153.120.129.xxx Host is up (0.022s latency). Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 9100/tcp filtered jetdirect 10000/tcp open snet-sensor-mgmt 20000/tcp open dnp
cURL
HTTPリクエストを送ることができるコマンド。 リクエストヘッダやボディを事由に入れれるので、スクリプトを入れたPOSTなどで試行錯誤するときなど、 あらゆる箇所で使用されます。
binwalk
今回始めて知りました。 バイナリファイルを引数に与えてやれば、内部がどういうファイルなのかを判定してくれます。 画像と圧縮データなど、複数の要素が合成されてる場合でも見分けることができます。
$ binwalk e35860e49ca3fa367e456207ebc9ff2f_containers ~ DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 16 0x10 PNG image, 128 x 128, 8-bit/color RGBA, non-interlaced 107 0x6B Zlib compressed data, compressed 738 0x2E2 PNG image, 128 x 128, 8-bit/color RGBA, non-interlaced 829 0x33D Zlib compressed data, compressed
foremost
こちらも初めて知りました。 こちらもバイナリデータのデータ構造を元に、中身を判定してくれて、さらにこちらは抽出までやってくれます。 qiita.com
od
バイナリのダンプを表示してくれます。 私は以下のコマンドで16進ダンプを見ることが多かったです。
$ od -Ax -tx1z file.bin 000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 >.ELF............< 000010 03 00 3e 00 01 00 00 00 f0 4d 00 00 00 00 00 00 >..>......M......< 000020 40 00 00 00 00 00 00 00 60 dc 02 00 00 00 00 00 >@.......`.......< 000030 00 00 00 00 40 00 38 00 09 00 40 00 1c 00 1b 00 >....@.8...@.....< 000040 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00 >........@.......< ...
objdump
いろいろな使い方ができますが、今回はバイナリ実行ファイルを機械語に逆アセンブルして確認するために使いました。
$ objdump -S -d seccompare 400630: c6 45 d0 63 movb $0x63,-0x30(%rbp) 400634: c6 45 d1 74 movb $0x74,-0x2f(%rbp) 400638: c6 45 d2 66 movb $0x66,-0x2e(%rbp) 40063c: c6 45 d3 34 movb $0x34,-0x2d(%rbp) 400640: c6 45 d4 62 movb $0x62,-0x2c(%rbp) 400644: c6 45 d5 7b movb $0x7b,-0x2b(%rbp) ...
ここから先のバイナリを読むのに慣れておらず、これ以上の解析は苦戦しました.. もっとBinary力を身に着けないと、warmup以降の問題を解くのは難しいのかなぁと思いました。
Binary Hacks ―ハッカー秘伝のテクニック100選
- 作者: 高林哲,鵜飼文敏,佐藤祐介,浜地慎一郎,首藤一幸
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/11/14
- メディア: 単行本(ソフトカバー)
- 購入: 23人 クリック: 383回
- この商品を含むブログ (223件) を見る