セキュリティテスト

Metasploit めたすぷろいと

ペネトレーションテストエクスプロイト脆弱性診断ペイロードCVEセキュリティ監査
Metasploitについて教えて

簡単に言うとこんな感じ!

システムの「抜け穴」を実際に突いて試せる、セキュリティのプロ御用達ツールだよ!「うちのシステム、本当に安全?」を確かめるために、ハッカーと同じ手口を使って弱点を探せるんだ。悪用厳禁だけど、正しく使えば防御力アップに超役立つってこと!


Metasploitとは

Metasploit(メタスプロイト)は、システムやネットワークの脆弱性(セキュリティの穴)を実際に攻撃してみることで、本当に侵入可能かどうかを検証するためのペネトレーションテスト(侵入テスト)フレームワークです。2003年にHD Mooreが開発し、現在はRapid7社がオープンソース版「Metasploit Framework」と商用版「Metasploit Pro」を提供しています。

セキュリティ診断の現場では「脆弱性スキャナーが『穴がある』と言っているけど、実際に侵入できるのか?」を確かめたいニーズがあります。Metasploitはその「実際に試す」部分を担うツールで、数千種類のエクスプロイト(脆弱性を悪用する攻撃コード)を一元管理し、コマンド一つで実行できます。発注側・管理側の立場では「自社システムの診断にMetasploitを使った侵入テストを外部委託する」というシーンで名前が出ることが多いです。

ただし、Metasploitは攻撃者も使うツールです。許可なく他者のシステムに使用することは不正アクセス禁止法違反になります。あくまで「自社システムの健全性確認」や「セキュリティ担当者の学習」目的で使われるものだと理解しておきましょう。


Metasploitの構造と主なコンポーネント

Metasploitは複数のモジュールを組み合わせて動作します。レゴブロックのように「攻撃の仕方」「何を送り込むか」「どう隠れるか」を自由に組み合わせられる設計になっています。

モジュール役割
Exploit(エクスプロイト)脆弱性を突く攻撃コード本体MS17-010(EternalBlue)など
Payload(ペイロード)侵入後に実行する処理シェル起動・ファイル転送など
Auxiliary(補助)スキャン・情報収集ポートスキャン・バナー取得
Post(ポストエクスプロイト)侵入後の調査・横展開パスワードダンプ・権限昇格
Encoder(エンコーダ)ペイロードを難読化アンチウイルス回避
NOP攻撃の安定化調整バッファ埋め処理

覚え方:「エクスプロイト=鍵穴、ペイロード=入ってからやること」

鍵穴(エクスプロイト)で扉をこじ開け、中に入ってから何をするか(ペイロード)を決める、という2段構えで考えると整理しやすいです。

主要なインターフェース

  • msfconsole:コマンドライン操作の基本UI。プロが最もよく使う
  • Metasploit Pro:GUIとレポート機能付きの商用版
  • Armitage:Metasploit用GUIフロントエンド(サードパーティ製)

歴史と背景

  • 2003年:HD Mooreがオープンソースとして公開。当初はPerlで書かれた小さなツール
  • 2004年:Black Hat Conferenceで大きく注目を集める
  • 2007年Ruby言語に書き直し、モジュール設計に刷新。大幅に拡張性向上
  • 2009年:セキュリティ企業Rapid7がMetasploitプロジェクトを買収・支援開始
  • 2011年:商用版「Metasploit Pro」リリース。エンタープライズ向け機能追加
  • 2017年:NSAから流出した「EternalBlue」がMetasploitモジュール化。WannaCry攻撃と同じ手口をテスト可能に
  • 現在:エクスプロイト数2,000超。世界中のセキュリティ専門家・研究者が使う事実上の標準ツールに

ペネトレーションテストの流れとMetasploitの位置づけ

Metasploitは、ペネトレーションテスト全体の「攻撃実行フェーズ」を担当します。どのフェーズで何をするかを図解します。

ペネトレーションテストの流れとMetasploitの役割 ① 事前準備 スコープ定義 許可取得 ② 情報収集 ポートスキャン OS・サービス確認 ③ 脆弱性診断・攻撃 Exploit実行 Payload送込み ← Metasploitが主役 ④ 報告・改善 レポート作成 パッチ適用 Metasploitが提供する主な機能(③フェーズ詳細) Auxiliary 情報収集 スキャン バナー取得 Exploit 脆弱性を突く 攻撃コード実行 2000種類以上 Payload 侵入後の操作 シェル起動 Meterpreter Post 侵入後調査 権限昇格 横展開

Metasploit FrameworkとMetasploit Proの比較

比較項目Metasploit Framework(無償)Metasploit Pro(有償)
操作方法CUIのみ(msfconsole)GUI+CUI
レポート出力手動自動生成
対象ユーザーセキュリティエンジニア・研究者企業・監査チーム
サポートコミュニティRapid7サポート
ソーシャルエンジニアリング機能なしあり(フィッシング等)
価格無料年間ライセンス制

Metasploitと他のセキュリティツールとの関係

Metasploitは単体で使うより、他のツールと組み合わせて使うのが一般的です。

ツール役割Metasploitとの連携
Nmapポートスキャン・OS検出スキャン結果をMetasploitに取り込み
Nessus / OpenVAS脆弱性スキャナー発見した脆弱性をExploitで検証
Burp SuiteWebアプリ診断Web系はBurp、インフラ系はMetasploitと分担
Wiresharkパケット解析通信内容を補完確認
Kali Linuxセキュリティ特化OSMetasploit標準搭載のディストリビューション

関連用語

  • ペネトレーションテスト — 実際に攻撃を試みてシステムの堅牢性を確かめるテスト手法
  • 脆弱性 — システムやソフトウェアに存在するセキュリティ上の欠陥・弱点
  • CVE — 脆弱性に付与される共通識別番号(Common Vulnerabilities and Exposures)
  • エクスプロイト — 脆弱性を実際に悪用する攻撃コードや手法のこと
  • Kali Linux — ペネトレーションテスト向けツールを多数搭載したLinuxディストリビューション
  • ソーシャルエンジニアリング — 技術的手段ではなく人的心理を利用した情報窃取手法
  • バッファオーバーフロー — メモリ境界を超えるデータ書き込みを悪用する古典的な脆弱性攻撃手法
  • 不正アクセス禁止法 — 許可なく他者のコンピュータにアクセスすることを禁じる日本の法律