RSS Feed  Twitter  
|
Articles - Security

ハッカージャパン 2010年05月号に寄稿した記事を編集・修正したものです。

Penetration Testing Framework~Metasploitとは?

 Metasploitは、侵入テストのフレームワーク(Penetration Testing Framework)で、Windows/OS X/Linux/BSDなどほとんどのプラットホームで動作させることができる。同様のフレームワークには、IngumaAttack Tool Kitなどが存在し、Webアプリケーション向けには、W3af(Web Application Exploit Framework)が、Webブラウザ向けには、BeEF(Browser Exploitation Framework)などがある。

ターゲットへexploitを実行できる

 Metasploitの大きな特徴は、ターゲットの脆弱性に対し、実際にexploitコードを実行可能な点であり、exploitはリモートおよびローカル、そしてWebサーバーを利用してWebブラウザに対しても実行させることができる。

 Metasploitで脆弱性を突くには、実行したいexploitモジュールおよびpayloadを選択してターゲットシステムに対して実行するだけだ。payloadとは、脆弱性が発見された際のコメント等で見かける「任意のコードが実行される危険性が…」の任意のコード(シェルコード)のことで、exploitコードが実行され、成功した際に実行される(例:バインドシェルやリバースシェルなど)。

 Metasploitのベーシックなテスト例は、exploitを実行し、成功したらターゲットをコマンドラインで操作可能にするというものだが、それ以外に、Nmapでのポートスキャン結果や、NessusやNmapのスキャン結果の出力(NeesusのNBEファイルやNmapのXMLアウトプット)をインポートして、複数のホストに対して、複数のexploitを自動的に実行するということもできる。

補助モジュールを利用して、ターゲットの調査や脆弱性スキャンも可能

 Metasploitでは、exploitモジュールだけでなく補助モジュールとして、様々なスキャナー(ターゲットの調査~脆弱性のスキャン)やDoSツール、Fuzzingなどが用意されており、これらを利用した調査、テストなども行うことが可能だ。

 また、Metasploitは、こうしたペネトレーションテストだけでなく、セキュリティツールやexploitコードの作成の補助なども目的としている。ただし、いずれも「プロフェッショナルセキュリティ技術者向け」という位置づけであり、お約束ではあるものの自身の管理するシステム、ネットワーク、または管理者の許可を受けてテストする場合などを除き、悪用することは厳禁である。

Metasploitのインターフェイスは複数ある

 ここでは、BackTrack4を用いて基本的な使用方法を解説していくが、Metasploitの実行は、BackTrack4のPenetrationメニューにある「Metasploit Exploitation Framework」の「Framework Version 3」から好みのインターフェイスを選択すればよい。

 Version 3のインターフェイスには、コンソールインターフェイス(Msfconsle)、コマンドラインインターフェイス(Msfcli)、グラフィカルインターフェイス(Msfgui)、そしてWebインターフェイス(Msfweb)の4つがある。

●BackTrack4のPenetrationメニューにある「Metasploit Exploitation Framework」の「Framework Version 3」からインターフェイスを選択して起動できる。

 metasploitインターフェイス選択