Metasploit
![]() | |
| 作者 | Rapid7 LLC |
|---|---|
| 最新版 |
6.4.52
/ 2025年3月6日[1] |
| リポジトリ | |
| プログラミング 言語 | Ruby |
| 対応OS | クロスプラットフォーム |
| サポート状況 | 開発中 |
| 種別 | コンピュータセキュリティ |
| ライセンス | 修正BSDライセンス |
| 公式サイト | http://www.metasploit.com/ |
Metasploitは、コンピュータセキュリティに関するオープンソースのプロジェクトで、脆弱性、ペネトレーションテスト、侵入検知システム、シェルコードのアーカイブ、アンチフォレンジクス(コンピュータ・フォレンジクスによる解析への対抗技術)などを主な守備範囲としている。また、本プロジェクトのその成果ソフトウェアとしてよく知られるMetasploit Frameworkの省略名としてもしばしば用いられる[2]。本項では、Metasploit Frameworkを中心に説明する。
概要
[編集]Metasploit Framework(単にMetasploitと略記されることもある)は、exploitコードの作成や実行を行うためのフレームワークである。セキュリティ業界ではよく知られたツールであり、ペネトレーションテスト目的で使用可能な1DVDタイプのLinuxであるBackTrackに収録されている[3]ほか、ハッカージャパンなどのセキュリティ系書籍でも何度か取り上げられたことがある[4][5]。どの脆弱性を用いるか、攻撃成功時にどのようなペイロードを適用するか、ペイロードが侵入防止システムに検出されるのを妨害するためにどのようなエンコード技術を用いるか、ペイロードによってリモートシェルやVNCサーバーなどをどのポート番号で起動するかなどの、exploitを成立させる各種要素を選択肢から選んで組み合わせて実行するといったように、簡単な方法で攻撃実行可能となっている。また、初期のフレームワークはキャラクタユーザインタフェース(コマンドラインインタフェース/対話型コマンドラインインタフェース)であったが、後のバージョンおよび第三者によって、Webインターフェイス(但しバージョン3.3でサポート打ち切り)やGUIインターフェースなども作られている。
同ソフトウェアは、2003年にHD Mooreによって開発が始められた。初版リリース時点でサポートしていたexploitはわずか9つであったが、2011年1月時点の安定版リリースである3.5.1では635をサポートするまでになっている。バージョン3系列になるまではperlで開発されていたが、バージョン3系列へのメジャーバージョンアップの段階でRubyを用いて全面的に書き直されている。なお、Rubyで開発されたオープンソースソフトウェアとしては2011年3月時点で世界最大規模と言われている[2]。
同プロジェクトは2009年10月に、NeXposeの開発元であるRapid7に買収されており[6]、以後、同プロジェクトの運営はRapid7によって行われている。
Metasploitプロジェクトには、これ以外に商用アプリケーションであるMetasploit ExpressやMetasploit Proも存在する。 Metasploit Proにはフィッシングキャンペーン機能が追加されており、APT攻撃やランサムウェアに対する情報セキュリティ教育教材としても利用できる。
歴史
[編集]Metasploitは、2003年にH. D. MooreによってPerlを使った携帯可能なネットワークツールとして作られた。 2007年に、MetasploitのFrameworkはRubyで完全に書き直された。 2009年10月21日、Metasploitプロジェクトは、脆弱性管理ソリューションを提供するセキュリティ企業Rapid7に買収された[7]。 ImmunityのCanvasやCore Security TechnologiesのCore Impactのような商用製品と同様に、Metasploitはコンピュータシステムの脆弱性をテストしたり、リモートシステムへ侵入したりするために使用できる。 多くの情報セキュリティツールと同様、Metasploit は合法的な目的にも違法な目的にも使用できる。 Rapid7による買収後、Metasploit Frameworkには「Metasploit Pro」というプロプライエタリ版(オープンコアモデル)が追加された[8]。
Metasploit が事実上の脆弱性開発フレームワークとして台頭したこと[9]により、第三者の提供するMetasploit用エクスプロイトモジュールが脆弱性勧告と共に提供されることが増えた[10][11][12]。 Metasploit 3.0 では未知の脆弱性発見のためのファジングツールも導入され、既知のバグ用のエクスプロイトだけではなくなった。 この傾向は、2006年11月にlorconと呼ばれるハッキングツールがMetasploit 3.0に統合されたことで見られる。
フレームワーク
[編集]Metasploit を使ってシステムを攻撃(エクスプロイト)する際の基本的なステップは以下のとおり:
- 必要に応じて、対象のシステムが攻撃に対して脆弱かどうかを確認する
- エクスプロイト(脆弱性を突くコード)を選択・設定する。Windows、Unix/Linux、macOS用に約900種類のエクスプロイトが含まれる。
- ペイロード(リモートシェル、VNC サーバなど、侵入後に実行されるコード)を選択・設定する。Metasploitは、実行できるペイロードを提案してくれる。
- エンコードの方法を選ぶ。ペイロードからコードが「bad characters」として取り除かれて、エクスプロイトが失敗することを防ぐ。
- エクスプロイトを実行する。
この モジュール化されたアプローチ(任意のエクスプロイトと任意のペイロードを組み合わせる)こそが Metasploit の強みであり、攻撃者・エクスプロイト開発者・ペイロード開発者の作業量を減らすことができる。
Metasploitは Unix(Linux、macOS、SnelOSなど)、およびWindowsで動作し、複数言語で書かれたアドオンも利用できる。
エクスプロイトやペイロードを選ぶためには、OSのバージョンやサービスなどのターゲットの情報が必要で、これの情報はNmapのようなポートスキャン/フィンガープリンティングツールで収集できる。 Nessusや OpenVASといった脆弱性検査ツールも活用でき、Metasploit はそれらの結果をインポートして脆弱性に対応するエクスプロイトを抽出できる[13]。
インターフェース
[編集]Metasploit には複数のインターフェースがあり、最も一般的なのは Rapid7 と Strategic Cyber LLC によって提供されるものである[14]。
Metasploit Framework(オープンソース版)
[編集]Metasploit Framework は Metasploit プロジェクトが提供する自由に利用できるオープンソース版である。 脆弱性の評価とエクスプロイトの開発をすることができる。
主な機能:
- コマンドラインのインターフェース。エクスプロイトのモジュールを制御する。
- スキャンデータやエクスプロイトの結果を管理するためのデータベースを作成できる。
- Nmapなどの、外部のネットワークをスキャンするツールの結果をインポートする。
- 「db_nmap」によるスキャンの補助により、自動的なツールの実行とスキャン結果の統合、データベースの管理ができる。
- 1500以上のエクスプロイトを内蔵。スクリプトのカスタマイズや自動化もできる。
MetasploitはRubyで実装され、モジュール式の構造を採用している[15]。
Pro 版
[編集]2010年10月にRapid7は、ペネトレーションテストのツールとして、商用の「Metasploit Pro」を追加した。 Metasploit Express の機能に加えて、クイックスタートウィザード/MetaModules、ソーシャル・エンジニアリングを用いた攻撃の作成と管理、Webアプリケーションテスト、高度なProコンソール、アンチウイルス対策ソフト回避のための動的ペイロード、アドホック脆弱性スキャンのためのNexposeとの統合、VPNピボッティングなどの機能が搭載された。
ラピッドセブンの日本法人であるラピッドセブン・ジャパン株式会社は、Metasploit Frameworkの商用版であるMetasploit Proの日本市場向けの販売・サポートを行っている。また、ラピッドセブンのヘルプページ(英語) には、最新のサポート情報が記載されている。
exploit
[編集]攻撃対象として用意されているexploitの対象OSはWindowsが多いが、LinuxなどのUnix系OSも少なからず用意されている。
ペイロード
[編集]ペイロードには、リモートシェル以外に、ユーザーの追加、ファイルの送り込みや実行、メッセージボックスの表示、VNCサーバーの起動などのようなものが用意されている。また、リモートシェルの起動やVNCサーバーの起動のような、TCPコネクションを確立するものについては、コネクションの確立方法も複数の種類から選択できるようになっている。
脚注
[編集]- ^ “Metasploit releases”. 2025年3月11日閲覧。
- ^ a b ハッカージャパン2011年3月号. pp. p.44-73. JANコード 4910174990310
- ^ 例えば、BackTrack4 R2には、Metasploit Frameworkの3.5.1が収録されている。
- ^ “Metasploit Tutorial 2”. 2011年3月24日閲覧。 - 左記のサイトに記された情報は、ハッカージャパンの2010年5月号に投稿された情報でもある。
- ^ ハッカージャパンの2011年3月号にも特集として取り上げられている
- ^ “Rapid7 Acquires Metasploit” (2009年10月21日). 2011年3月25日閲覧。[リンク切れ]
- ^ “Rapid7 Press Release”. Rapid7. 2011年7月15日時点のオリジナルよりアーカイブ。2015年2月18日閲覧。
- ^ “Metasploit Editions: Network Pen Testing Tool” (英語). Rapid7. 2023年7月20日時点のオリジナルよりアーカイブ。2023年8月3日閲覧。
- ^ “Vulnerability exploitation tools – SecTools Top Network Security Tools”. 2011年10月17日時点のオリジナルよりアーカイブ。2015年2月18日閲覧。
- ^ Metasploit. “Metasploit”. www.exploit-db.com. 2017年1月16日時点のオリジナルよりアーカイブ。2017年1月14日閲覧。
- ^ “ACSSEC-2005-11-25-0x1 VMWare Workstation 5.5.0 <= build-18007 GSX Server Variants And Others”. (2005年12月20日). オリジナルの2007年1月7日時点におけるアーカイブ。
- ^ “Month of Kernel Bugs – Broadcom Wireless Driver Probe Response SSID Overflow”. (2006年11月11日). オリジナルの2013年1月3日時点におけるアーカイブ。
- ^ “Penetration Testing Tool, Metasploit, Free Download - Rapid7”. Rapid7. 2017年12月24日時点のオリジナルよりアーカイブ。2015年2月18日閲覧。
- ^ “Metasploit editions”. rapid7.com. rapid7. 2015年3月10日時点のオリジナルよりアーカイブ。2013年2月16日閲覧。
- ^ “Metasploit Product Editions”. Rapid7. 2025年3月19日閲覧。
関連項目
[編集]外部リンク
[編集]- The Metasploit Project - 公式サイト
- Rapid7 LLC - 開発者公式サイト
- Powerful payloads: The evolution of exploit frameworks, searchsecurity.com, 2005-10-20
- Chapter 12: Writing Exploits III from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals by James C. Foster (ISBN 1-59749-005-9). Written by Vincent Liu, chapter 12 explains how to use Metasploit to develop a buffer overflow exploit from scratch.
