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が使える環境
が必要になりそう