攻撃を受けるvictimクライアントと攻撃をするattackerクライアントの環境は以下の通り。プロセッサインストール済みです。n/a脆弱性のあるサードパーティソフトをインストールする続いて、victimクライアントに脆弱性のあるサードパーティソフトウェアをインストールする。Rapid7を使ってエクスプロイトを行う。Playerに存在するバッファーオーバーフローの脆弱性だ。脆弱性を突かれるとリモートから攻撃者がシステムを制御可能になる。2014年にはこの脆弱性を利用したゼロデイ攻撃が確認された。Playerのインストールをしよう。Player11.0.1.152をダウンロードする。flashplayer11_0r1_152_winax_32bit.msiを実行する。これでvictim環境が完成した。Console(MSFconsole)を使ってエクスプロイトを行う。MSFConsoleを使うときの基本的な流れは、MSFconsoleを起動するエクスプロイトモジュールを選択するエクスプロイトモジュールの変数を設定するペイロードモジュールを選択するペイロードモジュールの変数を設定するエクスプロイトを実行のようになる。注意点としては、2のエクスプロイトモジュールごとにエクスプロイト時に確保するメモリサイズが異なるため、メモリサイズに応じたペイロードモジュールを選択する必要があること。victimクライアントのエクスプロイト準備のためにattackerクライアントでMSFconsoleを起動してみる。msfconsoleMSFconsoleが起動したらまずエクスプロイトモジュールの確保するメモリサイズと、ペイロードのサイズを確認する。Byteのペイロード用のメモリ領域を確保することがわかる。http://blog.trendmicro.com/trendlabs-security-intelligence/analyzing-cve-2014-0515-the-recent-flash-zero-day/また、ペイロードモジュールの確認をする。Commandというペイロードを使う。commandエクスプロイトで確保する領域に対してペイロードの方が小さいのでこの2つのモジュールは組み合わせることができる。続いて、それぞれの変数を以下のように設定する。calc.exeエクスプロイト、ペイロードの設定確認をすると変数の値が設定した通りになっている。Automaticエクスプロイトしてみる実際にエクスプロイトして任意のコマンドを実行させる。SWF...エクスプロイトが成功しcalc.exeが実行され電卓が起動した!まとめ今回、ペネトレーションテストの学習のために、脆弱性のあるWindowsクライアント環境を用意してMetasploitを使ってエクスプロイトをした。Frameworkを使うだけで簡単にターゲットのシステムを掌握できることがわかった。現実はもっと複雑な環境や条件の下ペネトレーションテストは行われる。高度なペネトレーションを行うためにサーバ、ネットワークの知識はもちろん、バイナリ周りの体系的な知識も身に付けて行きたい。