実践CTF模擬訓練の準備

実践CTF模擬訓練の準備
CTFで出題された問題が
Hacker Japan のサイトに公開されたり
リンクが貼られているので
これと
Hacker Japan (ハッカー ジャパン) 2013年 03月号 [雑誌]
の掲載されている内容を参考に実践
hacker japan の過去問のリンクは
http://www.byakuya-shobo.co.jp/hj/backnumber.html

HackerJapan2013年3月号
Q1 謎 のファイルを解析する
Q2 バラバラ画像パズル
Q3 不 審な通信を見つけ出せ!
Q4 マウスポインターが勝手に動く謎
Q5 間 抜けな暗号解読
Q6 JPG 画像の秘密
Q7 見 えないファイルを探せ
Q8 USB デバイス通信を調査
Q9 プ ログラムに隠された文字
のところから行える
解析に使うのは
すでにダウンロード済みの
BT5R3 を使う
ものによっては、windows も使用する

CTF 攻略ツール

CTF 攻略ツール
掲載されていたので。メモがわりにかいてみた
とりあえず、これだけは知っておいたほうがいいということなので
まず、ネットワーク解析として
wireshark
これはパケット解析の定番ツール
一般的にはIPパケットの解析につかう
wireshark でUSBのキャプチャーデータ解析などもある
コマンドライン系なら
tshark
次に、プログラム解析として
IDA
これは逆アセンブラソフト
フリーでも使えるけど
製品版になると複数のアーキテクチャ対応になる
ただし、かなり高額
製品版の IDA pro は使えそうにないので
objdump コマンドで逆アセンブル
デバッガーによるトレースができるようにしたいところ
objdump コマンドは linux のコマンドで
オブジェクトファイルの情報を表すけど
逆アセンブルにも使える
ただし、普通にインストールした状態だと
ネイティブアーキテクチャしか対応しないとのこと
複数アーキテクチャ対応にするには
binutils を使うことになる
次に、windows系のものだけど
WinDbj
これは MicroSoft製の windows 用デバッグツール
windows バイナリのメモりダンプするときに必要
あと、windows で使える無料デバッガとしてOllyDebg
ゲーム解析、改造するときの定番ツール
次にバイナリエディタ
これはプログラム海席次に必須ソフト
Bz
Stirling
HxD
などいろいろ
そして、仮想マシン環境
VMware
VirtualBox が結構有名
これは私も結構使っている
IA32ならこれだけで十分だけど
これ以外のアーキテクチャの ARMとかMIPSになると
QEMU が必要
そして、プログラミング言語環境
これはexploit を書いたり
簡単なデータパーサーをかくのに必要
そもそも開発環境がないとプログラミングできないし
国内外のCTF解説によれば pythonが多いらしい
これである程度のスクリプトが書ける程度のスキルは必須
また、PHPもマスターして環境の構築も必要
python ,PHP を開始するには
ドットインストールで無料で学習できるので
未経験の場合は参考にするとわかりやすい
そして、web 関連
javascript 実行環境
Paros などのデバッグ環境を用意しておく
web ブラウザーで
chromeとか firefox でアドオンとか
デベロッパーツールなどが使えるとやりやすいかもしれない
そして、Linux 環境
とりあえず、CTF関連を行うなら
backtrack 5 や kalilinux などを使えるようにしておく
Linux 未経験の場合、ubuntu あたりを
vmware や virtualbox など仮想マシンで体験するとよいかも
サーバー構築関連を学ぶなら
最近では ubuntu が多いけど
centOS が結構情報が多い
Linux 関連の雑誌で
日経Linux とか Ubuntu Magazine とか見ると
わかりやすい
あと、Linux100%などで、どんなものか使ってみるという方法もある
Linux でファイルの素性を知るために
file コマンドを使ったり
文字列抽出のために strings コマンドを使うこともある
そして、チーム参戦になるので
情報共有システムもほしいところ
wiki レンタルサービスをつかうか
wikiシステム構築になるけど
システムを構築してしまったほうがいいと思う
wiki 関連のシステムは
pukiwiki とか mediawiki などで
ローカルに wiki 環境の構築が可能なので
興味があれば構築すると面白いかもしれない
また、リアルタイム情報交換にはIRCなどのシステム構築が必要
事前準備などの場合は
掲示板とかグループウェアなどもよいらしい
また、インターネット接続環境については
普通に外部アクセスする環境と
課題を解くために必要なもう1つのネット環境が必要になる
これはDEFCON予選問題の中に
NAPTでない環境からの接続を前提とした問題があったため
このため普通にルータ経由でNAPTで接続する環境
そしてグローバルIPが使える環境
が必要になりそう

CTF参考サイト(海外のがほとんど)

DEFCON CTF
http://ctftime.org/
でCTF開催予定、結果などがアーカイブされている
Hacker Japan (ハッカー ジャパン) 2013年 03月号 [雑誌]
をみて、今回興味深かったのは
CTFで戦うためにどんな準備が必要か
そして
何が必要なのかということがインタビューされていたこと
セキュリティカンファレンスが開かれているという
http://ja.avtokyo.org/projects
をみたけど、現在は
google グループ参加している人のみと言う状態のようだ
CTFはチームの最大人数はきまっているけど
最低人数はきまっていないので
1人で挑む事も可能
ただし、かなり苦戦すると思う
CTFに関係する勉強方法としては
受験や試験みたいに過去問による傾向と対策
そして
実践を通して学び、気づくことが重要とのこと
CTF TIME は twitter アカウントがあるので
フォローしてみると面白いかもしれない
今回 紹介されていたのは
ロシアチームのサイト
http://smokedchicken.org/
米CMUチームのPPPサイト
http://ppp.cylab.cmu.edu/wordpress/
オランダチームのサイト
http://eindbazen.net/
イギリスチームのサイト
http://0xbadf00d.co.uk/
shell-storm CTF repository
http://repo.shell-storm.org/repo/CTF/
CTF archive
http://captf.com/
CTF参加にあたり
英語とコミュニケーションスキルは必須で
英語ができれば海外チームとのコミュニケーションが取れるし
日本語化されていない技術情報へ
ダイレクトアクセスできるというメリットもある

日本国内で開催されているCTF

日本国内で開催されているCTF
Hacker Japan (ハッカー ジャパン) 2013年 03月号 [雑誌]
にてCTF特集があったので、しばらくはCTFの勉強
日本国内で開催されているCTFに限っても
セキュリティキャンプのCTF
SECCON
CTF-challenge
ksnctf
Flaggers
HackIT
といろいろ
CTFの問題の特徴としては
ツールに頼るだけではとけない
奇をてらった手法を使わずとける
複数分野を網羅する
問題作成者以外の人に何らかの形で解かれている
というもの
とくに、基礎として必要なものは参考になった
TCP/IP のパケットを読み解く場合でも
3ウェイハンドシェイクを知っておかないとダメだったり
wireshark でパケットデータを解析するには
解析結果からデータを正確に読み取れるようになったり
という基礎が必要になる
効率よくスキルアップするためには
CTF問題の解説サイトでいろいろ問題を解いていく
とよいようだ
読むだけでは覚えないので
仮想環境を構築し
実際にハンズオンでやってみたり
実験結果をブログに買いたりというようにすると
アウトプットもあり効率的に学習できる
ブログに書くのはちょっと…
というように公開するのは不安というなら
ローカル開発環境を構築し
そこにwordpress をインストール
そして
ここに日々の記録をつけていけば
世間に公開することなくスキルを上げることができる
また、基本的にCTFはチーム戦となるので
自分の得意分野を特化させるのも重要

セキュリティイベントCTF (Capture The Flag )

CTF (Capture The Flag )
とは
世界各地で開催されているセキュリティ技術を競うコンテストの総称になります
クイズ形式や模擬的な攻防戦などがあります
日本でも開催されています
http://www.seccon.jp/
また、セキュリティ関連だと
http://ja.avtokyo.org/projects
があり、
日本から DEFCON CTF へ出場、入賞することを目的としたプロジェクトもあります
また、韓国で
CODEGATE CTF という国際的なセキュリティカンファレンスが
2008年から開催されています
URLは
http://www.codegate.org/
となります
昨年から
CODEGATE CTF で優勝したチームには
アメリカで開催される
世界最高峰のCTF DEFCON CTF 本戦にでられるようになったようです
CODEGATE CTF で出題されたのは
・Vulnerab
リモート Exploit,Web関連
・Binary
バイナリ解析
・Network
ネットワーク解析
・Forensics
フォレンジック関連
Misc
トリビア系
というものだったようです